Full Abstraction in a Subtyped pi-Calculus with Linear Types

We introduce a concise pi-calculus with directed choices and develop a theory of subtyping. Built on a simple behavioural intuition, the calculus offers exact semantic analysis of the extant notions of subtyping in functional programming languages and session-based programming languages. After illustrating the idea of subtyping through examples, we show type-directed embeddings of two known subtyped calculi, one for functions and another for session-based communications. In both cases, the behavioural content of the original subtyping is precisely captured in the fine-grained subtyping theory in the pi-calculus. We then establish full abstraction of these embeddings with respect to their standard semantics, Morris's contextual congruence in the case of the functional calculus and testing equivalence for the concurrent calculus. For the full abstraction of the embedding of the session-based calculus, we introduce a new proof method centring on non-deterministic computational adequacy and definability. Partially suggested by a technique used by Quaglia and Walker for their full abstraction result, the new proof method extends the framework used in game-based semantics to the May/Must equivalences, giving a uniform proof method for both deterministic and non-deterministic languages.

[1]  Nobuko Yoshida,et al.  Game-Theoretic Analysis of Call-by-Value Computation , 1999, Theor. Comput. Sci..

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

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

[4]  Robin Milner Functions as Processes , 1990, ICALP.

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

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

[7]  Kohei Honda,et al.  Composing processes , 1996, POPL '96.

[8]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .

[9]  Nobuko Yoshida,et al.  Strong normalisation in the /spl pi/-calculus , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

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

[11]  Nobuko Yoshida,et al.  Genericity and the π-calculus , 2005, Acta Informatica.

[12]  Luca Padovani,et al.  Fair Subtyping for Multi-party Session Types , 2011, COORDINATION.

[13]  Mariangiola Dezani-Ciancaglini,et al.  Sessions and Session Types: An Overview , 2009, WS-FM.

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

[15]  Kohei Honda,et al.  Recursive types in games: axiomatics and process representation , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[16]  Benjamin C. Pierce,et al.  Higher-Order Subtyping , 1994, Theor. Comput. Sci..

[17]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[18]  Jim Laird A Game Semantics of the Asynchronous π-Calculus , 2005 .

[19]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[20]  Martín Abadi,et al.  A semantics of object types , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

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

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

[23]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

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

[25]  David Walker,et al.  Types and full abstraction for polyadic pi-calculus , 2005, Inf. Comput..

[26]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

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

[28]  James Laird A Game Semantics of the Asynchronous pi-Calculus , 2005, CONCUR.

[29]  Kohei Honda,et al.  Processes and Games , 2004, Electron. Notes Theor. Comput. Sci..

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

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

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

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