Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A theory of contracts for web services

Published: 07 January 2008 Publication History
  • Get Citation Alerts
  • 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)6
    • Downloads (Last 6 weeks)0

    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