On projecting processes into session types

We define session types as projections of the behaviour of processes with respect to the operations processes perform on channels. This calls for a parallel composition operator over session types denoting the simultaneous access to a channel by two or more processes. The proposed approach allows us to define a semantically grounded theory of session types that does not require the linear usage of channels. However, type preservation and progress can only be guaranteed for processes that never receive channels they already own. A number of examples show that the resulting framework validates existing session-type theories and unifies them to some extent.

[1]  Sophia Drossopoulou,et al.  Amalgamating sessions and methods in object-oriented languages with generics , 2009, Theor. Comput. Sci..

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

[3]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[4]  Sophia Drossopoulou,et al.  Session Types for Object-Oriented Languages , 2006, ECOOP.

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

[6]  Shin Saito,et al.  An Implicitly-Typed Deadlock-Free Process Calculus , 2000, CONCUR.

[7]  Rance Cleaveland,et al.  Divergence and Fair Testing , 1995, ICALP.

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

[9]  Vasco Thudichum Vasconcelos,et al.  A Linear Account of Session Types in the Pi Calculus , 2010, CONCUR.

[10]  Simon Gay,et al.  Asynchronous Functional Session Types , 2007 .

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

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

[13]  Sophia Drossopoulou,et al.  Amalgamating the Session Types and the Object Oriented Programming Paradigms , 2007 .

[14]  Bruno Courcelle,et al.  Fundamental Properties of Infinite Trees , 1983, Theor. Comput. Sci..

[15]  Naoki Kobayashi,et al.  A Generalized Deadlock-Free Process Calculus , 1998, Electron. Notes Theor. Comput. Sci..

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

[17]  B. Pierce,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[18]  Daniele Varacca,et al.  Semantic subtyping for the pi-calculus , 2008, Theor. Comput. Sci..

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

[20]  Sagar Chaki,et al.  Types as models: model checking message-passing programs , 2002, POPL '02.

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

[22]  Luca Padovani Session Types = Intersection Types + Union Types , 2010, ITRS.

[23]  António Ravara,et al.  Type checking a multithreaded functional language with session types , 2006, Theor. Comput. Sci..

[24]  Sophia Drossopoulou,et al.  Objects and session types , 2009, Inf. Comput..

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

[26]  Hugo Torres Vieira,et al.  Conversation Types , 2009, ESOP.

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

[28]  Lucia Acciai,et al.  A Type System for Client Progress in a Service-Oriented Calculus , 2008, Concurrency, Graphs and Models.

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

[30]  Cosimo Laneve,et al.  PiDuce - A project for experimenting Web services technologies , 2009, Sci. Comput. Program..

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

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

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

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

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

[36]  Flemming Nielson,et al.  Higher-order concurrent programs with finite communication topology (extended abstract) , 1994, POPL '94.

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

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

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

[40]  Giuseppe Castagna,et al.  Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types , 2008, JACM.

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

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

[43]  Vasco Thudichum Vasconcelos Fundamentals of Session Types , 2009, SFM.

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

[45]  Atsushi Igarashi,et al.  A generic type system for the Pi-calculus , 2001, POPL '01.