A Semantic Deconstruction of Session Types

We investigate the semantic foundations of session types, by revisiting them in the abstract setting of labelled transition systems. The crucial insight is a simulation relation which generalises the usual syntax-directed notions of typing and subtyping, and encompasses both synchronous and asynchronous binary session types. This allows us to extend the session types theory to some common programming patterns which are not typically considered in the session types literature.

[1]  Mario Bravetti,et al.  CONCUR 2009 - Concurrency Theory, 20th International Conference, CONCUR 2009, Bologna, Italy, September 1-4, 2009. Proceedings , 2009, CONCUR.

[2]  Ugo de'Liguoro,et al.  Loosening the notions of compliance and sub-behaviour in client/server systems , 2013, ICE.

[3]  Elsevier Open Archive A Calculus of Mobile Processes, I , 2015 .

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

[5]  Nobuko Yoshida,et al.  Session-Based Communication Optimisation for Higher-Order Mobile Processes , 2009, TLCA.

[6]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

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

[8]  Alceste Scalas,et al.  The LTS WorkBench , 2015, ICE.

[9]  Martin Odersky,et al.  An Overview of the Scala Programming Language , 2004 .

[10]  Mariangiola Dezani-Ciancaglini,et al.  On the Preciseness of Subtyping in Session Types , 2014, PPDP '14.

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

[12]  Nobuko Yoshida,et al.  Structured Communication-Centered Programming for Web Services , 2007, TOPL.

[13]  Jeff Magee,et al.  Concurrency - state models and Java programs (2. ed.) , 2006 .

[14]  Verzekeren Naar Sparen,et al.  Cambridge , 1969, Humphrey Burton: In My Own Time.

[15]  Davide Sangiorgi,et al.  Bisimulations Up-to: Beyond First-Order Transition Systems , 2014, CONCUR.

[16]  Matthew Hennessy,et al.  Testing Theories for Asynchronous Languages , 1998, FSTTCS.

[17]  Andrew D. Gordon,et al.  Verified Reference Implementations of WS-Security Protocols , 2006, WS-FM.

[18]  Emilio Tuosto,et al.  Honesty by Typing , 2013, FMOODS/FORTE.

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

[20]  Eduardo Bonelli,et al.  Multipoint Session Types for a Distributed Calculus , 2007, TGC.

[21]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

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

[23]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[24]  Mario Bravetti,et al.  Contract Compliance and Choreography Conformance in the Presence of Message Queues , 2008, WS-FM.

[25]  Luca Padovani,et al.  Typing Liveness in Multiparty Communicating Systems , 2014, COORDINATION.

[26]  Vasco Thudichum Vasconcelos,et al.  Session Typing for a Featherweight Erlang , 2011, COORDINATION.

[27]  Matthew Hennessy,et al.  Modelling session types using contracts , 2016, Math. Struct. Comput. Sci..

[28]  Mariangiola Dezani-Ciancaglini,et al.  Asynchronous Session Types and Progress for Object Oriented Languages , 2007, FMOODS.

[29]  Dimitris Mostrous,et al.  Session types in concurrent calculi : higher-order processes and objects , 2009 .

[30]  Alain Finkel,et al.  Verification of programs with half-duplex communication , 2005, Inf. Comput..

[31]  Michele Bugliesi,et al.  Compliance Preorders for Web Services , 2009, WS-FM.

[32]  Nobuko Yoshida,et al.  Global Principal Typing in Partially Commutative Asynchronous Sessions , 2009, ESOP.

[33]  Mario Bravetti,et al.  Towards a Unifying Theory for Choreography Conformance and Contract Compliance , 2007, SC@ETAPS.

[34]  Vasco Thudichum Vasconcelos,et al.  Fundamentals of session types , 2009, Inf. Comput..

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

[36]  Hugo Torres Vieira,et al.  Conversation types , 2009, Theor. Comput. Sci..

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

[38]  Nobuko Yoshida,et al.  Global Escape in Multiparty Sessions , 2010, FSTTCS.

[39]  Nobuko Yoshida,et al.  On Asynchronous Session Semantics , 2011, FMOODS/FORTE.

[40]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

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

[42]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

[43]  Ugo de'Liguoro,et al.  Sub-behaviour relations for session-based client/server systems , 2015, Math. Struct. Comput. Sci..

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

[45]  Nobuko Yoshida,et al.  Practical Interruptible Conversations - Distributed Dynamic Verification with Session Types and Python , 2013, RV.

[46]  Paul Gastin,et al.  CONCUR 2010 - Concurrency Theory, 21th International Conference, CONCUR 2010, Paris, France, August 31-September 3, 2010. Proceedings , 2010, CONCUR.

[47]  Peter Thiemann,et al.  Session Types for Asynchronous Communication , 2007 .

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

[49]  Michael F. P. O'Boyle A Data Partitioning Algorithm for Distributed Memory Compilation , 1994, PARLE.

[50]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[51]  Luca Padovani,et al.  On Global Types and Multi-Party Session , 2012, Log. Methods Comput. Sci..

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

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

[54]  Marsha Chechik,et al.  CONCUR 2008 - Concurrency Theory, 19th International Conference, CONCUR 2008, Toronto, Canada, August 19-22, 2008. Proceedings , 2008, CONCUR.

[55]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[56]  Philip Wadler Propositions as sessions , 2014, J. Funct. Program..

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

[58]  Romain Demangeon,et al.  Full Abstraction in a Subtyped pi-Calculus with Linear Types , 2011, CONCUR.

[59]  D. Sangiorgi Introduction to Bisimulation and Coinduction , 2011 .

[60]  Loris D'Antoni,et al.  Global Progress in Dynamically Interleaved Multiparty Sessions , 2008, CONCUR.

[61]  Laura Bocchi,et al.  A Theory of Design-by-Contract for Distributed Multiparty Interactions , 2010, CONCUR.

[62]  Nobuko Yoshida,et al.  Multiparty Compatibility in Communicating Automata: Characterisation and Synthesis of Global Session Types , 2013, ICALP.

[63]  Nobuko Yoshida,et al.  Structured Communication-Centred Programming for Web Services , 2007, ESOP.

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

[65]  Matthew Hennessy,et al.  Compliance and Testing Preorders Differ , 2013, SEFM Workshops.

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

[67]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[68]  Massimo Bartoletti,et al.  A Theory of Agreements and Protection , 2013, POST.

[69]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[70]  Emilio Tuosto,et al.  From Communicating Machines to Graphical Choreographies , 2015, POPL.

[71]  Kohei Honda,et al.  An Interaction-based Language and its Typing System , 1994, PARLE.

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

[73]  Matthew Hennessy,et al.  Using Higher-Order Contracts to Model Session Types (Extended Abstract) , 2013, CONCUR.