A Formal Model for Web-Service Composition

Similar documents
Combining Timing, Localities and Migration in a Process Calculus

Experiences with OWL-S, Directions for Service Composition:

MASSiVE, Unità di Torino

A Compositional Semantic Theory for Service Composition

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Applying Reo to Service Coordination in Long-Running Business Transactions

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

Managing test suites for services

Petri-net-based Workflow Management Software

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May

Web Services Choreography and Process Algebra

On the Expressiveness of Polyadicity in Higher-Order Process Calculi

Formal Modeling of BPEL Workflows Including Fault and Compensation Handling

INTRODUCTION Background of the Problem Statement of the Problem Objectives of the Study Significance of the Study...

Formal Model of Web Service Composition: An Actor-Based Approach to Unifying Orchestration and Choreography

A declarative meta modeling approach to define process migration constraints

Business Process Modelling & Semantic Web Services

Interactions, transactions, and an emergent web of models

INCONSISTENT DATABASES

Modelling (and Analyzing) Interorganizational Communication. Jan Martijn van der Werf

1 Executive Overview The Benefits and Objectives of BPDM

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s

Enabling Flexibility in Process-Aware

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations

Orchestration vs Choreography

A Technical Comparison of XPDL, BPML and BPEL4WS

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

Xcerpt and XChange: Deductive Languages for Data Retrieval and Evolution on the Web

Cover Page. The handle holds various files of this Leiden University dissertation

Semantic Web Services and Cloud Platforms

Semantics of ARIS Model

UniLFS: A Unifying Logical Framework for Service Modeling and Contracting

Monitoring Choreographed Services

Architecture as coordination: the Orc perspective

May 31, 2011 Semantic Technologies For Business Process Management

Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services

An Algebraic Framework for Optimizing Parallel Programs

Static vs Dynamic SAGAs

WS-CDL. Università degli Studi di Milano. Service Oriented Architectures. Ernesto Damiani

An Overview on Protocol Adaptors for Service Component Integration

ASL: Hierarchy, Composition, Heterogeneity, and Multi-Granularity in Concurrent Object-Oriented Programming. Abstract

Service Oriented Architectures Visions Concepts Reality

Substitution in Structural Operational Semantics and value-passing process calculi

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

3.4 Data-Centric workflow

Web Services Annotation and Reasoning

Open Research Online The Open University s repository of research publications and other research outputs

Modeling Dependencies for Cascading Selective Undo

Contents. Chapter 1 SPECIFYING SYNTAX 1

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

The Open Group SOA Ontology Technical Standard. Clive Hatton

COMP3151/9151 Foundations of Concurrency Lecture 8

Heterogeneous Workflows in Scientific Workflow Systems

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

Business Process Management Seminar 2007/ Oktober 2007

Consolidation of Interacting BPEL Process Models with Fault Handlers

Equations for Asynchronous Message Passing

Idioms for Interaction: Functional Types, Process Types and Distributed Systems

Fiona A Tool to Analyze Interacting Open Nets

Modeling Dependencies for Cascading Selective Undo

Workflow : Patterns and Specifications

Complex Systems Design &DistributedCalculusandCoordination

Towards a formal model of object-oriented hyperslices

Distributed Information System as a System of Asynchronous Concurrent Processes

A FAMILY OF RESOURCE-BOUND REAL- TIME PROCESS ALGEBRAS

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Distributed Systems Programming (F21DS1) Formal Verification

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) APPLYING SEMANTIC WEB SERVICES. Sidi-Bel-Abbes University, Algeria)

Uppaal can be used to model check Orc models. The approach is demonstrated through a small case study. In [7], the authors deal with the compatibility

Wang Jian, He Keqing, SKLSE, Wuhan University, China

Specifications Part 1

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson

A Comparative Introduction to CSP, CCS and LOTOS

Decentralization of BPEL Using Various Processes.

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

TOWARDS AUTOMATED VERIFICATION OF WEB SERVICES

Toward a Standard Rule Language for Semantic Integration of the DoD Enterprise

Towards Choreography Transactions

2.4 Structuring programs

Ranking-Based Suggestion Algorithms for Semantic Web Service Composition

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Deep Integration of Scripting Languages and Semantic Web Technologies

CA441 BPM - Modelling Workflow with Petri Nets. Modelling Workflow with Petri Nets. Workflow Management Issues. Workflow. Process.

BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming

A BPEL Engine and Editor for the.net framework

WSMO Working Draft 04 October 2004

Rule Formats for Nominal Modal Transition Systems

Dierencegraph - A ProM Plugin for Calculating and Visualizing Dierences between Processes

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Modeling Choreographies: BPMN 2.0 versus BPEL-based Approaches

A Compensating Transaction Example in Twelve Notations

Integrating SysML and OWL

X-KIF New Knowledge Modeling Language

A Formal Definition of RESTful Semantic Web Services. Antonio Garrote Hernández María N. Moreno García

Towards data-flow oriented workflow systems

APPLYING SEMANTIC WEB SERVICES TO ENTERPRISE WEB

A Calculus for Orchestration of Web Services

Transcription:

Simon Foster <S.Foster@dcs.shef.ac.uk> Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006

Outline 1 Composing Web-Services Current Technologies 2 3 4

Outline Composing Web-Services Current Technologies 1 Composing Web-Services Current Technologies 2 3 4

Service Composition Composing Web-Services Current Technologies A Web-Service is in reality not a service, as a service is temporal, but rather a service provider using the Web as a vehicle. The web-service delivers a service. Can be thought of as an application with a web-based API. Web-Services provide domain specific functionality - in order to provide useful applications we will often need to employ the services of multiple parties. The vision is that services could be automatically composed to fulfil any conceivable requirement the user could have. For example I need to stay in Paris for 3 nights, could you book me travel and accommodation with such and such a requirements.

Service Composition (cont.) Composing Web-Services Current Technologies Currently such a query would require browsing several web-sites finding information. It would be better if it could be automated. Thus so called Semantic Web-Services are emerging which describe themselves with meta-data, allowing other parties to see if they fulfil a particular need they have. First we need to establish suitable languages for service description which can make automatic composition possible. We need to define methods of service interaction which will allow us to build Composite Web-Services. The two complementary notions for defining how a composite web-service interacts are orchestration and choreography.

Components of Services Composing Web-Services Current Technologies Orchestration is a bottom-up, imperative view of a service. It defines which services need invoking to achieve the composite service s goal and in what order. Workflow patterns are frequently, though not always, used. By contrast Choreography is a top-down, declarative view of a service. It defines an agreed method by which parties can communicate and the goal achieved. From the point of view of a service, can either be the choreography of another service which we use, or our own choreography. May be some sort of state machine model.

A Composite Web-Service Composing Web-Services Current Technologies

What are the key features? Composing Web-Services Current Technologies WS-BPEL provides important features like compensable transactions, but has a questionable theoretical background. OWL-S, one of the first Semantic Web-Services languages provides a formal orchestration model, with a sensible subset of core features (workflow oriented), but no choreography. The Web Service Modelling Ontology [D. Roman et al., 2005] (WSMO), the most active emerging SWS standard demands both a choreography and an orchestration. We need to provide a composition language with both choreography and orchestration which can be given a compositional operational semantics.

Outline 1 Composing Web-Services Current Technologies 2 3 4

The Cashew Project http://kmi.open.ac.uk/technologies/cashew Started in 2004 as a Masters project with the aim of giving a formal semantics to web-service composition. Continuing as a collaborative effort between Sheffield and KMi. Models Web-Services as process algebraic agents. Main achievement so far is an orchestration language with a compositional operational semantics. Aim is to give a complete composition language with core BPM features.

The Cashew-S language A language for expressing how services are orchestrated. Primarily based on OWL-S, but with a more general model of data-flow where processes explicitly declare where their inputs are going and outputs are coming from. Designed with composability and the ability to give it a formal semantics in mind.

Cashew-S - Key Features Processes which can be either Atomic - abstraction of web-service calls. Composite - composition of instantiated processes via workflow patterns. Performances, instantiated processes from which composite processes are made. Allow constant data and functions to be applied to inputs. Consumers and Producers, which connect inputs and outputs from a composite process to the inputs and outputs of the aggregate performances.

Sequential Composition Example CProcess Sequence Input Output a Consumer p 1 a n1 0 c n1 d n1 n 2 a n2 0 c P roducer Const Data c n2 p 2 a n3 1 a n3 2 Func p 3

Introducing Cashew-Nuts We give this language a semantics using Cashew-Nuts [Norton, Foster and Hughes, 2005]. A timed process calculus based on CCS and descended from Hennessy s Temporal Process Language (TPL), and direct descendant of the Calculus of Synchrony and Encapsulation [Norton, Lüttgen and Mendler, 2003] (CaSE). Uses abstract clocks to facilitate multi-party synchronisation - if all composed processes do not prevent a clock from ticking it will do so.

Cashew-Nuts (cont.) Originally stood for the Calculus of Synchronous Hierarchies Extended with Non-deterministic and Untimed Synchronisations Clock ticking can be held up either by explicit prevention or via the presence of silent actions (maximal progress). Clocks can either tick black (respecting maximal progress), or tick red (forgoing maximal progress). Equivalence theory based on temporal observation congruence (CCS s observation congruence with time adaptation).

Cashew-Nuts - Partial Syntax Definition E ::= 0 σ α.e E σ(e) E σ(e) E + E E E E[a b] E \ a E/σ E /σ µx.e X (a is a non-silent action, α is any action, σ is a clock) Timeout, behave like LHS if it can act, otherwise tick σ and behave like RHS. operator prevents clock(s) from ticking. Summation with an action prefix causes insistence (Represented by underlining viz. a.p). Clock Hiding - ticks become silent actions, allows hierarchy. Former version filters red ticks.

Cashew-Nuts for orchestration semantics Cashew-Nuts handles control and data flow in Cashew-S compositionally. Workflow patterns compositional through temporal observation congruence. Mobility is not required, as is generally not relevant for workflow [van der Aalst, 2005]. Maximal progress overriding is motivated by processes which have completed (i.e. the remaining workflow can continue) when all parts have been scheduled, but still have internal activity remaining (e.g. Split). May also be required for exceptions and compensable transactions.

Cashew-Nuts Broadcast σ cn c σ cn σ m c n µx.c σ c n.µy. c n.y σ cn (X ) Broadcast allows data to be sent to everyone who requires it, terminating afterward.

Cashew-Nuts Composition Semantics Performances and processes have the following execution cycle: They fulfill their pre-conditions (such as waiting for inputs to become available etc.). Signal readiness via channel r. Wait for permission to execute from their environment via channel e. Perform their internal activity. The clock σ ticks to indicate overall completion (being no longer held up by maximal progress). Each performance is assigned and composed with a scheduler which dictates when it can run.

Semantics for Sequence scheduler Base Case µx.r i.r.e.e i {σ m,σ n }.σ n σ m t.σm σ n.x σm (X ) Inductive Case µx.t i σ n.r i.e i {σ m,σ n }.σ n σ m t.σm σ n.x σm (X ) r/e - readiness/permission to execute t - the token (owned by the performance currently executing) σ n signals completion of each component σ m signals completion of the whole process

Sequential Composition Example CProcess Sequence Input Output a Consumer p 1 a n1 0 c n1 d n1 n 2 a n2 0 c P roducer Const Data c n2 p 2 a n3 1 a n3 2 Func p 3

Sequential Composition Example - with scheduling CProcess a Consumer Sequence Sched1 ri ei p 1 a n1 0 (((σ m ))) (((σ n1 ))) Input Output r t c n1 d n1 e ti n 2 a n2 0 (((σ n2 ))) c P roducer Sched2 t r e Const Data c n2 p 2 ti a n3 1 a n3 2 (((σ n3 ))) Sched3 r e Func p 3

Advantages of this model It is compositional; It is finite state (allows automata-based model-checking); It enables component replacement via temporal observation congruence; It is simple to implement in a functional programming language; It can be expanded to provide more features without changing the calculus.

Outline 1 Composing Web-Services Current Technologies 2 3 4

Compensable Transactions Key to the notion of long running transactions, which can be composed using languages like BPEL. Allows rollback of all or part of a transaction according to some specific ordering rules (e.g. Sequences should be rolled back in reverse from point of failure) Compensation in Cashew-S should be compositional such that compensation is not undermined if a process evolves.

Compensable Transactions (cont.) Initial experiments show that Cashew-Nuts sufficiently expressive to represent compensation similar to that modelled in Sagas calculi and ccsp [Bruni et al., 2005]. Three new syntactic elements should be sufficient for compensations: Transaction, which defines a transaction block, where the components compensate together. Compensate, called elsewhere, defines the performance which should be applied to compensate for another performance. Raise, defines when an event (e.g. an exception) has occurred which needs to be compensated for.

Compensations for Cashew-Nuts Compensation, as in ccsp and Sagas calculi, is driven by three princaple signals Completion ( ), on success Compensation ( ), when the process needs to compensate Abnormal Termination ( ), when compensation has failed The former signal is already given in the form of a σ-tick The latter two can also be handled by clocks (though probably sans maximal progress) Each successful performance installs (via enabling) its compensation Compensations then run when the compensation clock ticks (order prescribed by workflow pattern).

Integration with WSMO Cashew-S needs to become more goal oriented. Currently just about executing operations of services in a particular order. OWL-S had no choreography - interaction with services was in reality merely the calling of operations. In Cashew-S a declarative language is needed which would enable description of this interaction in a goal-wise manner. Conformance between choreography and orchestration established by temporal observation congruence.

Implementation Two implementations of Cashew are planned One in Haskell (already underway), which is primarily for validation of the semantics and exploration. One in Lisp, for integration into the Internet Reasoning Service (one of the two most active implementations of WSMO being developed at KMi).

Outline 1 Composing Web-Services Current Technologies 2 3 4

Conclusion We have looked at the current state of service composition, and which features are required. The Cashew project has thus far given a compositional operational semantics to orchestration, using the process calculus Cashew-Nuts. Cashew-Nuts needs some more work on the theoretical side (e.g. data-typing issues, algebraic theory). We are currently working on adding compensation transactions to orchestration. Cashew-S will be given a choreography language so that it can be integrated with WSMO/IRS.

References I B. Norton, G. Lüttgen, and M. Mendler. A compositional semantic theory for synchronous component-based design. In 14th Intl. Conference on Concurreny Theory (CONCUR 03), number 2761 in LNCS. Springer-Verlag, 2003. D. Roman, U. Keller, H. Lausen et al. Web Service Modelling Ontology In Applied Ontology 1 (2005) 77 106

References II B. Norton, S. Foster, and A. Hughes. A compositional operational semantics for OWL-S. In Proc. 2nd Intl. Workshop on Web Services and Formal Methods (WS-FM 2005), September 2005. W. van der Aalst. Pi Calculus Versus Petri Nets: Let Us Eat Humble Pie Rather Than Further Inflate the Pi Hype. Business Process Trends, 2005. R. Bruni, M. Butler, C. Ferreira, T. Hoare, H. Melgratti, and U. Montanari Comparing two approaches to compensable flow composition. Proc. of CONCUR 2005, the 16th International Conference on Concurrency Theory, 2005.

Thank you for listening S.Foster@dcs.shef.ac.uk http://www.dcs.shef.ac.uk/~simonf