Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi."— Presentation transcript:

1 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

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

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

4 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

5 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

6 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

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

8 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

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

10 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

11 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

12 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

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

14 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

15 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

16 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

17 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

18 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

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

20 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 21

22 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

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

24 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

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

26 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

27 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

28 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

29 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

30 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 1 + 1 ) ;o 3 ) b k(( 1 + o 2 ) ;o 3 ) c

31 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

32 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

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

34 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

35 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

36 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

37 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

38 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

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

40 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

41 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

42 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

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

44 44

45 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


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

Similar presentations


Ads by Google