Behavioral equivalence in the polymorphic pi-calculus

We investigate parametric polymorphism in message-based concurrent programming, focusing on behavioral equivalences in a typed process calculus analogous to the polymorphic lambda-calculus of Girard and Reynolds. Polymorphism constrains the power of observers by preventing them from directly manipulating data values whose types are abstract, leading to notions of equivalence much coarser than the standard untyped ones. We study the nature of these constraints through simple examples of concurrent abstract data types and develop basic theoretical machinery for establishing bisimilarity of polymorphic processes. We also observe some surprising interactions between polymorphism and aliasing, drawing examples from both the polymorphic pi-calculus and ML.

[1]  John C. Mitchell,et al.  Abstract types have existential types , 1985, POPL.

[2]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1996, POPL '96.

[3]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[4]  Davide Sangiorgi,et al.  Bisimulation in name-passing calculi without matching , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[5]  D. J. Walker,et al.  Bisimulation and Divergence , 1990, Inf. Comput..

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

[7]  John C. Mitchell,et al.  Abstract types have existential type , 1988, TOPL.

[8]  J. Y. Girard,et al.  Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur , 1972 .

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

[10]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[11]  A. Church The calculi of lambda-conversion , 1941 .

[12]  Simon J. Gay,et al.  A sort inference algorithm for the polyadic π-calculus , 1993, POPL '93.

[13]  Kim G. Larsen A Context Dependent Equivalence Between Processes , 1987, Theor. Comput. Sci..

[14]  Faron Mollerz,et al.  The Mobility Workbench | a Tool for the -calculus | , 1994 .

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

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

[17]  Dale Miller,et al.  Unification Under a Mixed Prefix , 1992, J. Symb. Comput..

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

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

[20]  A. Pitts Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.

[21]  Davide Sangiorgi,et al.  A pi-calculus Process Semantics of Concurrent Idealised ALGOL , 1999, FoSSaCS.

[22]  Andrew M. Pitts Existential Types: Logical Relations and Operational Equivalence , 1998, ICALP.

[23]  A. Church The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies) , 1985 .

[24]  Rocco De Nicola,et al.  Proof techniques for cryptographic processes , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

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

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

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

[28]  Davide Sangiorgi,et al.  On the Proof Method for Bisimulation (Extended Abstract) , 1995, MFCS.

[29]  Kohei Honda,et al.  Types for Dynamic Interaction , 1993 .

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

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

[32]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[33]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[34]  Daniel Hirschkoff A Full Formalisation of pi-Calculus Theory in the Calculus of Constructions , 1997, TPHOLs.

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

[36]  I. Stark,et al.  Operational reasoning for functions with local state , 1999 .

[37]  Vasco Thudichum Vasconcelos,et al.  Principal Typing Schemes in a Polyadic pi-Calculus , 1993, CONCUR.

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

[39]  Rajagopal Nagarajan,et al.  Interaction categories and the foundations of typed concurrent programming , 1996, NATO ASI DPD.

[40]  David Walker,et al.  A Polymorphic Type System for the Polyadic pi-calculus , 1995, CONCUR.

[41]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[42]  Andrew M. Pitts Reasoning about local variables with operationally-based logical relations , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

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

[44]  Rocco De Nicola,et al.  Testing Equivalence for Mobile Processes , 1995, Inf. Comput..

[45]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[46]  Naoki Kobayashi,et al.  A partially deadlock-free typed process calculus , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[47]  Ugo Montanari,et al.  Dynamic congruence vs. progressing bisimulation for CCS , 1992, Fundam. Informaticae.

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

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

[50]  Faron Moller,et al.  The Mobility Workbench - A Tool for the pi-Calculus , 1994, CAV.

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

[52]  Davide Sangiorgi An Interpretation of Typed Objects into Typed pi-Calculus , 1998, Inf. Comput..

[53]  Davide Sangiorgi,et al.  Interpreting Functions as Pi-Calculus Processes: A Tutorial , 1999 .

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