Flexible Service Composition Adam Barker School of Informatics University of Edinburgh Robert G. Mann Institute for Astronomy University of Edinburgh.

Slides:



Advertisements
Similar presentations
E-Commerce Based Agents over P2P Network Arbab Abdul Waheed MSc in Smart Systems Student # Nov 23, 2008 Artificial Intelligence Zhibing Zhang.
Advertisements

Abstraction Layers Why do we need them? –Protection against change Where in the hourglass do we put them? –Computer Scientist perspective Expose low-level.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Welcome to Middleware Joseph Amrithraj
Web Service Composition Prepared by Robert Ma February 5, 2007.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Distributed components
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Learner Modelling in a Multi-Agent System through Web Services Katerina Kabassi, Maria Virvou Department of Informatics, University of Piraeus.
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Introduction To System Analysis and Design
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
NAVEEN AGENT BASED SOFTWARE DEVELOPMENT. WHAT IS AN AGENT? A computer system capable of flexible, autonomous (problem-solving) action, situated in dynamic,
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Rob Smith April 21, /18 GOLD Project Update Meeting GOLD an infrastructural approach to virtual organisations.
ICCS WSES BOF Discussion. Possible Topics Scientific workflows and Grid infrastructure Utilization of computing resources in scientific workflows; Virtual.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
1 Centre for Intelligent Systems and their Applications Division of Informatics, University of Edinburgh Draft for AKT July Workshop Jessica Chen-Burger.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
An Evolutional Cooperative Computation Based on Adaptation to Environment Naoyasu UBAYASHI and Tetsuo TAMAI Graduate School of Arts and Sciences University.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Enterprise Architectures
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
WEB SERVICES.
Unit – 5 JAVA Web Services
Software Design and Architecture
CHAPTER 3 Architectures for Distributed Systems
University of Technology
#01 Client/Server Computing
Distributed System Concepts and Architectures
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Service-centric Software Engineering 1
Inventory of Distributed Computing Concepts
The Anatomy and The Physiology of the Grid
Distributed Systems Architectures
#01 Client/Server Computing
Presentation transcript:

Flexible Service Composition Adam Barker School of Informatics University of Edinburgh Robert G. Mann Institute for Astronomy University of Edinburgh

Introduction Service Oriented Architectures –Distributed computing platform targeted at the web –Define a standard way to perform program to program interaction –Can tie together any OS, application, data store, programming language, device etc. –Defined using: XML, SOAP, WSDL etc. A Service Oriented World –Wide spread adoption and interest in simple, vanilla web service standards –This standardised architecture is unlikely to change in the forcible future Technologies need to fit around and consume these existing standards

Scientific Workflow Most workflow engines focus on Business Process Modelling A Scientific Workflow captures a series of analytical steps which describe a computational experiment –In order to verify a hypothesis etc. Scientific Workflow has an extra set of requirements: –Rapid prototyping of experiments –User Interaction with the scientist –Reliability and Fault Tolerant execution –Transparent access to resources –Repeatability, Smart re-runs and parameterisation –Provenance information, presentation of the results –Control Flow vs. Data Flow

Motivation Few languages which deal with the flexible, knowledge acquisition and discovery processes found in the sciences – myGrid, Kepler, ICENI frameworks allow statically defined, pre-designed/pre-planned workflows to be executed by a centralised workflow engine The following science use-case serves as a counter example of coordination which is difficult to achieve by existing systems –Large Synoptic Survey Telescope (LSST) –Time-Domain astronomy

Science Use Case Background Current observatories are able to look very deeply at very small sections of sky, not likely to catch transient events: –Observatories always looking somewhere else –Small field of vision means that an impractically large number of separate observations are required to map the entire night sky –Observing facilities are scarce Observations of change in the universe are difficult to obtain

Science Use Case Background Automated Classification –For known classes of object –LSST is a first attempt at time-domain astronomy Likely to discover new (previously undetected) classes of object –Always data which the automated stage cannot classify Typically most of these will be junk, however this may only be revealed by comparisons with other detections made on the same night

Science Use Case

WorkFlow Requirements Complex coordination behaviour –Data is inherently distributed –Resources are scarce Requires selection and negotiation –Large quantities of data Requires Autonomous, Intelligent software Human in the loop only when needed, e.g. specialist –Workflow specification cannot be fully predicted at design-time Difficult to classify data type or quantity in advance Component choice, e.g. web service, database etc. –(semi) Flexible, Dynamic, runtime composition In a decentralised, peer-to-peer environment

A convergence of Interests

Workflow based on Interaction Protocols Interaction Protocols –Collection of conventions that allow cooperation between agents in an open MultiAgent System –A recipe for communication –Defines if and when agents communicate –Order and kind of messages relating to a certain domain Multi Agent Service Composition (MASC) –Agent-Based Workflow language and framework based on Interaction Protocols –Decentralised, peer-to-peer architecture –Aimed at Scientific Workflow composition In order to solve the motivating science use-case –Discuss the language and framework in the following slides

MASC: Scenes Scene –Bounded space in which a group of agents interact on a single shared task –Divide a large, complex protocol into manageable chunks –Scenes cannot begin execution until all agents have reference to the protocol S := scene (id s, {ip}, {op}, {R}, {A}) ip := inport (id s :id pin, T) op := outport (id s :id pout,T )

MASC: Roles Role –A role type allows an engineer to specify a pattern of behaviour which an agent can adopt Many agents can adopt the same role type Roles are defined as a set of methods {M} –Methods are constructed from operations and actions A := agent (id a, id r, Φ (k) ) R := {id r, config (k), {M}} M := method id m (Φ (k) ) = op Φ:= v:T, _, c:T T:= XML Data Types

MASC: Operation Set op:= action | op 1 then op 2 | op 1 or op 2 | op 1 par op 2 | waitfor op 1 timeout op 2 | invoke id m (Φ (k) )

MASC: Action Set action := empty (empty) | p(Φ (k) ) agent ( id a, id r ) (send) | p(Φ (k) ) multicast (id r ) (multicast) | p(Φ (k) ) user () (user send) | p(Φ (k) ) agent (id a, id r ) (receive) | p(Φ (k) ) user () (user receive) | Φ (k) = portread (id pin ) (port read) | portwrite (id pout, Φ (k) ) (port write) | Φ (k) = p(Φ (l) ) fault Φ (m) (decision) | Φ (k) = service (ws, Φ (l) ) fault Φ (m) (service)

MASC: Decision Procedures Decision Procedures –Connect the protocol code (describing the interaction model) to an agents internal reasoning model –Each agent interacting within a scene references a set of decision procedures Implemented as a set of methods inside a reasoning web service Throughout protocol execution agents can invoke methods on its reasoning web service Does not sacrifice the autonomy of the agent Each agent can subscribe to their own reasoning model (BDI etc.) Up to the agent engineer to specify these methods Allowing a personalised strategy within the interaction protocol

MASC: Service Enactment External Web Services –Agents consume external web services, acting as a proxy to their execution Extra level of abstraction –Allows agents to consume the passive Service Oriented Architecture found in Internet and Grid Systems –Can be hard coded in the interaction protocol or determined at runtime e.g. from a broker or message exchange

MASC: Execution

MASC: Dataflow P := protocol (id p,{S}, link (L) * ) L := source sink + source/sink: –Web Service –Application –User interaction –File reading/writing High level experiment composition

MASC: Layers of Abstraction

The MASC Framework Implementation: –Full Java implementation Built using the Sun Java Web Services Development Pack (JWSDP) 2.0 –Agents can be executed locally: as a closely coupled system or as distributed processes –SOAP messaging –XML Language specification – Application –Requirements based on Real Science use cases –Applied to the UK e-Science project, AstroGrid

Advantages Standard MAS Arguments –Inherently a Distributed Peer-to-Peer System No centralised server No central point of failure Allows engineering in an open environment Interactions that are too complex, or simply cannot be specified at design-time –Agents act as a proxy to the services which are being coordinated, extra level of abstraction –Reactive agents, runtime decision and coordination

Advantages Inter-operability –Infrastructure independent: Interaction model always remains a layer above any specific middleware or OS –The web services being invoked require no modification before taking part in the interaction –Low engineering requirement Layer of s/w to translate protocol steps Reasoning Models –Protocols do not sacrifice the autonomy of the agents –Each agent can subscribe to their own reasoning model

Conclusions Internet and Grid Systems are filled with passive objects (services) Agency paradigm offers a way of programming autonomous, social and active components which consume this SOA Language provides a way of applying the principles and well understood concepts of agency to the web service composition problem Framework fits in with existing standards AstroGrid provides a live science test bed

Questions Thanks for listening