An Interpretation of Typed Objects into Typed pi-Calculus

Abstract An interpretation of Abadi and Cardelli's first-order function object calculus into a typed π -calculus is presented. The interpretation validates the subtyping relation and the typing judgements of the object calculus and is computationally adequate. This is the first interpretation of a typed object-oriented language into a process calculus. The study intends to offer a contribution to understanding on the one hand, the relationship between π -calculus types and conventional types of programming languages and on the other hand, the usefulness of the π -calculus as a metalanguage for the semantics of typed object-oriented languages.  The type language for the π -calculus has Pierce and Sangiorgi's I/O annotations, to separate the capabilities of reading and writing on a channel and variant types. Technical contributions of the paper are the presentation of variant types for the π -calculus and their typing and subtyping properties, and an analysis of behavioural equivalences in a π -calculus with variant types.

[1]  B. Pierce,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[2]  Mario Tokoro,et al.  A Typing System for a Calculus of Objects , 1993, ISOTAS.

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

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

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

[6]  Samuel N. Kamin Inheritance in smalltalk-80: a denotational definition , 1988, POPL '88.

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

[8]  David Walker,et al.  Partial Confluence of Proceses and Systems of Objects , 1998, Theor. Comput. Sci..

[9]  Luca Cardelli,et al.  Subtyping recursive types , 1993 .

[10]  Andrew D. Gordon,et al.  Bisimilarity for a first-order calculus of objects with subtyping , 1996, POPL '96.

[11]  Josva Kleist,et al.  Objects as Mobile Processes , 1996 .

[12]  Roberto M. Amadio An Asynchronous Model of Locality, Failurem and Process Mobility , 1997, COORDINATION.

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

[14]  Michele Boreale On the Expressiveness of Internal Mobility in Name-Passing Calculi , 1998, Theor. Comput. Sci..

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

[16]  Davide Sangiorgi,et al.  Lazy functions and mobile processes , 2000, Proof, Language, and Interaction.

[17]  Martin Odersky,et al.  Polarized Name Passing , 1995, FSTTCS.

[18]  Martín Abadi,et al.  A Theory of Primitive Objects: Second-Order Systems , 1995, Sci. Comput. Program..

[19]  Martín Abadi,et al.  An Imperative Object Calculus , 1995, TAPSOFT.

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

[21]  Martín Abadi,et al.  A Theory of Primitive Objects - Untyped and First-Order Systems , 1994, TACS.