Modelling session types using contracts

Web services are one of the most widely used technologies for service oriented computing. In particular, they support client-server protocols whose specifications are written in XML languages as such as WSCL or WSDL. Notwithstanding the wide adoption of web services, it is not yet clear which formalism should be used to reason about the protocols they support. Session types and contracts are two formalisms used to study client-server protocols, both promoted as good formal methods for web services. In this paper we study the relationship between contracts and session types. The main result is the existence of a fully abstract model of session types; this model is based on a natural interpretation of these types into a subset of contracts.

[1]  Ashley T. McNeile,et al.  A framework for the semantics of behavioral contracts , 2010, BM-FA '10.

[2]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[3]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[4]  Luca Padovani,et al.  Formal Methods for Web Services , 2009, Lecture Notes in Computer Science.

[5]  Frank Pfenning,et al.  Session Types as Intuitionistic Linear Propositions , 2010, CONCUR.

[6]  Anura Gurugé,et al.  Universal Description, Discovery, and Integration , 2004 .

[7]  GesbertNils,et al.  A theory of contracts for Web services , 2008 .

[8]  Luca Padovani,et al.  Formal Methods for Web Services: 9th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2009, Bertinoro, Italy, June 1-6, 2009, Advanced Lectures , 2009 .

[9]  Ekkart Kindler,et al.  Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications , 2010 .

[10]  Gustavo Alonso,et al.  Web Services: Concepts, Architectures and Applications , 2009 .

[11]  António Ravara,et al.  Session Types for Inter-Process Communication , 2003 .

[12]  Mario Bravetti,et al.  Contract-Based Discovery and Composition of Web Services , 2009, SFM.

[13]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[14]  Cosimo Laneve,et al.  The Must Preorder Revisited , 2007, CONCUR.

[15]  Vasco T. Vasconcelos,et al.  Proceedings of the 18th international conference on Concurrency Theory , 2007 .

[16]  Elie Najm,et al.  Session Types for Orchestration Charts , 2008, COORDINATION.

[17]  Cosimo Laneve,et al.  The Pairing of Contracts and Session Types , 2008, Concurrency, Graphs and Models.

[18]  Cosimo Laneve,et al.  A Formal Account of Contracts for Web Services , 2006, WS-FM.

[19]  Luca Padovani,et al.  Fair Subtyping for Multi-party Session Types , 2011, COORDINATION.

[20]  Carlos Gershenson,et al.  Information and Computation , 2013, Handbook of Human Computation.

[21]  Davide Sangiorgi,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[22]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[23]  Luca Padovani Contract-based discovery of Web services modulo simple orchestrators , 2010, Theor. Comput. Sci..

[24]  Rik Eshuis,et al.  Comparing Refinements for Failure and Bisimulation Semantics , 2002, Fundam. Informaticae.

[25]  Michele Bugliesi,et al.  A Theory of Adaptable Contract-Based Service Composition , 2008, 2008 10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[26]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[27]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[28]  Ugo de'Liguoro,et al.  Two notions of sub-behaviour for session-based client/server systems , 2010, PPDP.