Www.sensoria-ist.eu Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.

Slides:



Advertisements
Similar presentations
Web Services Choreography and Process Algebra 29th April 2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation LtdEnigmatec Corporation Ltd Chair.
Advertisements

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.
Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
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.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault Model Design Space for Cooperative Concurrency Joint work with Michael.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
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.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
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.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
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 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.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
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.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Formal Model for Simulations Instructor: DR. Lê Anh Ngọc Presented by – Group 6: 1. Nguyễn Sơn Hùng 2. Lê Văn Hùng 3. Nguyễn Xuân Hậu 4. Nguyễn Xuân Tùng.
Model-based Methods for Web Service Verification.
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,
Foundational Study and Practical Experimentation of Service Orchestration with SOCK/JOLIE Ivan Lanese, Fabrizio Montesi, Claudio Guidi, and Gianluigi Zavattaro.
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.
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
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.
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.
A theory of DbC for multiparty distributed interactions Emilio Tuosto University of Leicester Nobuko Yoshida Imperial College London Kohei Honda Queen.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
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
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
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İÇ.
Μse: programming multi- party sessions for SOC Joint work with Emilio Tuosto Ivan LaneseRoberto BruniHernán Melgratti.
Deadlock Freedom by Construction
Choreographies: the idea
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Internet of Things A Process Calculus Approach
Chapter 20 Object-Oriented Analysis and Design
Choreography, Orchestration, and Contracts Languages and Techniques for Service Composition Gianluigi Zavattaro
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  IOCs and POCs  Different interpretations for IOC  Connectedness conditions  Bisimilarity results  Conclusions 2

Roadmap  IOCs and POCs  Different interpretations for IOC  Connectedness conditions  Bisimilarity results  Conclusions 3

Choreography  Choreography aims at describing the interactions among many participants  Interaction-Oriented Choreography (IOC): obtained by composing basic interactions using composition operators  WS-CDL  Process-Oriented Choreography (POC): obtained as the parallel composition of the behavior of different roles  BPEL4CHOR, natural extension of orchestration language BPEL 4 a o ¡ ! b

From design to implementation  IOCs are more easy to understand and to write  Good tool for design  POCs are more easily implementable  We want to translate automatically a IOC into a POC  We project the IOC on the different roles 5

6

Interaction-oriented Choreography  Allows to describe interactions from a global point of view 7 I :: = a o ¡ ! b j 1 j 0 j I ; I 0 j I k I 0 j I + I 0

Process-oriented Choreography  Allows to compose the behaviours of different roles  Behaviours are based on input/output on operations  We give two semantics to POCs: a synchronous and an asynchronous one 8 P :: = o j o j 1 j 0 j P ; P 0 j P j P 0 j P + P 0 S :: = ( P ) a j S k S 0

Asynchronous behaviours 9

Composing behaviours 10  In the synchronous semantics the output is immediately propagated and matched with the input

Roadmap  IOCs and POCs  Different interpretations for IOC  Connectedness conditions  Bisimilarity results  Conclusions 11

Our aim  Given a IOC we want to project it onto roles to get a POC exhibiting the corresponding behaviors  The projection is an homomorphism but for:  We look for connectedness conditions ensuring that such a projection behaves well  The conditions and the meaning of “behaves well” depend on the interpretation of the IOC 12 pro j ( a o ¡ ! b ; a ) = o pro j ( a o ¡ ! b ; c ) = 1 pro j ( a o ¡ ! b ; b ) = o

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 13 a o 1 ¡ ! b ; c o 2 ¡ ! d

A partial order 14 Disjoint SenderReceiver Sender - receiver Synchronous Strincter constraints on IOC Stronger relation on behaviors

Roadmap  IOCs and POCs  Different interpretations for IOC  Connectedness conditions  Bisimilarity results  Conclusions 15

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 16 a o 1 ¡ ! b ; c o 2 ¡ ! d 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 17 a o 1 ¡ ! b ; a o 2 ¡ ! d ( o 1 ; o 2 ) a ; ( o 1 ) b ; ( o 2 ) d

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

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

Causality-safety  Using many times the same operation may cause problems  For instance a may interact with d 20 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 the time  No interference 21

Roadmap  IOCs and POCs  Different interpretations for IOC  Connectedness conditions  Bisimilarity results  Conclusions 22

Bisimilarity  We characterize the behavioral relation between a IOC and the projected POC using bisimilarity  Synchronous bisimilarity: IOC transitions are matched by synchronous POC transitions  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 23

Main result  If a IOC satisfies all the connectedness conditions for the synchronous/sender/receiver/disjoint semantics then it is synchronous/sender/receiver/disjoint bisimilar to its projection 24

Receive bisimulation example 25 a o 1 ¡ ! b ; c o 2 ¡ ! b ( o 1 ; 1 ) a k( o 1 ; o 2 ) b k( 1 ; o 2 ) c ( 1 ; 1 jh o 1 i) a k( o 1 ; o 2 ) b k( 1 ; o 2 ) c ( o 1 ; 1 ) a k( o 1 ; o 2 ) b k( 1 jh o 2 i) c ( 1 ; 1 jh o 1 i) a k( o 1 ; o 2 ) b k( 1 jh o 2 i) c a o 1 ¡ ! b

Receive bisimulation example 26 1 ; c o 2 ¡ ! b ( 1 ; 1 j 1 ) a k( 1 ; o 2 ) b k( 1 jh o 2 i) c ( 1 ; 1 j 1 ) a k( 1 ; o 2 ) b k( 1 ; o 2 ) c c o 2 ¡ ! b 1 c o 2 ¡ ! b ( 1 ; 1 j 1 ) a k( 1 ) b k( 1 j 1 ) c

Roadmap  IOCs and POCs  Different interpretations for IOC  Connectedness conditions  Bisimilarity results  Conclusions 27

Extensions  Internal located actions, recursion and hiding can be added to the language  Value passing can be added  A role should own the value to be sent  Values can be used to transform nondetermistic choice into deterministic 28

Bisimulation  Bisimulations and simulations can be defined both for IOCs and for POCs  IOC-POC bisimulation 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  Hiding is necessary to have more powerful refinements 29

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 characterize the behavioral relation between IOC and POC as a suitable bisimulation relation 30

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 31

Future work  Complete the analysis on a more complex language  Recursion/iteration  Data  Hiding  Exceptions  Looking at more complex projection functions  Should allow to relax the connectedness conditions  Study the possibility of refinement 32

33