skip to main content
10.1145/1328438.1328471acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

A theory of contracts for web services

Published:07 January 2008Publication History

ABSTRACT

Contracts are behavioural descriptions of Web services. We devise a theory of contracts that formalises the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services.

The technical device that underlies the theory is the definition of filters, which are explicit coercions that prevent some possible behaviours of services and, in doing so, they make services compatible with different usage scenarios. We show that filters can be seen as proofs of a sound and complete subcontracting deduction system which simultaneously refines and extends Hennessy's classical axiomatisation of the must testing preorder. The relation is decidable and the decision algorithm is obtained via a cut-elimination process that proves the coherence of subcontracting as a logical system.

Despite the richness of the technical development, the resulting approach is based on simple ideas and basic intuitions. Remarkably, its application is mostly independent of the language used to program the services or the clients. We also outline the possible practical impact of such a work and the perspectives of future research it opens.

References

  1. A. Alves, A. Arkin, S. Askary, C. Barreto, et al. Web Services Business Process Execution Language Version 2.0, April 2007. OASIS Standard, http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html.Google ScholarGoogle Scholar
  2. A. Banerji, C. Bartolini, D. Beringer, V. Chopella, et al. Web Services Conversation Language (wscl) 1.0, March 2002. W3C Note, http://www.w3.org/TR/2002/NOTE-wscl10-20020314.Google ScholarGoogle Scholar
  3. T. Bellwood, S. Capell, L. Clement, J. Colgrave, et al. UDDI Version 3.0.2, 2005. OASIS Standard, http://uddi.org/pubs/uddi-v3.0.2-20041019.htm.Google ScholarGoogle Scholar
  4. M. Bravetti and G. Zavattaro. Towards a unifying theory for choreography conformance and contract compliance. In Proc. of the 6th Intl. Symposium on Software Composition. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. Bruce and G. Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87(1/2):196--240, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Carbone, K. Honda, and N. Yoshida. A calculus of global interaction based on session types. Electronic Notes in Theoretical Computer Science, 171(3):127--151, 2007a. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Carbone, K. Honda, and N. Yoshida. Structured communication-centred programming for web services. In ESOP'07, 16th European Symposium on Programming, LNCS 4421. Springer, 2007b. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138--164, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Carpineti, G. Castagna, C. Laneve, and L. Padovani. A formal account of contracts for Web Services. In 3rd Int'l Workshop on Web Services and Formal Methods, LNCS 4184. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Castagna and A. Frisch. A gentle introduction to semantic subtyping. In PPDP '05 ACM Press (full version) and ICALP '05, LNCS 3580, Springer (summary), 2005. Joint ICALP-PPDP keynote talk. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Castagna, N. Gesbert, and L. Padovani. A theory of contracts for web services. In PLAN-X '07, 5th ACM-SIGPLAN Workshop on Programming Language Technologies for XML, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Chen. Soundness of coercion in the calculus of constructions. Journal of Logic and Computation, 14(3):405--427, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Chinnici, J.-J. Moreau, A. Ryman, and S. Weerawarana. Web Services Description Language (wsdl) Version 2.0 Part 1: Core Language, June 2007b. W3C Recommendation, http://www.w3.org/TR/wsdl20/.Google ScholarGoogle Scholar
  14. R. Chinnici, H. Haas, A.-A. Lewis, J.-J. Moreau, et al. Web Services Description Language (wsdl) Version 2.0 Part 2: Adjuncts, June 2007a. W3C Recommendation, http://www.w3.org/TR/wsdl20-adjuncts/.Google ScholarGoogle Scholar
  15. R. De Nicola and M. Hennessy. CCS without o's. In TAPSOFT/CAAP'87, LNCS 249, pages 138--152. Springer, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. De Nicola and M. Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83--133, 1984.Google ScholarGoogle ScholarCross RefCross Ref
  17. R. Di Cosmo. Isomorphisms of Types: from Lambda Calculus to Information Retrieval and Language Design. Birkhäuser, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. C. Fallside and P. Walmsley. XML Schema Part 0: Primer Second Edition, October 2004. W3C Recommendation, http://www.w3.org/TR/xmlschema-0/.Google ScholarGoogle Scholar
  19. C. Fournet, C. A. R. Hoare, S. K. Rajamani, and J. Rehof. Stuck-free conformance. In CAV'04, LNCS 3114. Springer, 2004.Google ScholarGoogle Scholar
  20. S. Gay and M. Hole. Subtyping for session types in the ss-calculus. Acta Informatica, 42(2--3):191--225, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Hennessy. Algebraic Theory of Processes. Foundation of Computing. MIT Press, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Hennessy. Acceptance trees. Journal of the ACM, 32(4):896--928, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. Honda. Types for dyadic interaction. In CONCUR '93, LNCS 715, pages 509--523. Springer, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Honda, V. T. Vasconcelos, and M. Kubo. Language primitives and type discipline for structured communication-based programming. In European Symposium on Programming, LNCS 1381. Springer, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. C. Laneve and L. Padovani. The must preorder revisited -- An algebraic theory for web services contracts. In 18th International Conference on Concurrency Theory. LNCS 4703, Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. Milner. A Calculus of Communicating Systems. Springer, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Rittri. Retrieving library functions by unifying types modulo linear isomorphism. RAIRO Theoretical Informatics and Applications, 27(6):523--540, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  28. S. Soloviev, A. Jones, and Z. Luo. Some Algorithmic and Proof-Theoretical Aspects of Coercive Subtyping. In TYPES'96. LNCS 1512, 173--196, Springer, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. K. Takeuchi, K. Honda, and M. Kubo. An interaction-based language and its typing system. In Parallel Architectures and Languages Europe, pages 398--413, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A theory of contracts for web services

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!