skip to main content
research-article

A theory of contracts for web services

Published: 07 January 2008 Publication 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.
[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.
[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.
[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.
[5]
K. Bruce and G. Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87(1/2):196--240, 1990.
[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.
[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.
[8]
L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138--164, 1988.
[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.
[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.
[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.
[12]
G. Chen. Soundness of coercion in the calculus of constructions. Journal of Logic and Computation, 14(3):405--427, 2004.
[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/.
[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/.
[15]
R. De Nicola and M. Hennessy. CCS without o's. In TAPSOFT/CAAP'87, LNCS 249, pages 138--152. Springer, 1987.
[16]
R. De Nicola and M. Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83--133, 1984.
[17]
R. Di Cosmo. Isomorphisms of Types: from Lambda Calculus to Information Retrieval and Language Design. Birkh�user, 1995.
[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/.
[19]
C. Fournet, C. A. R. Hoare, S. K. Rajamani, and J. Rehof. Stuck-free conformance. In CAV'04, LNCS 3114. Springer, 2004.
[20]
S. Gay and M. Hole. Subtyping for session types in the ss-calculus. Acta Informatica, 42(2--3):191--225, 2005.
[21]
M. Hennessy. Algebraic Theory of Processes. Foundation of Computing. MIT Press, 1988.
[22]
M. Hennessy. Acceptance trees. Journal of the ACM, 32(4):896--928, 1985.
[23]
K. Honda. Types for dyadic interaction. In CONCUR '93, LNCS 715, pages 509--523. Springer, 1993.
[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.
[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.
[26]
R. Milner. A Calculus of Communicating Systems. Springer, 1982.
[27]
M. Rittri. Retrieving library functions by unifying types modulo linear isomorphism. RAIRO Theoretical Informatics and Applications, 27(6):523--540, 1993.
[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.
[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.

Cited By

View all
  • (2018)Foundations of Coordination and Contracts and Their Contribution to Session Type TheoryCoordination Models and Languages10.1007/978-3-319-92408-3_2(21-50)Online publication date: 27-May-2018
  • (2016)Generalized semantic Web service compositionService Oriented Computing and Applications10.1007/s11761-014-0167-510:2(111-133)Online publication date: 1-Jun-2016
  • (2016)Multiparty Session Types Within a Canonical Binary Theory, and Beyond36th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Objects, Components, and Systems - Volume 968810.1007/978-3-319-39570-8_6(74-95)Online publication date: 6-Jun-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 43, Issue 1
POPL '08
January 2008
420 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1328897
Issue’s Table of Contents
  • cover image ACM Conferences
    POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2008
    448 pages
    ISBN:9781595936899
    DOI:10.1145/1328438
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 January 2008
Published in�SIGPLAN�Volume 43, Issue 1

Check for updates

Author Tags

  1. CCS
  2. concurrency theory
  3. contracts
  4. explicit coercions
  5. must testing
  6. subtyping
  7. type theory
  8. web services

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Foundations of Coordination and Contracts and Their Contribution to Session Type TheoryCoordination Models and Languages10.1007/978-3-319-92408-3_2(21-50)Online publication date: 27-May-2018
  • (2016)Generalized semantic Web service compositionService Oriented Computing and Applications10.1007/s11761-014-0167-510:2(111-133)Online publication date: 1-Jun-2016
  • (2016)Multiparty Session Types Within a Canonical Binary Theory, and Beyond36th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Objects, Components, and Systems - Volume 968810.1007/978-3-319-39570-8_6(74-95)Online publication date: 6-Jun-2016
  • (2016)Multiparty Testing PreordersTrustworthy Global Computing10.1007/978-3-319-28766-9_2(16-31)Online publication date: 5-Jan-2016
  • (2014)Multiparty Session NetsTrustworthy Global Computing10.1007/978-3-662-45917-1_8(112-127)Online publication date: 23-Dec-2014
  • (2010)Analyzing Behavioral Substitution of Web Services Based on Pi-calculusProceedings of the 2010 IEEE International Conference on Web Services10.1109/ICWS.2010.54(441-448)Online publication date: 5-Jul-2010
  • (2009)Service InteractionFormal Methods for Web Services10.1007/978-3-642-01918-0_2(42-88)Online publication date: 22-May-2009
  • (2009)Deciding Substitutability of Services with Operating GuidelinesTransactions on Petri Nets and Other Models of Concurrency II10.1007/978-3-642-00899-3_10(172-191)Online publication date: 26-Mar-2009
  • (2024)SEArch: An�Execution Infrastructure for�Service-Based Software SystemsCoordination Models and Languages10.1007/978-3-031-62697-5_17(314-330)Online publication date: 11-Jun-2024
  • (2021)Asynchronous session subtyping as communicating automata refinementSoftware and Systems Modeling10.1007/s10270-020-00838-xOnline publication date: 4-Jan-2021
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media