Mario Bravetti Department of Computer Science University of Bologna INRIA research team FOCUS Choreography Projection and.

Slides:



Advertisements
Similar presentations
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Advertisements

Web Services Choreography Description Language Overview 6th December 2004 JP Morgan Steve Ross-Talbot Chair W3C Web Services Activity Co-chair W3C Web.
Design by Contract.
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf.
On 1-soundness and Soundness of Workflow Nets Lu Ping, Hu Hao and Lü Jian Department of Computer Science Nanjing University
1 University of Pennsylvania Grigoris Karvounarakis February 2004 Conversation Specification: A New Approach to Design and Analysis of E- Service Composition.
Deterministic Negotiations: Concurrency for Free Javier Esparza Technische Universität München Joint work with Jörg Desel and Philipp Hoffmann.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
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 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,
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
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.
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 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.
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 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
A Survey on Service Composition Languages and Models Antonio Bucchiarone Antonio Bucchiarone and Stefania Gnesi Istituto di Scienza e Tecnologie dell’Informazione.
Web Services Glossary Summary of Holger Lausen
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.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
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.
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.
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Process-oriented System Analysis Process Mining. BPM Lifecycle.
“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.
Ivan LaneseDepartment of Computer Science University of Bologna INRIA research team FOCUS Choreography-driven design Joint work with: Mario Bravetti, Gianluigi.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
Systems Analysis and Design in a Changing World, Fourth Edition
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.
SysRép / 2.5A. SchiperEté The consensus problem.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Compositional Choreographies By Fabrizio Montesi and Nobuko Yoshida
composition of workflows
Deadlock Freedom by Construction
Choreography, Orchestration, and Contracts Languages and Techniques for Service Composition Gianluigi Zavattaro
COT 5611 Operating Systems Design Principles Spring 2014
Presentation transcript:

Mario Bravetti Department of Computer Science University of Bologna INRIA research team FOCUS Choreography Projection and Contract Refinement Joint work with: Ivan Lanese, Gianluigi Zavattaro

Plan of the  Global and Local Choreography  Contract-based service discovery  A dynamic update mechanism  Conclusion Plan of the Talk

Web Service Choreography Description Language  Describe the interaction among the combined services from a top abstract view Choreography (e.g. WS-CDL) Top abstract view of whole system: each action is a communication involving two of its participants Orchestration (e.g. WS-BPEL) One Party detailed view of the system that orchestrates a part of it by sending (to other parties) & receiving messages

Similar to UML Sequence Diagrams

WS-CDL  Global view of service interactions Buyer Seller Bank

WS-CDL  Global view of service interactions Buyer Seller Request Bank

WS-CDL  Global view of service interactions Buyer Seller PayDescr Request Offer Bank

WS-CDL  Global view of service interactions Buyer Seller PayDescr Request Offer Bank Payment

WS-CDL  Global view of service interactions Buyer Seller PayDescr Request Offer Bank Payment Confirm Receipt

WS-CDL Request Buyer  Seller ; (Offer Seller  Buyer | PayDescr Seller  Bank ) ; Payment Buyer  Bank ; (Confirm Bank  Seller | Receipt Bank  Buyer )

Projection of the Choreography on the Single Participants Buyer: Seller: Receive(Request); | Receive(Confirm) Bank: Receive(PayDescr);Receive(Payment); |

Well Formed WS-CDL specifications  Can we always project a WS-CDL specification in an equivalent one?  Which kind of equivalences are preserved?

A Formal Model for WS-CDL  A global choreography language: H ::=a r  s | 1 | 0 | H;H | H+H | H|H | H*

A Formal Model for WS-CDL  A global choreography language: H ::=a r  s | 1 | 0 | H;H | H+H | H|H | H* r invokes the operation a of s Successful termination Unsuccessful termination

A Formal Model for WS-CDL  A global choreography language: H ::=a r  s | 1 | 0 | H;H | H+H | H|H | H* Choice Sequence Parallel Repetition

A Formal Model for orchestrations  A language for orchestrations: P ::=a | a r | 1 | 0 | P;P | P+P | P|P | P* S ::= [P] r | S|S

A Formal Model for orchestrations  A language for orchestrations: P ::=a | a r | 1 | 0 | P;P | P+P | P|P | P* S ::= [P] r | S|S receive on a Successful termination Unsuccessful termination invoke a at r

A Formal Model for orchestrations Choice Sequence Parallel Repetition  A language for orchestrations: P ::=a | a r | 1 | 0 | P;P | P+P | P|P | P* S ::= [P] r | S|S

A Formal Model for orchestrations  A language for orchestrations: P ::=a | a r | 1 | 0 | P;P | P+P | P|P | P* S ::= [P] r | S|S Behaviour of participant r Parallel composition of participants

The “canonical” projection  Projection [[ H ]] t of choreography H to participant t a s if t=r [[ a r  s ]] t =aif t=s 1otherwise [[H;H’]] t =[[H]] t ; [[H’]] t [[H|H’]] t =[[H]] t | [[H’]] t [[H+H’]] t =[[H]] t + [[H’]] t [[H*]] t =[[H]] t *

Example  Consider the global choreography: a r  s ; b t  u  Projection: [ a s ;1] r | [ a;1 ] s | [ 1;b u ] t | [ 1;b ] u  Are the two choreographies equivalent? NO But, if r=t…. YES [ a s ; b u ] r | [ a;1 ] s | [ 1;b ] u

Asynchronous communication  Reconsider the example assuming asynchronous communication [ a s ; b u ] r | [ a ] s | [ b ] u  Communication on a starts before communication on b but could finish after  What we should observe? Send, Receive, both, …?

A lattice of possible observation criteria SenderReceiver Sender-receiver Synchronous

A lattice of possible observation criteria SenderReceiver Sender-receiver Synchronous Assuming synchronous communication: observe either send or receive

A lattice of possible observation criteria SenderReceiver Sender-receiver Synchronous Assuming asynchronous communication: observe send

A lattice of possible observation criteria SenderReceiver Sender-receiver Synchronous Assuming asynchronous communication: observe receive

A lattice of possible observation criteria SenderReceiver Sender-receiver Synchronous Assuming asynchronous communication: observe send and observe receive

What about the previous example?  Reconsider the example a r  s ; b r  u [ a s ; b u ] r | [ a ] s | [ b ] u  OK: for synchronous and sender  NO: for receiver, sender-receiver

Main results  For each observation criterion: Sufficient conditions (connectedness, unique point of choice, and causality safe) that guarantee that a global choreography is equivalent to the projected one

Unique point of choice  In a choice H+H’ The sender of the initial transitions in H and in H’ is always the same The roles in H and in H’ are the same  Example: if we drop the second condition (a r  s + b r  t ); c s  t [ ( a s +b t );1] r | [ (a+1);c t ] s | [ (1+b);c ] t

Which equivalence between global and local choreographies?  Synchronous equivalence: global transitions are matched by synchronous local transitions  Sender equivalence: global transitions are matched by local sends, local receives are abstracted away weak w.r.t. local receive transitions  Receiver equivalence: global transitions are matched by local receives, global sends are abstracted away weak w.r.t. local send transitions  Sender-Receiver equivalence: both conditions above

Example: Receiver equivalence  Global choreography: a r  s ; b t  s  Local choreography: [ a s ] r | [ a;b ] s | [ b s ] t  The two systems are receiver equivalent

Plan of the  Global and Local Choreography  Contract-based service discovery  A dynamic update mechanism  Conclusion Plan of the Talk

Contracts  Contract: service “behavioural interface” correct sequences of invoke and receive as in an orchestration (role of a coreography) just finite-state labeled transition systems with successful termination Contract: abstract service description Service public registry

Contract Compliance  Verification of correctness of service composition based on their contracts: successful interaction i.e. no deadlock / termination reached Contract: abstract service description Service … Contract: abstract service description Service … public registry Reciprocal invocations

Service Compliance: Formally  Services are compliant if the following holds for their composition P : P --->* P’ implies that there exist P’’ and P’’’ s.t. P’ --->* P’’ ---> P’’’ i.e. every computation can be extended to reach successful completion of all services termination under fairness assumption τ √ τ

Example: compliant services  The following pairs of services are compliant: C 1 = a+b+cC 2 = a + b C 1 = a;bC 2 = a | b C 1 = (a; b )* C 2 = a;( b;a )*;b

… Choreography Compliance-Preserving Contract Refinement ! Contract public registry Contract public registry Service … Reciprocal invocations Contract Part. 1 Contract Part. n … refines compliance preserved by refinement compliant by construction projection

… Choreography First Relation: Contract Refinement Contract public registry Contract public registry Service … Reciprocal invocations Contract Part. 1 Contract Part. n … refines compliance preserved by refinement compliant by construction

Formally: Subcontract Preorder C sub-contracts of C subcontract preorder  Preorder ≤ between contracts C : C’ ≤ C means C’ is a subcontract of C

Definition of Preorder Induced from Independent Refinement C 1 C 2 C n Given a set of compliant contracts is a set of compliant contracts subcontract preorder sub-contracts of C 2 … sub-contracts of C 1 sub-contracts of C n C’ 1 C’ 2 C’ n … …

No maximal subcontract preorder … in general  Consider the system: [ a ] | [ a ] we could have one preorder ≤ 1 for which a + c.0 ≤ 1 a and one preorder ≤ 2 for which a + c.0 ≤ 2 a but no subcontract preorder could have a + c.0 ≤ a  Consequence: no independent refinement!

Maximal pre-order  It exists changing some assumptions: Limiting the considered services (output persistence) Strengthening the notion of compliance (strong compliance) Moving to asynchronous communication (e.g. via message queues)

Output persistence  Output persistence means that given a process state P: If P has an output action on a and P-->P’ with  different from output on a, then also P’ has an output on a  This holds, for instance, in WS-BPEL Outputs cannot resolve the pick operator for external choices (the decision to execute outputs is taken internally) 

Example  Given the choreography: Request Alice  Bob ; (Accept Bob  Alice + Reject Bob  Alice ) The following services can be retrieved: [τ;Request Bob ;(Accept+Reject)] Alice | [Request;(τ;Accept Alice +τ;Reject Alice )] Bob

Example  Given the choreography: Request Alice  Bob ; (Accept Bob  Alice + Reject Bob  Alice ) The following services can be retrieved: [τ;Request Bob ;(Accept+Reject)] Alice | [Request;(τ;Accept Alice +τ;Reject Alice )] Bob [τ;Request Bob ;(Accept+Reject+Retry)] Alice | [Request;(τ;Accept Alice +τ;Reject Alice )] Bob

Example  Given the choreography: Request Alice  Bob ; (Accept Bob  Alice + Reject Bob  Alice ) The following services can be retrieved: [τ;Request Bob ;(Accept+Reject)] Alice | [Request;(τ;Accept Alice +τ;Reject Alice )] Bob [τ;Request Bob ;(Accept+Reject+Retry)] Alice | [Request;(τ;Accept Alice +τ;Reject Alice )] Bob [τ;Request Bob ;(Accept+Reject+Retry)] Alice | [Request;τ;Accept Alice ] Bob

“Standard” Contract Compliance  Example: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3

“Standard” Contract Compliance  Example: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3

“Standard” Contract Compliance  Example: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3

“Standard” Contract Compliance  Example: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3

 Let us give a more careful look: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3  5252 Alternatives to Standard Compliance: Strong Compliance

 Let us give a more careful look: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3

 Let us give a more careful look: S 1 : invoke(a);invoke(b) S 2 : receive(a);invoke(c) S 3 : receive(c);receive(b) S1S1 S2S2 S3S3  Strong compliance requires that the receptors should be always ready  These services are not strongly compliant !! Alternatives to Standard Compliance: Strong Compliance

Example: strong compliant services  The following pairs of services are strong compliant: C 1 = a+b+cC 2 = a + b C 1 = a;bC 2 = a | b C 1 = (a; b )* C 2 = a;( b;a )*;b

Example: strong compliant services  The following pairs of services are strong compliant: C 1 = a+b+cC 2 = a + b C 1 = a;bC 2 = a | b C 1 = (a; b )* C 2 = a;( b;a )*;b

“Strong” refinement  It allows also refinement on names already in the interface: Receive(a);(Receive(b)+Receive(a)) ≤ Receive(a);Receive(b)

Summary of Results  Refinement with knowledge about other initial contracts limited to I/O actions (enough to guarantee that refinements that extend the interface are included) “normal” compliance:  Uncostrained contracts: maximal relation does not exist  Contracts where outputs are internally chosen (output persistence): maximal relation exists and “I” knowledge is irrelevant  Output persistent contracts where outputs are directed to a location: maximal relation exists and “I/O” knowledge is irrelevant strong compliance:  Uncostrained contracts (where output are directed to a location): maximal relation exists and “I/O” knowledge is irrelevant queue-based compliance:  Uncostrained contracts (where output are directed to a location): maximal relation exists and “I/O” knowledge is irrelevant

Summary of Results  Sound characterization in terms of fair testing [RV] With respect to testing: both system and test must succeed Much coarser: all non-controllable systems are equivalent

Plan of the  Global and Local Choreography  Contract-based service discovery  A dynamic update mechanism  Conclusion Plan of the Talk

Updatable processes/contracts  How to model updatable processes? Eg. services which receive workflow from the environment in order to interact with it internal “adaptable/mutable” subparts of cloud behaviour  By extending a process calculus with updatable parts a[P] and update actions/primitives a{U}, where U is

Example  Consider the running system: if the following update is performed: the system becomes:

Compliance analysis  Compliance contract analysis can be used: to detect if several systems correctly interact by composing their behavioural contracts to assess a behavioural contract is internally correct (for complex systems, e.g., cloud)  Decidability separation results depending on fragments of the language (update power/dynamic topology) [forte-fmoods 2011]

Plan of the  Global and Local Choreography  Contract-based service discovery  A dynamic update mechanism  Conclusion Plan of the Talk

Future work  Contracts with operators for process interruption and compensation The contract language becomes partially undecidable

Related work  Carbone, Honda, Yoshida Global and End-point calculus similar to our WS-CDL and BPEL4Chor Only some of our observation criteria are considered Stronger conditions for projection

Related work  Fu, Bultan, Su Service systems with message queues similar to ours Observe the send event as in our sender observation criterion No refinement

Related work  Padovani et al. Contracts described with an ad-hoc transition system (reminiscent of acceptance tree) The absence of maximal subcontract relation solved either with explicit interfaces of filters (cut the additional actions of the refinements)

Related work  van der Aalst et al. Contracts described with open workflow nets (similar to petri nets) Same notion of compliance Same definition of subcontract as maximal refinement that preserves compliance Characterization of the refinement for processes without “loops” (make the system infinite due to message queues)

References  N. Busi, R. Gorrieri, C. Guidi, R. Lucchi, and G. Zavattaro. Choreography and Orchestration Conformance for System Design. In Coordination’06.  I. Lanese, C. Guidi, F. Montesi, and G. Zavattaro. Bridging the Gap Between Interaction- and Process-oriented Choreographies. In SEFM’08.  M. Bravetti and G. Zavattaro. Contract based Multi-party Service Composition. In FSEN’07. (full version in Fundamenta Informaticae)  M. Bravetti and G. Zavattaro. Towards a Unifying Theory for Choreography Conformance and Contract Compliance. In SC’07.  M. Bravetti and G. Zavattaro. A Theory for Strong Service Compliance. In Coordination’07. (full version in MSCS)  M. Bravetti and G. Zavattaro. Contract Compliance and Choreography Conformance in the presence of Message Queues.In WS-FM’08  C. Guidi, R. Lucchi, R. Gorrieri, N. Busi, and G. Zavattaro. SOCK: a Calculus for Service Oriented Computing. In ICSOC’06.  F. Montesi, C. Guidi, and G. Zavattaro. Orchestrating Services in JOLIE. In ECOWS’07.  C. Guidi, I. Lanese, F. Montesi, and G. Zavattaro. On the Interplay Between Fault Handling and Request-response Service Invocations. In ACSD’08.  C. Guidi, F. Montesi, I. Lanese, and G. Zavattaro. Dynamic Fault-handling for Service Oriented Applications. In ECOWS’08.  M. Bravetti and G. Zavattaro. On the Expressive Power of Process Interruption and Compensation. In WS-FM’08

References  N. Busi, R. Gorrieri, C. Guidi, R. Lucchi, and G. Zavattaro. Choreography and Orchestration Conformance for System Design. In Coordination’06.  I. Lanese, C. Guidi, F. Montesi, and G. Zavattaro. Bridging the Gap Between Interaction- and Process-oriented Choreographies. In SEFM’08.  M. Bravetti and G. Zavattaro. Contract based Multi-party Service Composition. In FSEN’07. (full version in Fundamenta Informaticae)  M. Bravetti and G. Zavattaro. Towards a Unifying Theory for Choreography Conformance and Contract Compliance. In SC’07.  M. Bravetti and G. Zavattaro. A Theory for Strong Service Compliance. In Coordination’07. (full version in MSCS)  M. Bravetti and G. Zavattaro. Contract Compliance and Choreography Conformance in the presence of Message Queues.In WS-FM’08  C. Guidi, R. Lucchi, R. Gorrieri, N. Busi, and G. Zavattaro. SOCK: a Calculus for Service Oriented Computing. In ICSOC’06.  F. Montesi, C. Guidi, and G. Zavattaro. Orchestrating Services in JOLIE. In ECOWS’07.  C. Guidi, I. Lanese, F. Montesi, and G. Zavattaro. On the Interplay Between Fault Handling and Request-response Service Invocations. In ACSD’08.  C. Guidi, F. Montesi, I. Lanese, and G. Zavattaro. Dynamic Fault-handling for Service Oriented Applications. In ECOWS’08.  M. Bravetti and G. Zavattaro. On the Expressive Power of Process Interruption and Compensation. In WS-FM’08

References  N. Busi, R. Gorrieri, C. Guidi, R. Lucchi, and G. Zavattaro. Choreography and Orchestration Conformance for System Design. In Coordination’06.  I. Lanese, C. Guidi, F. Montesi, and G. Zavattaro. Bridging the Gap Between Interaction- and Process-oriented Choreographies. In SEFM’08.  M. Bravetti and G. Zavattaro. Contract based Multi-party Service Composition. In FSEN’07. (full version in Fundamenta Informaticae)  M. Bravetti and G. Zavattaro. Towards a Unifying Theory for Choreography Conformance and Contract Compliance. In SC’07.  M. Bravetti and G. Zavattaro. A Theory for Strong Service Compliance. In Coordination’07. (full version in MSCS)  M. Bravetti and G. Zavattaro. Contract Compliance and Choreography Conformance in the presence of Message Queues.In WS-FM’08  C. Guidi, R. Lucchi, R. Gorrieri, N. Busi, and G. Zavattaro. SOCK: a Calculus for Service Oriented Computing. In ICSOC’06.  F. Montesi, C. Guidi, and G. Zavattaro. Orchestrating Services in JOLIE. In ECOWS’07.  C. Guidi, I. Lanese, F. Montesi, and G. Zavattaro. On the Interplay Between Fault Handling and Request-response Service Invocations. In ACSD’08.  C. Guidi, F. Montesi, I. Lanese, and G. Zavattaro. Dynamic Fault-handling for Service Oriented Applications. In ECOWS’08.  M. Bravetti and G. Zavattaro. On the Expressive Power of Process Interruption and Compensation. In WS-FM’08

References  N. Busi, R. Gorrieri, C. Guidi, R. Lucchi, and G. Zavattaro. Choreography and Orchestration Conformance for System Design. In Coordination’06.  I. Lanese, C. Guidi, F. Montesi, and G. Zavattaro. Bridging the Gap Between Interaction- and Process-oriented Choreographies. In SEFM’08.  M. Bravetti and G. Zavattaro. Contract based Multi-party Service Composition. In FSEN’07. (full version to appear in Fundamenta Informaticae)  M. Bravetti and G. Zavattaro. Towards a Unifying Theory for Choreography Conformance and Contract Compliance. In SC’07.  M. Bravetti and G. Zavattaro. A Theory for Strong Service Compliance. In Coordination’07. (full version to appear in MSCS)  M. Bravetti and G. Zavattaro. Contract Compliance and Choreography Conformance in the presence of Message Queues.In WS-FM’08  C. Guidi, R. Lucchi, R. Gorrieri, N. Busi, and G. Zavattaro. SOCK: a Calculus for Service Oriented Computing. In ICSOC’06.  F. Montesi, C. Guidi, and G. Zavattaro. Orchestrating Services in JOLIE. In ECOWS’07.  C. Guidi, I. Lanese, F. Montesi, and G. Zavattaro. On the Interplay Between Fault Handling and Request-response Service Invocations. In ACSD’08.  C. Guidi, F. Montesi, I. Lanese, and G. Zavattaro. Dynamic Fault-handling for Service Oriented Applications. In ECOWS’08.  M. Bravetti and G. Zavattaro. On the Expressive Power of Process Interruption and Compensation. In WS-FM’08

References  N. Busi, R. Gorrieri, C. Guidi, R. Lucchi, and G. Zavattaro. Choreography and Orchestration Conformance for System Design. In Coordination’06.  I. Lanese, C. Guidi, F. Montesi, and G. Zavattaro. Bridging the Gap Between Interaction- and Process-oriented Choreographies. In SEFM’08.  M. Bravetti and G. Zavattaro. Contract based Multi-party Service Composition. In FSEN’07. (full version to appear in Fundamenta Informaticae)  M. Bravetti and G. Zavattaro. Towards a Unifying Theory for Choreography Conformance and Contract Compliance. In SC’07.  M. Bravetti and G. Zavattaro. A Theory for Strong Service Compliance. In Coordination’07. (full version to appear in MSCS)  M. Bravetti and G. Zavattaro. Contract Compliance and Choreography Conformance in the presence of Message Queues.In WS-FM’08  C. Guidi, R. Lucchi, R. Gorrieri, N. Busi, and G. Zavattaro. SOCK: a Calculus for Service Oriented Computing. In ICSOC’06.  F. Montesi, C. Guidi, and G. Zavattaro. Orchestrating Services in JOLIE. In ECOWS’07.  C. Guidi, I. Lanese, F. Montesi, and G. Zavattaro. On the Interplay Between Fault Handling and Request-response Service Invocations. In ACSD’08.  C. Guidi, F. Montesi, I. Lanese, and G. Zavattaro. Dynamic Fault-handling for Service Oriented Applications. In ECOWS’08.  M. Bravetti and G. Zavattaro. On the Expressive Power of Process Interruption and Compensation. In WS-FM’08