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.
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- K. Bruce and G. Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87(1/2):196--240, 1990. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138--164, 1988. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- G. Chen. Soundness of coercion in the calculus of constructions. Journal of Logic and Computation, 14(3):405--427, 2004. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- R. De Nicola and M. Hennessy. CCS without o's. In TAPSOFT/CAAP'87, LNCS 249, pages 138--152. Springer, 1987. Google Scholar
Digital Library
- R. De Nicola and M. Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83--133, 1984.Google Scholar
Cross Ref
- R. Di Cosmo. Isomorphisms of Types: from Lambda Calculus to Information Retrieval and Language Design. Birkhäuser, 1995. Google Scholar
Digital Library
- 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 Scholar
- C. Fournet, C. A. R. Hoare, S. K. Rajamani, and J. Rehof. Stuck-free conformance. In CAV'04, LNCS 3114. Springer, 2004.Google Scholar
- S. Gay and M. Hole. Subtyping for session types in the ss-calculus. Acta Informatica, 42(2--3):191--225, 2005. Google Scholar
Digital Library
- M. Hennessy. Algebraic Theory of Processes. Foundation of Computing. MIT Press, 1988. Google Scholar
Digital Library
- M. Hennessy. Acceptance trees. Journal of the ACM, 32(4):896--928, 1985. Google Scholar
Digital Library
- K. Honda. Types for dyadic interaction. In CONCUR '93, LNCS 715, pages 509--523. Springer, 1993. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Milner. A Calculus of Communicating Systems. Springer, 1982. Google Scholar
Digital Library
- M. Rittri. Retrieving library functions by unifying types modulo linear isomorphism. RAIRO Theoretical Informatics and Applications, 27(6):523--540, 1993.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
A theory of contracts for web services
Recommendations
A theory of contracts for Web services
Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client with a service, and the safe replacement of a service with another service. The use of contracts statically ensures the ...
A theory of contracts for web services
POPL '08Contracts 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 ...
An algebraic theory for web service contracts
AbstractWe study the foundations of Web service technologies for connecting abstract and concrete service definitions and for discovering services according to their observable behavior. We pursue this study addressing a subset of BPEL activities that ...







Comments