Towards a Unifying Theory for Choreography Conformance and Contract Compliance

  • Mario Bravetti
  • Gianluigi Zavattaro
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4829)


In the context of Service Oriented Computing, contracts are descriptions of the externally observable behaviour of services. Given a group of collaborating services, their contracts can be used to verify whether their composition is sound, i.e., the services are compliant. In this paper, we relate the theory of contracts with the notion of choreography conformance, used to check whether an aggregation of services correctly behaves according to a high level specification of their possible conversations. The main result of this paper is the definition of an effective procedure that can be used to verify whether a service with a given contract can correctly play a specific role within a choreography. This procedure is achieved via composition of choreography projection and contract refinement.


Unify Theory Service Composition Operational Semantic Travel Agency Service Contract 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BZ06a]
    Bravetti, M., Zavattaro, G.: Contract based Multi-party Service Composition. In: Roddick, J.F., Hornsby, K. (eds.) TSDM 2000. LNCS (LNAI), vol. 2007, Springer, Heidelberg (2001)Google Scholar
  2. [BZ06b]
    Bravetti, M., Zavattaro, G.: Towards a Unifying Theory for Choreography Conformance and Contract Compliance. Technical report available at
  3. [BGG+05]
    Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Choreography and orchestration: A synergic approach for system design. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 228–240. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. [BGG+06]
    Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Choreography and orchestration conformance for system design. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 63–81. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. [CHY07]
    Carbone, M., Honda, K., Yoshida, N.: Structured Communication-Centred Programming for Web Services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, Springer, Heidelberg (2007)Google Scholar
  6. [CCL+06]
    Carpineti, S., Castagna, G., Laneve, C., Padovani, L.: A Formal Account of Contracts for Web Services. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 148–162. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. [CL06]
    Carpineti, S., Laneve, C.: A Basic Contract Language for Web Services. In: Sestoft, P. (ed.) ESOP 2006 and ETAPS 2006. LNCS, vol. 3924, pp. 197–213. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. [DH84]
    Rocco De Nicola and Matthew Hennessy, Testing Equivalences for Processes. Theoretical Computer Science, volume 34: 83–133 (1984)Google Scholar
  9. [FHR+04]
    Fournet, C., Hoare, C.A.R., Rajamani, S.K., Rehof, J.: Stuck-Free Conformance. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 242–254. Springer, Heidelberg (2004)Google Scholar
  10. [Ley01]
    Leymann, F.: Web Services Flow Language (wsfl 1.0). Technical report, IBM Software Group (2001)Google Scholar
  11. [RV05]
    Rensink, A., Vogler, W.: Fair testing. CTIT Technical Report TR-CTIT-05-64, Department of Computer Science, University of Twente (December 2005)Google Scholar
  12. [OAS]
    OASIS. Web Services Business Process Execution Language Version 2.0Google Scholar
  13. [Tha01]
    Thatte, S.: XLANG: Web services for business process design. Microsoft Corporation (2001)Google Scholar
  14. [W3C]
    W3C. Web Services Choreography Description Language,

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Mario Bravetti
    • 1
  • Gianluigi Zavattaro
    • 1
  1. 1.Department of Computer Science, University of BolognaItaly

Personalised recommendations