Protocol contracts with application to choreographed multiparty collaborations

  • Ashley McNeileEmail author
Original Research Paper


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.


Behavior contract Verification Service collaboration Service choreography Process algebra 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bocchi L, Honda K, Tuosto E, Yoshida N (2009) A theory of design-by-contract for distributed multiparty interactions. Technical Report, University of Leicester, University of London and Imperial College LondonGoogle Scholar
  2. 2.
    Ebert J, Engels G (1994) Observable or invocable behaviour—you have to choose. Technical Report 94-38. Department of Computer Science, Leiden UniversityGoogle Scholar
  3. 3.
    Fu X, Bultan T, Su J (2004) Conversation protocols: a formalism for specification and verification of reactive electronic services. Theor Comput Sci 328(1–2): 19–37zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Fu X, Bultan T, Su J (2004) Realizability of conversation protocols with message contents. In: ICWS ’04: Proceedings of the 2004 IEEE international conference on Web services. IEEE Computer Society, Washington, DC, pp 96–103. doi: 10.1109/ICWS.2004.92
  5. 5.
    Hoare C (1985) Communicating sequential processes. Prentice-Hall International, Englewood Cliffs, NJzbMATHGoogle Scholar
  6. 6.
    Hoare C (2006) Why ever CSP. Electronic Notes Theor Comput Sci 162: 209–215. doi: 10.1016/j.entcs.2006.01.031 CrossRefGoogle Scholar
  7. 7.
    Honda K, Yoshida N, Carbone M (2008) Multiparty asynchronous session types. SIGPLAN Not 43(1): 273–284. doi: 10.1145/1328897.1328472 Google Scholar
  8. 8.
    Kazhamiakin R, Pistore M (2006) Analysis of realizability conditions for web service choreographies. In: Najm E et al (ed) Proceedings of FORTE 2006, 26th IFIP WG 6.1 international conference, Paris. Lecture Notes in Computer Science, vol 4229. Springer, pp 61–76Google Scholar
  9. 9.
    Lanese I, Guidi C, Montesi F, Zavattaro G (2008) Bridging the gap between interaction- and process-oriented choreographies. In: Proceedings of SEFM’08, 6th IEEE international conferences on software engineering and formal methods. IEEE Computer Society, Washington, DC, pp 323–332Google Scholar
  10. 10.
    McNeile A, Simons N (2006) Protocol modelling: a modelling approach that supports reusable behavioural abstractions. J Softw Syst Model 5(1): 91–107. doi: 10.1007/s10270-005-0100-7 CrossRefGoogle Scholar
  11. 11.
    McNeile A, Simons N (2008) Metamaxim Website: ModelScope Tool.
  12. 12.
    Meyer B (2000) Object-oriented software construction. Prentice Hall PTR, Englewood Cliffs, NJGoogle Scholar
  13. 13.
    Mendling J, Hafner M, (2005) From inter-organizational workflows to process execution: generating BPEL from WS-CDL. In:Meersman R, Tari Z et al (eds) OTM workshops. Lecture Notes in Computer Science, vol 3762. Springer, pp 506–515Google Scholar
  14. 14.
    Milner R (1980) A calculus of communicating systems. Lecture Notes in Computer Science, vol 92. SpringerGoogle Scholar
  15. 15.
    Object Management Group (2009) Business process model and notation (BPMN): FTF Beta 1 for Version 2.0. OMG Document Number: dtc/2009-08-14. Technical Report, Object Management GroupGoogle Scholar
  16. 16.
    Owicki S, Lamport L (1982) Proving liveness properties of concurrent programs. ACM Trans Program Lang Syst 4(3): 455–495. doi: 10.1145/357172.357178 zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  1. 1.Metamaxim Ltd.LondonUK

Personalised recommendations