On the Relative Expressiveness of Higher-Order Session Processes

By integrating constructs from the $$\lambda $$λ-calculus and the $$\pi $$π-calculus, in higher-order process calculi exchanged values may contain processes. This paper studies the relative expressiveness of $$\mathsf {HO}\pi $$HOπ, the higher-order $$\pi $$π-calculus in which communications are governed by session types. Our main discovery is that $$\mathsf {HO}$$HO, a subcalculus of $$\mathsf {HO}\pi $$HOπ which lacks name-passing and recursion, can serve as a new core calculus for session-typed higher-order concurrency. By exploring a new bisimulation for $$\mathsf {HO}$$HO, we show that $$\mathsf {HO}$$HO can encode $$\mathsf {HO}\pi $$HOπ fully abstractly upi¾?to typed contextual equivalence more precisely and efficiently than the first-order session $$\pi $$π-calculus $$\pi $$π. Overall, under session types, $$\mathsf {HO}\pi $$HOπ, $$\mathsf {HO} $$HO, and $$\pi $$π are equally expressive; however, $$\mathsf {HO}\pi $$HOπ and $$\mathsf {HO} $$HO are more tightly related than $$\mathsf {HO}\pi $$HOπ and $$\pi $$π.

[1]  Bent Thomsen,et al.  Plain CHOCS A second generation calculus for higher order processes , 2005, Acta Informatica.

[2]  Davide Sangiorgi pi-Calculus, Internal Mobility, and Agent-Passing Calculi , 1996, Theor. Comput. Sci..

[3]  Joachim Parrow,et al.  Expressiveness of Process Algebras , 2008, LIX.

[4]  D. Sangiorgi - calculus , internal mobility , and agent-passing calculi , 1995 .

[5]  Peter Jonsson,et al.  Essential Convexity and Complexity of Semi-Algebraic Constraints , 2012, Log. Methods Comput. Sci..

[6]  Uwe Nestmann What is a ‘Good’ Encoding of Guarded Choice? , 1997 .

[7]  Rob J. van Glabbeek,et al.  Musings on Encodings and Expressiveness , 2012, EXPRESS/SOS.

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

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

[10]  Qiang Yin,et al.  On the Computation Power of Name Parameterization in Higher-order Processes , 2015, ICE.

[11]  Yuxi Fu,et al.  Variations on Mobile Processes , 1999, Theor. Comput. Sci..

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

[13]  Davide Sangiorgi,et al.  Trees from Functions as Processes , 2014, CONCUR.

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

[15]  Luca Padovani,et al.  Typing Copyless Message Passing , 2012, Log. Methods Comput. Sci..

[16]  Rob J. van Glabbeek,et al.  Analysing and Comparing Encodability Criteria , 2015, EXPRESS/SOS.

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

[18]  Dimitrios Kouzapas,et al.  On Duality Relations for Session Types , 2014, TGC.

[19]  Andrew W. Appel,et al.  A type-based compiler for standard ML , 1995, PLDI '95.

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

[21]  Matthias Radestock,et al.  A Reflective Higher-order Calculus , 2005, FInCo@ETAPS.

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

[23]  Qiang Yin,et al.  On the Expressiveness of Parameterization in Process-Passing , 2013, WS-FM.

[24]  Zhong Shao,et al.  Type-preserving compilation of featherweight java , 2003, Foundations of Intrusion Tolerant Systems, 2003 [Organically Assured and Survivable Information Systems].

[25]  Thomas T. Hildebrandt,et al.  A CPS Encoding of Name-Passing in Higher-Order Mobile Embedded Resources , 2004, EXPRESS.

[26]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

[27]  Louis-Julien Guillemette A type-preserving compiler from system f to typed assembly language , 2009 .

[28]  Davide Sangiorgi,et al.  Asynchronous process calculi: the first- and higher-order paradigms , 2001, Theor. Comput. Sci..

[29]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[30]  Nobuko Yoshida,et al.  Strong normalisation in the pi -calculus , 2004, Inf. Comput..

[31]  Nobuko Yoshida,et al.  Session typing and asynchronous subtyping for the higher-order π-calculus , 2015, Inf. Comput..

[32]  Bent Thomsen,et al.  Calculi for higher order communicating systems , 1990 .

[33]  Catuscia Palamidessi,et al.  Comparing the expressive power of the synchronous and asynchronous $pi$-calculi , 2003, Mathematical Structures in Computer Science.

[34]  Daniele Gorla Towards a unified approach to encodability and separation results for process calculi , 2010, Inf. Comput..

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

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

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

[38]  Nobuko Yoshida,et al.  Characteristic Bisimulation for Higher-Order Session Processes , 2015, CONCUR.

[39]  Davide Sangiorgi The Lazy Lambda Calculus in a Concurrency Scenario , 1994, Inf. Comput..

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

[41]  Daniele Gorla A taxonomy of process calculi for distribution and mobility , 2010, Distributed Computing.

[42]  Yuxi Fu,et al.  On the expressiveness of interaction , 2010, Theor. Comput. Sci..

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

[44]  Xian Xu Distinguishing and relating higher-order and first-order processes by expressiveness , 2012, Acta Informatica.

[45]  Björn Victor,et al.  On the Expressiveness of Linearity vs Persistence in the Asychronous Pi-Calculus , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[46]  Ivan Lanese,et al.  On the Expressiveness of Polyadic and Synchronous Communication in Higher-Order Process Calculi , 2010, ICALP.

[47]  Uwe Nestmann,et al.  On Distributability in Process Calculi , 2013, ESOP.

[48]  Davide Sangiorgi,et al.  The lazy lambda calculus in a concurrency scenario , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

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

[50]  Jorge Andres Perez-Parra Higher-Order Concurrency: Expressiveness and Decidability Results , 2010 .

[51]  Nobuko Yoshida,et al.  Effects as sessions, sessions as effects , 2016, POPL.

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