Globally Governed Session Semantics

This paper proposes a bisimulation theory based on multiparty session types where a choreography specification governs the behaviour of session typed processes and their observer. The bisimulation is defined with the observer cooperating with the observed process in order to form complete global session scenarios and usable for proving correctness of optimisations for globally coordinating threads and processes. The induced bisimulation is strictly more fine-grained than the standard session bisimulation. The difference between the governed and standard bisimulations only appears when more than two interleaved multiparty sessions exist. This distinct feature enables to reason real scenarios in the large-scale distributed system where multiple choreographic sessions need to be interleaved. The compositionality of the governed bisimilarity is proved through the soundness and completeness with respect to the governed reduction-based congruence. Finally, its usage is demonstrated by a thread transformation governed under multiple sessions in a real usecase in the large-scale cyberinfrustracture.

[1]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[2]  Matthew Hennessy,et al.  A Testing Theory for a Higher-Order Cryptographic Language - (Extended Abstract) , 2011, ESOP.

[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]  Dimitrios Kouzapas,et al.  A study of bisimulation theory for session types , 2013 .

[5]  Nobuko Yoshida,et al.  Graph Types for Monadic Mobile Processes , 1996, FSTTCS.

[6]  Nobuko Yoshida,et al.  Parameterised Multiparty Session Types , 2010, Log. Methods Comput. Sci..

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

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

[9]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1999, TOPL.

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

[11]  Nobuko Yoshida,et al.  Two Session Typing Systems for Higher-Order Mobile Processes , 2007, TLCA.

[12]  Nobuko Yoshida,et al.  Genericity and the pi-Calculus , 2003, FoSSaCS.

[13]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[14]  Nobuko Yoshida,et al.  Multiparty Session Types Meet Communicating Automata , 2012, ESOP.

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

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

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

[18]  J. Girard,et al.  Proofs and types , 1989 .

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

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

[21]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 2000, Inf. Comput..

[22]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[23]  Bernardo Toninho,et al.  Behavioral Polymorphism and Parametricity in Session-Based Communication , 2013, ESOP.

[24]  Bernardo Toninho,et al.  Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication , 2012, CSL.

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

[26]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

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

[28]  Nobuko Yoshida,et al.  Globally Governed Session Semantics , 2013, CONCUR.

[29]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

[30]  Nobuko Yoshida,et al.  Linearity and Bisimulation , 2002, FoSSaCS.

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

[32]  Nobuko Yoshida,et al.  Multiparty Session C: Safe Parallel Programming with Message Optimisation , 2012, TOOLS.

[33]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

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

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

[36]  Davide Sangiorgi,et al.  Session types revisited , 2012, PPDP.

[37]  Luca Padovani,et al.  Global progress for dynamically interleaved multiparty sessions , 2014, Mathematical Structures in Computer Science.

[38]  Julian Rathke,et al.  Typed behavioural equivalences for processes in the presence of subtyping , 2004, Math. Struct. Comput. Sci..

[39]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[40]  Nobuko Yoshida,et al.  On asynchronous eventful session semantics , 2016, Math. Struct. Comput. Sci..

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

[42]  Davide Sangiorgi,et al.  Environmental Bisimulations for Higher-Order Languages , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

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

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

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

[46]  Kohei Honda,et al.  Sequentiality and the π-Calculus , 2001 .

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

[48]  Bernardo Toninho,et al.  Linear Logical Relations for Session-Based Concurrency , 2012, ESOP.

[49]  Tzu-Chun Chen,et al.  Specifying Stateful Asynchronous Properties for Distributed Programs , 2012, CONCUR.