Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Causality models for WS Choreography
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Web Services Choreography Description Language Overview 6th December 2004 JP Morgan Steve Ross-Talbot Chair W3C Web Services Activity Co-chair W3C Web.
1 Ivan Lanese Computer Science Department University of Bologna Italy Types for deadlock avoidance in SSCC.
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
1 FLACOS Malta October 2008 Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin Theory of Programming.
CPSC 668Set 14: Simulations1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
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 Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
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.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
1 Ivan Lanese Computer Science Department University of Bologna Italy Error Handling in Service Oriented Computing Joint work with Claudio Guidi, Fabrizio.
Business Process Orchestration
1 SOCK and JOLIE from the formal basis to a service oriented programming language Ivan Lanese Computer Science Department University of Bologna Italy Joint.
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.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
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 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
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.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
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.
Complete Axioms for Stateless Connectors joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Web Services Glossary Summary of Holger Lausen
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
1 The CeNTIE project is supported by the Australian Government through the Advanced Networks Program of the Department of Communications, Information Technology.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Abstract Processes in BPEL4WS Tony Andrews Software Architect Microsoft.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
Mario Bravetti Department of Computer Science University of Bologna INRIA research team FOCUS Choreography Projection and.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
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.
Ivan LaneseDepartment of Computer Science University of Bologna INRIA research team FOCUS Choreography-driven design Joint work with: Mario Bravetti, Gianluigi.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
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.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
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.
Compositional Choreographies By Fabrizio Montesi and Nobuko Yoshida
Deadlock Freedom by Construction
Choreographies: the idea
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Service-centric Software Engineering 1
Internet of Things A Process Calculus Approach
Choreography, Orchestration, and Contracts Languages and Techniques for Service Composition Gianluigi Zavattaro
From Use Cases to Implementation
Presentation transcript:

Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi Zavattaro University of Bologna, Bologna, Italy

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 2

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 3

Service Oriented Computing  A paradigm for programming distributed applications by combining services  Evolved from object-oriented and component computing  A service is a piece of code that can be  Dynamically found on the net based on its description  Invoked and integrated in a large application  Services are  Platform and language independent  Loosely coupled 4

Service Oriented Computing features  SOC applications can integrate services from different companies  Fundamental in business processing  SOC allows for great dynamicity and reusability  New versions of services immediately integrated in existing applications  Applications can be easily adapted to changing requirements  Based on international standards  SOAP for communication  WSDL for describing service interfaces  UDDI for describing service repositories  BPEL for combining services  … 5

Service choreography  Communication is the main aspect of SOC applications  Services interact via complex multiparty conversations  A service choreography is the description of the possible conversation patterns 6

Providing my ticket to Lisbon 7 propose dates grant accept req. payment ask financing make availablebuy ticket pay deliver

Service choreography languages  We need languages to describe choreographies  Two main approaches  Interaction-Oriented Choreography: global description  Process-Oriented Choreography: local description  (Terminology not standardized yet) 8

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 9

Interaction-Oriented Choreography (IOC)  Describes the conversation from a global point of view  As composition of interactions  Specifies what should happen without saying how to do it  Easy to write and to understand  Difficult to implement  Good tool for design  At the basis of WS-CDL 10 C ar l a P ropose d a t es ¡¡¡¡¡¡¡¡¡ ! I van

IOC syntax basic interaction empty IOC terminated IOC sequential composition parallel composition nondeterministic choice 11 I :: = a o ¡ ! b j 1 j 0 j I 1 ; I 2 j I 1 k I 2 j I 1 + I 2

Idea of IOC semantics  Semantics based on LTS  Labels corresponding to basic interactions and termination 12 a o ¡ ! b p a o 1 ¡ ! b ; b o 2 ¡ ! c a o 1 ¡ ! b ¡¡¡¡ ! 1 ; b o 2 ¡ ! c b o 2 ¡ ! c ¡¡¡¡ ! 1 p ¡ ! 0 a o 1 ¡ ! b k c o 2 ¡ ! d c o 2 ¡ ! d ¡¡¡¡ ! a o 1 ¡ ! b k 1 a o 1 ¡ ! b ¡¡¡¡ ! 1 k 1 p ¡ ! 0

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 13

Process-Oriented Choreography (POC)  Describes each participant of the conversation (roles)  The behavior of each of them is described in terms of inputs and outputs  Difficult to understand what is going on  Easy to implement  Good starting point for implementation  At the basis of BPEL4CHOR 14 ( propose d a t es;accep t ) I van

POC syntax role parallel composition output input empty process terminated process sequential composition parallel composition nondeterministic choice 15 S :: = ( P ) a j S 1 k S 2 P :: = o j o j 1 j 0 j P 1 ; P 2 j P 1 j P 2 j P 1 + P 2

Idea of POC semantics  Semantics based on LTS  Two possible semantics  Synchronous: output and input interact directly  Asynchronous: the output spawns a message that is catched by the input 16

Idea of POC semantics  Semantics based on LTS  Two possible semantics  Synchronous: output and input interact directly  Labels corresponding to interaction and termination  Asynchronous: the output spawns a message that is catched by the input 17 a o ¡ ! b p ( o ) a k( o ) b a o ¡ ! b ¡¡¡ ! ( 1 ) a k( 1 ) b p ¡ ! ( 0 ) a k( 0 ) b

Idea of POC semantics  Semantics based on LTS  Two possible semantics  Synchronous: output and input interact directly  Asynchronous: the output spawns a message that is catched by the input  Labels corresponding to message spawning, interaction. and termination 18 o:a a o ¡ ! b p ( o ) a k( o ) b o:a ¡¡ ! ( 1 jh o i) a k( o ) b a o ¡ ! b ¡¡¡ ! ( 1 j 1 ) a k( 1 ) b p ¡ ! ( 0 ) a k( 0 ) b

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 19

From design to implementation  IOCs are good for design  POCs are more easily implementable  We want an automatic translation from IOCs to POCs  Should preserve the intended semantics  We project the IOC on each role to derive its behavior  We compose the behaviors of the different roles  We want the resulting POC to follow the IOC semantics 20

21

What ; means?  Consider the simple IOC  In the synchronous case the (atomic) interaction between a and b should occur before the (atomic) interaction between c and d  In the asynchronous case there are different alternatives:  Sender: the sending at a should occur before the sending at c  Receive: the receive at b should occur before the receive at d  Sender-receive: both of the above  Disjoint: both the sending at a and the receive at b should occur before both the sending at c and the receive at d 22 a o 1 ¡ ! b ; c o 2 ¡ ! d

A partial order 23 Disjoint Sender Receiver Sender - receiver Synchronous Stricter constraints on IOC Stronger relation on behaviors

Projection  We consider a “natural” projection  is the projection of IOC over role a  The projection is an homomorphism but for:  The resulting POC is the parallel composition of the projections on all the roles  We look for conditions ensuring that such a projection behaves well 24 pro j ( a o ¡ ! b ; a ) = o pro j ( a o ¡ ! b ; c ) = 1 pro j ( a o ¡ ! b ; b ) = o pro j ( I ; a ) I

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 25

Conditions for a correct projection  We want conditions ensuring that the projection behaves well  They will depend on the chosen semantics  We have three kinds of “connectedness” conditions  For sequential composition  For choice  For operations used more than once  (No condition for parallel composition) 26

Connectedness for sequence  Ensures the correctness of sequential composition  Synchronous: {a,b} ∩ {c,d} ≠ Ø  Sender: a=c or b=c  Receiver: b=c or b=d  Disjoint: b=c  The conditions can be generalized to ensure the connectedness of  Conditions should be applied to final transitions of and initial transitions of 27 a o 1 ¡ ! b ; c o 2 ¡ ! d I ; J I J

Example  Consider:  The projection is:  The POC behaves well for synchronous and sender semantics  The POC is not connected for receiver or disjoint semantics 28 a o 1 ¡ ! b ; a o 2 ¡ ! d ( o 1 ;o 2 ) a k( o 1 ) b k( o 2 ) d

Points of choice  Ensures the correctness of choice  Synchronous:  The same role should occur in each initial transition  The roles in the two branches should be the same  Asynchronous:  The sender should be the same  The roles in the two branches should be the same 29 I + J

Points of choice: example  If we drop the condition on roles:  In the projection  Interaction on O 3 is enabled 30 ( a o 1 ¡ ! b + a o 2 ¡ ! c ) ; b o 3 ¡ ! c (( o 1 + o 2 ) ; 1 ) a k(( o ) ;o 3 ) b k(( 1 + o 2 ) ;o 3 ) c

Causality-safety  Using many times the same operation may cause problems  For instance a may interact with d 31 a o ¡ ! b k c o ¡ ! d ( o ) a k( o ) b k( o ) c k( o ) d

Causality-safety  We define a causality relation between events of the projected POC  e 1 < e 2 if e 2 becomes enabled after e 1 has been performed  the exact definition depends on whether the semantics is synchronous or asynchronous  We require causality dependencies between events on the same operation  At most one of them can be enabled at each time  No interference 32

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 33

Bisimilarity  We characterize the behavioral relation between a IOC and the projected POC using (variations of) bisimilarity  A IOC and a POC are synchronous bisimilar iff  If then and and are bisimilar  Viceversa  This is standard strong bisimilarity  Implies trace equivalence 34 I 1 S 1 S 2 I 1 ® ¡ ! I 2 S 1 ® ¡ ! S 2 I 2

Other bisimilarities  Sender bisimilarity: IOC transitions are matched by POC sends, POC receives are abstracted away  weak w.r.t. POC receive transitions  Receiver bisimilarity: IOC transitions are matched by POC receives, POC sends are abstracted away  weak w.r.t. POC send transitions  Disjoint bisimilarity: a IOC transition is matched by subsequent send and receive POC transitions 35

Main result  A IOC is bisimilar to its projection  According to the synchronous/sender/receiver/disjoint bisimilarity  If it satisfies all the synchronous/sender/receiver/disjoint connectedness conditions 36

Receive bisimulation example 37 a o 1 ¡ ! b ;c o 2 ¡ ! b a o 1 ¡ ! b ¡¡¡¡ ! 1 ;c o 2 ¡ ! b c o 2 ¡ ! b ¡¡¡¡ ! 1

Receive bisimulation example (2) 38 a o 1 ¡ ! b ;c o 2 ¡ ! b a o 1 ¡ ! b ¡¡¡¡ ! 1 ;c o 2 ¡ ! b c o 2 ¡ ! b ¡¡¡¡ ! 1

Roadmap  Choreography in SOC  The global view: IOC  The local view: POC  Projection from IOC to POC  Correctness conditions  Behavioral correspondence  Conclusions 39

Conclusion  We started from the basic question: which is the meaning of a IOC?  We derived different possible interpretations according to the choice of synchronous/asynchronous semantics and to the observable events  For each possibility  We found suitable syntactic conditions ensuring a correct projection  We characterized the behavioral relation between IOC and POC as a suitable bisimilarity relation 40

IOC simulations and POC simulations  (Bi)simulations can be defined both for IOCs and for POCs  Bisimulation between IOC and POC is compatible with those (bi)simulations  The projections of two (bi)similar IOCs are bisimilar  One can refine a IOC (e.g., adding auxiliary interactions) and derive a refined POC  Refinement can solve connectedness problems 41

Language extensions  We want to extend the theory to deal with  Internal located actions  Recursion  Hiding  Useful for refinement  Value passing can be added  A role should own the values it sends  Values can be used to transform nondetermistic choice into deterministic  Exceptions 42

Other possible developments  Look at smarter projection functions  Should allow to relax the connectedness conditions  May be related to refinement 43

44

Related work  Carbone, Honda, Yoshida, “Structured communication- centred programming for web services”, ESOP ’07  Honda, Yoshida, Carbone, “Multiparty asynchronous session types”, POPL ’08  Bravetti, Zavattaro, “Towards a unifying theory for choreography conformance and contract compliance”, SC ’07  Busi et al., “Choreography and orchestration conformance for system design”, COORDINATION ’06  Li, Zhu, Pu, “Conformance validation between choreography and orchestration”, TASE ‘07 45