A Calculus of Mobile Processes Pt.1

R. Milner, J. Parrow and D. Walker

Abstract: We present the pi-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 pi-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 pi-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 pi-calculus of
higher-order functions (the lambda-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 labelled 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.