Protocol contracts with application to choreographed multiparty collaborations

E-commerce collaborations and cross-organizational workflow applications are increasingly attractive given the universal connectivity provided by the Internet. Such applications are inherently concurrent and non-deterministic, so standard software engineering practices are inadequate, and we need new techniques to design extended collaborations and ensure that the implemented designs will behave correctly. The emerging technique for achieving this is to use a choreography, a global description of the possible sequencing of message exchange between the participants, as the basis for both the design of the collaboration and verification of its behavior. We describe a new technique that uses compositions of partial descriptions to define a choreography and show how the technique can be used to model the use of data and computation in the rules of the collaboration. We define conditions for correctness and show that they can be applied separately to each partial description. We demonstrate the expressive power of the technique with examples and discuss how it improves on previously published approaches.

[1]  Xiang Fu,et al.  Conversation protocols: a formalism for specification and verification of reactive electronic services , 2003, Theor. Comput. Sci..

[2]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[3]  Xiang Fu,et al.  Realizability of conversation protocols with message contents , 2004 .

[4]  C. A. R. Hoare Why ever CSP? , 2006, Electron. Notes Theor. Comput. Sci..

[5]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[6]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[7]  Raman Kazhamiakin,et al.  Analysis of Realizability Conditions for Web Service Choreographies , 2006, FORTE.

[8]  Jan Mendling,et al.  From Inter-organizational Workflows to Process Execution: Generating BPEL from WS-CDL , 2005, OTM Workshops.

[9]  Ivan Lanese,et al.  Bridging the Gap between Interaction- and Process-Oriented Choreographies , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[10]  Laura Bocchi,et al.  A Theory of Design-by-Contract for Distributed Multiparty Interactions , 2010, CONCUR.

[11]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[12]  Ashley T. McNeile,et al.  Protocol modelling: A modelling approach that supports reusable behavioural abstractions , 2006, Software & Systems Modeling.

[13]  Gregor Engels,et al.  Observable or Invocable Behaviour - You Have to Choose , 1994 .