pi-Calculus, Internal Mobility, and Agent-Passing Calculi

Abstract The π-calculus is a process algebra which originates from CCS and permits a natural modelling of mobility (i.e., dynamic reconfigurations of the process linkage) using communication of names. Previous research has shown that the π-calculus has a much greater expressiveness than CCS, but it also has a much more complex mathematical theory. The primary goal of this work is to understand the reasons for this gap. Another goal is to compare the expressiveness of name-passing calculi, i.e., calculi like π-calculus where mobility is achieved via exchange of names, and that of agent-passing calculi , i.e., calculi where mobility is achieved via exchange of agents. We divide the mobility mechanisms of the π-calculus into internal and external mobility mechanisms. The study of the subcalculus which only uses internal mobility, called πI, suggests that internal mobility is responsible for much of the expressiveness of the π-calculus, whereas external mobility is responsible for many of the semantic complications. A pleasant property of πI is the full symmetry between input and output constructs. Internal mobility is strongly related to agent-passing mobility. By imposing bounds on the order of the types of πI and of the Higher-Order π-calculus ( Sangiorgi, 1992 ) we define a hierarchy of name-passing calculi based on internal mobility and one of agent-passing calculi. We show that there is an exact correspondence, in terms of expressiveness, between the two hierarchies.

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

[2]  D. Walker,et al.  A Calculus of Mobile Processes, Part I , 1989 .

[3]  Cliff B. Jones A pi-Calculus Semantics for an Object-Based Design Notation , 1993, CONCUR.

[4]  S. Abramsky The lazy lambda calculus , 1990 .

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

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

[7]  Roberto M. Amadio On the Reduction of Chocs Bisimulation to pi-Calculus Bisimulation , 1993, CONCUR.

[8]  Jan A. Bergstra,et al.  Algebra of Communicating Processes , 1995, Workshops in Computing.

[9]  David Turner,et al.  Research topics in functional programming , 1990 .

[10]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

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

[12]  Robin Milner Action Calculi, or Syntactic Action Structures , 1993, MFCS.

[13]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[14]  Bruno Courcelle,et al.  Fundamental Properties of Infinite Trees , 1983, Theor. Comput. Sci..

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

[16]  Gianna Reggio,et al.  Observational Structures and Their Logics , 1992, Theor. Comput. Sci..

[17]  Davide Sangiorgi,et al.  Locality and Interleaving Semantics in Calculi for Mobile Processes , 1996, Theor. Comput. Sci..

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

[19]  Matthew Hennessy A fully abstract denotational model for higher-order processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

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

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

[22]  Sebastiano Vigna,et al.  Applications of the Calculus of Trees to Process Description Languages , 1991, Category Theory and Computer Science.

[23]  Gian Luigi Ferrari,et al.  A Pi-Calculus with Explicit Substitutions: the Late Semantics , 1994, MFCS.