We present the a-calculus, a calculus of communicating systems in which one can naturally express processes which have changing structure. Not only may the component agents of a system be arbitrarily linked, but a communication between neighbours may carry information which changes that linkage. The calculus is an extension of the process algebra CCS, following work by Engberg and Nielsen, who added mobility to CCS while preserving its algebraic properties. The rr-calculus gains simplicity by removing all distinction between variables and constants; communication links are identified by names, and computation is represented purely as the communication of names across links. After an illustrated description of how the n-calculus generalises conventional process algebras in treating mobility, several examples exploiting mobility are given in some detail. The important examples are the encoding into the n-calculus of higher-order functions (the I-calculus and combinatory algebra), the transmission of processes as values, and the representation of data structures as processes. The paper continues by presenting the algebraic theory of strong bisimilarity and strong equivalence, including a new notion of equivalence indexed by distinctions-i.e., assumptions of inequality among names. These theories are based upon a semantics in terms of a labeled transition system and a notion of strong bisimulation, both of which are expounded in detail in a companion paper. We also report briefly on work-in-progress based upon the corresponding notion of weak bisimulation, in which internal actions cannot be observed. 0 1992 Academic Press, Inc.
[1]
Elena Zucca,et al.
Parametric Channels via Label Expressions in CCS
,
1984,
Theor. Comput. Sci..
[2]
Joseph A. Goguen,et al.
Cell and Ensemble Architecture for the Rewrite Rule Machine
,
1988,
FGCS.
[3]
William D. Clinger,et al.
Foundations of Actor Semantics
,
1981
.
[4]
C. A. R. Hoare,et al.
Communicating sequential processes
,
1978,
CACM.
[5]
Wolfgang Reisig,et al.
Petri Nets
,
1985,
EATCS Monographs on Theoretical Computer Science.
[6]
Jan A. Bergstra,et al.
Algebra of Communicating Processes with Abstraction
,
1985,
Theor. Comput. Sci..
[7]
Bent Thomsen,et al.
A calculus of higher order communicating systems
,
1989,
POPL '89.
[8]
C.-H. Luke Ong,et al.
Fully abstract models of the lazy lambda calculus
,
1988,
[Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.
[9]
Robin Milner.
Functions as Processes
,
1990,
ICALP.
[10]
Flemming Nielson,et al.
The Typed lambda-Calculus with First-Class Processes
,
1989,
PARLE.
[11]
D. Walker,et al.
A Calculus of Mobile Processes, Part Ii
,
1989
.
[12]
Robin Milner,et al.
Communication and concurrency
,
1989,
PHI Series in computer science.
[13]
S. Abramsky.
The lazy lambda calculus
,
1990
.