1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.

Slides:



Advertisements
Similar presentations
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
Advertisements

Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
Message Queues COMP3017 Advanced Databases Dr Nicholas Gibbins –
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
Dependable Composition of Web Services and Process Calculi Manuel Mazzara Newcastle University.
1 Ivan Lanese Computer Science Department University of Bologna Italy On the Interplay between Fault Handling and Request-response Service Invocations.
1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.
1 The SOCK SAGA Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy On the Expressive Power of Primitives for Compensation Handling Joint work with.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
1 Formal Models for Distributed Negotiations Description Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
1 Ivan Lanese Computer Science Department University of Bologna Italy Error Handling in Service Oriented Computing Joint work with Claudio Guidi, Fabrizio.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
1 SOCK and JOLIE from the formal basis to a service oriented programming language Ivan Lanese Computer Science Department University of Bologna Italy Joint.
Advanced Topics COMP163: Database Management Systems University of the Pacific December 9, 2008.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory for SSCC Joint work with Luis Cruz-Filipe, Francisco Martins,
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
BPEL (Business Process Execution Language)
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Error Handling: From Theory to Practice Joint work with Fabrizio Montesi italianaSoftware.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Joint work with Claudio Antares Mezzina (INRIA), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Controlling Reversibility in Rhopi Ivan Lanese.
1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
1 Programming SAGAs in SOCK Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro The SOCK saga.
1 Ivan Lanese Computer Science Department University of Bologna Italy On the expressive power of primitives for compensation handling Joint work with Catia.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory at Work: Program Transformations in a Service-centred Calculus.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
1 Ivan Lanese Computer Science Department University of Bologna Italy Streaming Services in SSCC Joint work with Francisco Martins, Vasco Vasconcelos and.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Analyzing different protocols for E-business 1 Fatma Sayed Gad Elrab Supervisors Prof. Dr. Ezzat abd El Tawab Korany Dr. Saleh Abdel Shachour El Shehaby.
SOA, BPM, BPEL, jBPM.
Copyright © 2001, Intalio, Inc. BPML 101 Implementing the BPML Specification Jeanne Baker Director of BPI Solutions, Sterling Commerce Director, BPMI.org.
Demonstrating WSMX: Least Cost Supply Management.
A Survey on Service Composition Languages and Models Antonio Bucchiarone Antonio Bucchiarone and Stefania Gnesi Istituto di Scienza e Tecnologie dell’Informazione.
1 Joint work with Michael Lienhardt (PPS), Claudio Antares Mezzina (Trento), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Reversibility in Concurrency.
Verification of Information Flow Properties in Cyber-Physical Systems Ravi Akella, Bruce McMillin Department of Computer Science Missouri University of.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
1 Causal-Consistent Reversible Debugging Ivan Lanese Focus research group Computer Science and Engineering Department University of Bologna/INRIA Bologna,
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Language Joint work with Elena.
A Locally Nameless Theory of Objects 1.Introduction:  -calculus and De Bruijn notation 2.locally nameless technique 3.formalization in Isabelle and proofs.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Transactions with Unknown Duration for Web Services Patrick Sauter, Ingo Melzer.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
1 Joint work with Claudio Antares Mezzina and Jean-Bernard Stefani Controlled Reversibility and Compensations Ivan Lanese Focus research group Computer.
BPEL
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
A Mediated Approach towards Web Service Choreography Michael Stollberg, Dumitru Roman, Juan Miguel Gomez DERI – Digital Enterprise Research Institute
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
A Mechanized Model of the Theory of Objects 1.Functional  -calculus in Isabelle 2.Confluence Proof in Isabelle 3.Ongoing Work, Applications, Conclusion.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Business Process Execution Language (BPEL) Pınar Tekin.
Internet of Things A Process Calculus Approach
An Introduction to Software Architecture
A MODULAR LTS FOR OPEN REACTIVE SYSTEMS
Presentation transcript:

1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of Computer Science Free University of Bozen - Bolzano Italy

Roadmap l Service Oriented Computing l Webπ ∞ as a model for SOC l How to compute process equivalence l Conclusions

Roadmap l Service Oriented Computing l Webπ ∞ as a model for SOC l How to compute process equivalence l Conclusions

Web services l Set of technologies –to facilitate B2B integration –using a standard web-messaging infrastructure –support Service Oriented Computing l There is no web services revolution –an evolution based on already existing Internet protocols

Service Oriented Computing l Emerging paradigm for distributed computing and e- business processing –Based on web services composition l Finds its origin in object-oriented and component computing l Goal: –Enabling developers to build networks of integrated and collaborative applications, regardless of »the platform where the application runs »the used programming language

Web services composition l Allows to build complex services and business processes out of simpler ones l Called web services composition or orchestration l Web services composition transparent to the final consumer l Many industrial proposals to deal with web services orchestration –WSFL (IBM): graph-oriented –XLANG (Microsoft): block-structured –WS-BPEL (OASIS): tries to unify both

WS-BPEL l The most credited candidate to become a future standard for web services composition l Workflow-based programming language l Describes sophisticated business processes by orchestrating web services l Allows for a mixture of block and graph-structured process models –We are mostly interested in the first style l It is expressive at the price of being complex

Error handling l An important aspect of web services orchestration l Many things can go wrong in a web service execution –Broken connections –Server crashes –Unsatisfied requirements l Usually treated by transactions l ACID transactions –From database field –If a transaction commits then its complete effect is granted –If a transaction fails all its effects are annulled

Long-running transactions l ACID transactions not practical in SOC –Web services are loosely coupled –Transactions can last long-time (e.g., shipping good) –Some actions cannot be simply undone (e.g., message communication) l Non ACID transactions are usually called long-running l Based on the idea of compensations –If a transaction fails then execute the compensation for it –Should be explicitly programmed since application-dependent »Send annul communication to partners »Ask for refunding »Mark order as no more valid

Transactions in WS-BPEL l WS-BPEL has three different mechanisms for error handling –fault handling, compensation handling, event handling l Able to deal with many possibilities l Complex and difficult to use l Informal and unclear documentation

Towards formal methods l Need of a formal framework –To provide a clear and rigorous semantics –To prove properties of web services composition l We start from π-calculus –Many languages (included WS-BPEL) claim being based on it (but the connection is not always evident) l We add a transaction operator to easily deal with error handling

Roadmap l Service Oriented Computing l Webπ ∞ as a model for SOC l How to compute process equivalence l Conclusions

Web π ∞ l Extension of asynchronous π-calculus –To deal with asynchronous communications among loose coupled web services l With an operator of transaction to deal with compensations l Originally proposed as the timed language Webπ [Laneve, Zavattaro FOSSACS’05] l We are interested in the untimed version

Web π ∞ syntax Execute P. If a message arrives at x then start executing Q instead

The semantics l We give a reduction semantics in Milner style –Structural congruence + reduction rules l Weak barbed congruence as abstract semantics –Barbs allow to observe basic process behaviours –Weak to abstract from internal activities –Congruence to ensure preservation under composition »Two equivalent web services remain equivalent also when composed in two complex business processes

Structural congruence l Standard rules for parallel composition and restriction

Structural congruence l Standard rules for parallel composition and restriction l Commit of a workunit hj 0 ; Q ji x ´ 0

Structural congruence l Standard rules for parallel composition and restriction l Commit of a workunit l Flattening of workunit nesting [different e.g. w.r.t. c- join] hj 0 ; Q ji x ´ 0 hjhj P ; Q ji y j R ; S ji x ´ hj P ; Q ji y jhj R ; S ji x

Structural congruence l Standard rules for parallel composition and restriction l Commit of a workunit l Flattening of workunit nesting [different e.g. w.r.t. c- join] l Messages can float away hj 0 ; Q ji x ´ 0 hjhj P ; Q ji y j R ; S ji x ´ hj P ; Q ji y jhj R ; S ji x hj z e u j P ; Q ji x ´ z e u jhj P ; Q ji x

Reduction rules l Standard rules for communication x i e v j P i 2 I x i ( e u i ) : P i ! P i © e v = e u i ª x e v j ! x ( e u ) : P ! P © e v = e u ª j ! x ( e u ) : P

Reduction rules l Standard rules for communication l Rule for transaction abort only if P contains only (and at least one) inputs x i e v j P i 2 I x i ( e u i ) : P i ! P i © e v = e u i ª x e v j ! x ( e u ) : P ! P © e v = e u ª j ! x ( e u ) : P x jhj P ; Q ji x ! ( y ) hj Q ; 0 ji y

Weak barbed congruence l Barbs: P ↓ x if P contains a message with subject x l Weak reduction: P  Q if P has a sequence of reductions leading to Q l Weak barb: P  x if P  P’↓ x l Barbed bisimulation: relation S such that P S Q implies –If P ↓ x then Q  x –If P → P’ then Q  Q’ and P’ S Q’ l Barbed congruence ≈: largest barbed bisimulation that is also a congruence

Properties of barbed congruence l Good abstraction of process behaviour l Preserved by composition l Problem: difficult to compute –Requires quantification over all contexts l Solution: using an auxiliary labeled semantics that implies barbed congruence and is easier to compute

Roadmap l Service Oriented Computing l Webπ ∞ as a model for SOC l How to compute process equivalence l Conclusions

Labeled semantics l Most rules as in standard late π-calculus l Special rules to deal with transactions l Predicate inp(P): true if P contains at least an input l Function xtr(P): extracts messages and transactions inside P

Deriving a suitable abstract semantics l We use weak asynchronous bisimilarity –Labels must be matched but … –An action μ can be matched by a sequence τ…τ μ τ…τ (weak) –An input can be matched by a τ which leaves the message available (asynchronous) l Weak asynchronous bisimilarity is not a congruence l Closed bisimilarity: closed under inp and xtr l Closed bisimilarity is a congruence l Closed bisimilarity implies barbed congruence –Useful tool to prove behavioural equivalence

Example: compensations reducibility

l Compensations can always be reduced to a single output if x’,y fresh l Proved using closed bisimulation hj P ; Q ji x ¼ ( x 0 ; y )( hj P ;x 0 ji x jhj x 0 () : Q ; 0 ji y )

Example: compensations reducibility l Compensations can always be reduced to a single output if x’,y fresh l Proved using closed bisimulation l The following relation is a closed bisimulation l Note: property not valid in a strong or timed setting hj P ; Q ji x ¼ ( x 0 ; y )( hj P ;x 0 ji x jhj x 0 () : Q ; 0 ji y )

Other applications

l Properties of web services composition can be proved –Decoupling of a service body l Webπ ∞ has been used to formalize a simplification of BPEL recovery framework [Lucchi, Mazzara JLAP] hj ! z ( u ) : P j Q ;v ji x ¼ ( y )( hj ! z ( u ) : P ;y ji x jhj Q j ( w ) w ( u ) ;v ji y )

Roadmap l Service Oriented Computing l Webπ ∞ as a model for SOC l How to compute process equivalence l Conclusions

Conclusions l Webπ ∞ is a suitable formal framework –For analyzing web services orchestration –For reasoning about transactions –Able to treat WS-BPEL l Labeled semantics makes it practically usable to prove properties of web services l Next step: exploiting it via tools

Related work l Webπ: extension of Webπ ∞ with time –Similar semantic properties but different aim –Allows to use timeouts l C-join: extends join instead of π –The nesting of transactions matters –When transactions interact are merged l Compensating CSP: extends CSP –Analyze the composition of compensations –No synchronization nor mobility

End of talk hj ! ques t i on ( u ) : i f u = ca l cu l i t h en ques t i onans e l se x; ques t i onmanue l : un i b z : i t ji x