On Asynchronous Session Semantics

This paper studies a behavioural theory of the π-calculus with session types under the fundamental principles of the practice of distributed computing -- asynchronous communication which is order-preserving inside each connection (session), augmented with asynchronous inspection of events (message arrivals). A new theory of bisimulations is introduced, distinct from either standard asynchronous or synchronous bisimilarity, accurately capturing the semantic nature of session-based asynchronously communicating processes augmented with event primitives. The bisimilarity coincides with the reduction-closed barbed congruence. We examine its properties and compare them with existing semantics. Using the behavioural theory, we verify that the program transformation of multithreaded into event-driven session based processes, using Lauer-Needham duality, is type and semantic preserving.

[1]  Maxwell N. Krohn,et al.  Building Secure High-Performance Web Services with OKWS , 2004, USENIX Annual Technical Conference, General Track.

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

[3]  Roger M. Needham,et al.  On the duality of operating system structures , 1979, OPSR.

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

[5]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[6]  Nobuko Yoshida,et al.  A uniform type structure for secure information flow , 2002, POPL '02.

[7]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[8]  Vasco Thudichum Vasconcelos,et al.  Linear type theory for asynchronous session types , 2009, Journal of Functional Programming.

[9]  Theo D'Hondt ECOOP 2010 - Object-Oriented Programming, 24th European Conference, Maribor, Slovenia, June 21-25, 2010. Proceedings , 2010, ECOOP.

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

[11]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

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

[13]  Nobuko Yoshida,et al.  Sequentiality and the pi-Calculus , 2001, TLCA.

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

[15]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[16]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[17]  Matthew Hennessy,et al.  A distributed Pi-calculus , 2007 .

[18]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[19]  Nobuko Yoshida,et al.  Type-Safe Eventful Sessions in Java , 2010, ECOOP.

[20]  Adrian Martin S.O.S. , 1992 .

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

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

[23]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

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

[25]  Jan Vitek,et al.  ECOOP 2008 - Object-Oriented Programming, 22nd European Conference, Paphos, Cyprus, July 7-11, 2008, Proceedings , 2008, ECOOP.

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

[27]  Nobuko Yoshida,et al.  Session-Based Distributed Programming in Java , 2008, ECOOP.

[28]  Roberto Gorrieri,et al.  Comparing three semantics for Linda-like languages , 2000, Theor. Comput. Sci..

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

[30]  Peng Li,et al.  Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives , 2007, PLDI '07.

[31]  Doina Bucur,et al.  Secure Data Flow in a Calculus for Context Awareness , 2008, Concurrency, Graphs and Models.

[32]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

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

[34]  Mario Tokoro,et al.  An Object Calculus for Asynchronous Communication , 1991, ECOOP.

[35]  Roberto Gorrieri,et al.  On confluence in the pi-calculus , 1997 .

[36]  John R. Douceur,et al.  Cooperative Task Management without Manual Stack Management or, Event-driven Programming is Not the Opposite of Threaded Programming , 2002 .

[37]  Gavin Lowe,et al.  Extending CSP with Tests for Availability , 2009, CPA.

[38]  Frank D. Valencia,et al.  On the Asynchronous Nature of the Asynchronous pi-Calculus , 2008, Concurrency, Graphs and Models.