Abstract:
Process algebras can be enriched with localities that
explicitly describe the distribution of processes.
Localities may represent physical machines, or more generally
distribution units where processes are grouped
according to some criterion like the sharing of resources.
In a concurrent process, localities are naturally associated with
(groups of) parallel components. These localities then intervene
in the semantics of processes and become part, to some extent,
of their observable behaviour.
In a first line of research, initiated in the early
nineties, localities have been used to give
noninterleaving semantics for process algebras, and
particularly for Milner's calculus CCS.
Here localities are used to differentiate parallel components.
The resulting semantics, taking into account distribution,
is more discriminating than the standard interleaving semantics
of the calculus.
It is also incomparable with other noninterleaving
semantics proposed for CCS, based on the notion of causality.
More recently, localities have appeared
in a number of new calculi for describing mobile processes.
The idea here is that some ``network awareness'' is required
to model wide-area distributed mobile computation.
In these calculi localities are more than simple units of distribution.
According to the case, they become
units of failure, of communication, of migration or of security.
This chapter reviews in some detail the first body of work, and
tries to delineate the main ideas of the more recent studies, which
are still, for the most part, at an early stage of development.