Sub-behaviour relations for session-based client/server systems

We propose a refinement and a simplification of the behavioural semantics of session types, based on the concepts of compliance and sub-behaviour from the theory of web contracts. We introduce three relations on a suitable class of behaviours with higher-order input/output, called ‘session behaviours’. Such relations, depending on each other, represent the idea of sub-behaviour from the point of view of a client, a server or a peer, respectively. A restriction of the intersection of the first two relations characterizes the ‘usual’ sub-behaviour relation from the literature. We then device an algorithmic formal system for three subtyping relations (dubbed CSP-subtyping) for session types that takes into account the role played by a user of a channel during an interaction, so extending Gay and Hole subtyping theory. We show that our session behaviours and sub-behaviour relations provide sound and complete semantics for CSP-subtyping, and for Gay and Hole subtyping as a by-product.

[1]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[2]  Benjamin C. Pierce,et al.  Recursive subtyping revealed , 2000, Journal of Functional Programming.

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

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

[5]  Simon J. Gay,et al.  Types and Subtypes for Client-Server Interactions , 1999, ESOP.

[6]  António Ravara,et al.  An Algebra of Behavioural Types , 2012, Inf. Comput..

[7]  Rocco De Nicola,et al.  Testing Equivalence for Processes , 1983, ICALP.

[8]  Luca Padovani,et al.  Foundations of session types , 2009, PPDP '09.

[9]  Matthew Hennessy,et al.  Using higher-order contracts to model session types , 2016, Log. Methods Comput. Sci..

[10]  Luca Padovani,et al.  General Session Types , 2008 .

[11]  Mario Bravetti,et al.  A Foundational Theory of Contracts for Multi-party Service Composition , 2008, Fundam. Informaticae.

[12]  Luca Padovani,et al.  Contracts for Mobile Processes , 2009, CONCUR.

[13]  Sara Capecchi,et al.  Typing Asymmetric Client-Server Interaction , 2009, FSEN.

[14]  Luca Padovani Contract-Based Discovery and Adaptation of Web Services , 2009, SFM.

[15]  Nobuko Yoshida,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 2007, Electron. Notes Theor. Comput. Sci..

[16]  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.

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

[18]  Mariangiola Dezani-Ciancaglini,et al.  On Progress for Structured Communications , 2007, TGC.

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

[20]  Cosimo Laneve,et al.  The must preorder revisited: an algebraic theory for web services contracts , 2007 .

[21]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[22]  Rocco De Nicola,et al.  CCS without tau's , 1987, TAPSOFT, Vol.1.

[23]  Luca Padovani Fair Subtyping for Open Session Types , 2013, ICALP.

[24]  Dezani Mariangiola,et al.  On Progress for Structured Communications , 2008 .

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

[26]  Luca Padovani,et al.  On projecting processes into session types , 2012, Mathematical Structures in Computer Science.

[27]  Gary T. Leavens,et al.  A complete algebraic characterization of behavioral subtyping , 2000, Acta Informatica.

[28]  Matthew Hennessy,et al.  Mutually Testing Processes - (Extended Abstract) , 2013, CONCUR.

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

[30]  Luca Padovani Session Types at the Mirror , 2009, ICE.

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

[32]  Mario Bravetti,et al.  Contract based multi-party service composition , 2007, FSEN'07.

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

[34]  Fritz Henglein,et al.  Coinductive Axiomatization of Recursive Type Equality and Subtyping , 1998, Fundam. Informaticae.

[35]  Matthew Hennessy,et al.  Modelling session types using contracts , 2012, SAC '12.

[36]  Giuseppe Castagna,et al.  A gentle introduction to semantic subtyping , 2005, ICALP.

[37]  Luca Padovani,et al.  A theory of contracts for Web services , 2007, TOPL.