Documente Academic
Documente Profesional
Documente Cultură
Elsevier
Joa
him Parrow
Dep. Teleinformati s,
Abstra
t
The -
al
ulus is a pro
ess algebra where pro
esses intera
t by sending
ommuni
ation links to ea
h other. This paper is an overview of and intro-
1
Contents
1 Introdu
tion 3
2 The -Cal
ulus 6
2.1 Basi
Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Stru
tural Congruen
e . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Simple Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Variants of the Cal
ulus 15
3.1 Mat
h and Mismat
h . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 The Polyadi
Cal
ulus . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Re
ursion and Repli
ation . . . . . . . . . . . . . . . . . . . . . . 20
3.5 The Asyn
hronous Cal
ulus . . . . . . . . . . . . . . . . . . . . . 21
3.6 The Higher-Order Cal
ulus . . . . . . . . . . . . . . . . . . . . . . 23
4 Operational Semanti
s 25
5 Variants of the Semanti
s 28
5.1 The Role of Stru
tural Congruen
e . . . . . . . . . . . . . . . . . 28
5.2 Symboli
Transitions . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3 The Early Semanti
s . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Redu
tions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Abstra
tions and Con
retions . . . . . . . . . . . . . . . . . . . . 36
6 Bisimilarity and Congruen
e 39
6.1 Bisimilarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Congruen
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7 Variants of Bisimilarity 43
7.1 Early Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Barbed Congruen
e . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3 Open Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4 Weak Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8 Algebrai
Theory 54
8.1 Bisimilarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.2 Congruen
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9 Variants of the Theory 60
9.1 Early Bisimilarity and Congruen
e . . . . . . . . . . . . . . . . . 60
9.2 Open Bisimilarity . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.3 Weak Congruen
e . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10 Sour
es 64
2
1 Introdu
tion
The -
al
ulus is a mathemati
al model of pro
esses whose inter
onne
tions
hange as they intera
t. The basi
omputational step is the transfer of a
om-
muni
ation link between two pro
esses; the re
ipient
an then use the link for
further intera
tion with other parties. This makes the
al
ulus suitable for mod-
elling systems where the a
essible resour
es vary over time. It also provides
a signi
ant expressive power sin
e the notions of a
ess and resour
e underlie
mu
h of the theory of
on
urrent
omputation, in the same way as the more
abstra
t and mathemati
ally tra
table
on
ept of a fun
tion underlies fun
tional
omputation. This introdu
tion to the -
al
ulus is intended for a theoreti
ally
in
lined reader who knows a little about the general prin
iples of pro
ess algebra
and who wishes to learn the fundamentals of the
al
ulus and its most
ommon
and stable variants.
Let us rst
onsider an example. Suppose a server
ontrols a
ess to a printer
and that a
lient wishes to use it. In the original state only the server itself has
a
ess to the printer, represented by a
ommuni
ation link a. After an intera
-
tion with the
lient along some other link b this a
ess to the printer has been
transferred:
Before intera
tion: After intera
tion:
Printer Printer
In the -
al
ulus this is expressed as follows: the server that sends a along b
is ba : S ; the
lient that re
eives some link along b and then uses it to send data
along it is b(
) :
d : P . The intera
tion depi
ted above is formulated
ba : S j b(
) :
d : P ! S j ad : P
We see here that a plays two dierent roles. In the intera
tion between the server
and the
lient it is an obje
t transferred from one to the other. In a further
intera
tion between the
lient and the printer it is the name of the
ommuni
ation
3
link. The idea that the names of the links belong to the same
ategory as the
transferred obje
ts is one of the
ornerstones of the
al
ulus, and is one way in
whi
h it is dierent from other pro
ess algebras. In the example a; b;
; d are
all just names whi
h intuitively represent a
ess rights: a a
esses the printer, b
a
esses the server, d a
esses some data, and
is a pla
eholder for an a
ess to
arrive along a. If a is the only way to a
ess the printer then we
an say that the
printer \moves" to the
lient, sin
e after the intera
tion nothing else
an a
ess
it. For this reason the -
al
ulus has been
alled a
al
ulus of \mobile" pro
esses.
But the
al
ulus is mu
h more general than that. The printer may have many
links that make it do dierent things, and the server
an send these links to
dierent
lients to establish dierent a
ess
apabilities to a shared resour
e.
At rst sight it appears as if the -
al
ulus is just a spe
ialised form of a
value-passing pro
ess algebra where the values are links. In su
h a
omparison
the
al
ulus may be thought rather poor sin
e there are no data types and no
fun
tions dened on the names; the transferable entities are simple atomi
things
without any internal stru
ture. The reason that the -
al
ulus nevertheless is
onsidered more expressive is that it admits migrating lo
al s
opes. This impor-
tant point deserves an explanation here.
Most pro
ess algebras have a way to de
lare a
ommuni
ation link lo
al to a
set of pro
esses. For example in CCS the fa
t that P and Q share a private port
a is symbolised by (P jQ)na, where the operator na is
alled restri
tion on a. The
signi
an
e is that no other pro
ess
an use the lo
al link a, as if it were a name
distin
t from all other names in all pro
esses.
In the -
al
ulus this restri
tion is written ( a)(P jQ). It is similar in that
no other pro
ess
an use a immediately as a link to P or Q. The dieren
e is
that the name a is also a transferable obje
t and as su
h
an be sent, by P or
Q, to another pro
ess whi
h then
an use the restri
ted link. Returning to the
example above suppose that a is a lo
al link between the server and the printer.
Represent the printer by R, then this is
aptured by ( a)(ba : S j R). The server
is still free to send a along b to the
lient. The result would be a private link
shared between all three pro
esses, but still distin
t from any other name in any
other pro
ess, and the transition is
onsequently written
( a)(ba : S j R) j b(
) :
d : P ! ( a)(S j R j ad : P )
So, although the transferable obje
ts are simple atomi
things they
an also be
de
lared lo
al with a dened s
ope, and in this way the
al
ulus trans
ends the
ordinary value-passing pro
ess algebras. This is also the main sour
e of diÆ
ulty
in the development of the theory be
ause the s
ope of an obje
t, as represented
by the operands of its restri
tion, must migrate with the obje
t as it is transferred
between pro
esses.
The -
al
ulus is far from a single well dened body of work. The
entral idea,
a pro
ess algebrai
denition of link-passing, has been developed in several dire
-
tions to a
ommodate spe
i
appli
ations or to determine the ee
ts of various
4
semanti
s. Proliferation is
ertainly a healthy sign for any s
ienti
area although
it poses problems for those who wish to get a qui
k overview. Presumably some
readers new to the -
al
ulus will be satised with a
ompa
t presentation of a
single version, while other may be interested in the spe
trum of variations.
This paper aims to serve both these needs. In the following, the even-
numbered se
tions develop a single strand of the
al
ulus. Se
tion 2 presents
the syntax and give some small examples of how it is used. In Se
tion 4 we
pro
eed to the semanti
s in its most
ommon form as a labelled transition sys-
tem. In Se
tion 6 we
onsider one of the main denitions of bisimulation and the
ongruen
e it indu
es, and in Se
tion 8 we look at their axiomatisations through
synta
ti
equalities of agents. These se
tions do not depend on the odd-numbered
se
tions and
an be
onsidered as a basi
ourse of the
al
ulus. There will be
full denitions and formulations of the
entral results, and sket
hes that explain
the ideas and stru
ture of the proofs.
Ea
h odd-numbered se
tion presents variations on the material in the pre
ed-
ing one. Thus, in Se
tion 3 we explore dierent versions of the
al
ulus, su
h as
the ee
t of varying the operators, and the asyn
hronous, polyadi
, and higher-
order
al
ulus. Se
tion 5 treats alternative ways to dene the semanti
s, with
dierent versions of labelled and unlabelled transitions. Se
tion 7 denes a few
other
ommon bisimulation equivalen
es (the -
al
ulus, like any pro
ess alge-
bra, boasts a wide variety of equivalen
es but in this paper we
on
entrate on the
aspe
ts parti
ular to ), and their axiomatisations are treated in Se
tion 9. In
these se
tions we do not always get a full formal a
ount, but hopefully enough
explanations that the reader will gain an understanding of the basi
ideas. Fi-
nally, Se
tion 10
ontains referen
es to other work. We give a brief a
ount of
how the
al
ulus evolved and mention other overviews and introdu
tory papers.
We also indi
ate sour
es for the material treated in this paper.
It must be emphasised that there are some aspe
ts of the -
al
ulus we do
not treat at all, su
h as modal logi
s, analysis algorithms, implementations, and
ways to use the
al
ulus to model
on
urrent systems and languages. Also, the
dierent variants
an be
ombined in many ways, giving rise to a large variety
of
al
uli. I hope that after this introdu
tion a reader
an explore the eld with
some
onden
e.
5
2 The -Cal
ulus
We begin with a sequen
e of denitions and
onventions. The reader who makes
it to Se
tion 2.3 will be rewarded with small but informative examples.
2.1 Basi
Denitions
We assume a potentially innite set of names N , ranged over by a; b; : : : ; z, whi
h
will fun
tion as all of
ommuni
ation ports, variables and data values, and a set
of (agent) identiers ranged over by A, ea
h with a xed nonnegative arity. The
agents, ranged over by P; Q; : : : are dened Table 1. From that table we see that
the agents
an be of the following forms:
1. The empty agent 0, whi
h
annot perform any a
tions.
2. An Output Prex ax : P . The intuition is that the name x is sent along the
name a and thereafter the agent
ontinues as P . So a
an be thought of as
an output port and x as a datum sent out from that port.
3. An Input Prex a(x) : P , meaning that a name is re
eived along a name a,
and x is a pla
eholder for the re
eived name. After the input the agent will
ontinue as P but with the newly re
eived name repla
ing x. So a
an be
thought of as an input port and x as a variable whi
h will get its value from
the input along a.
4. A Silent Prex : P , whi
h represents an agent that
an evolve to P without
intera
tion with the environment. We use , to range over a(x), ax and
and
all them Prexes, and we say that : P is a Prex form, or sometimes
just Prex when this
annot
ause
onfusion.
5. A Sum P + Q representing an agent that
an ena
t either P or Q.
6. A Parallel Composition P j Q, whi
h represents the
ombined behaviour of
P and Q exe
uting in parallel. The
omponents P and Q
an a
t indepen-
dently, and may also
ommuni
ate if one performs an output and the other
an input along the same port.
7. A Mat
h if x = y then P . As expe
ted this agent will behave as P if x
and y are the same name, otherwise it does nothing.
8. A Mismat
h if x 6= y then P . This agent will behave as P if x and y are
not the same name, otherwise it does nothing.
9. A Restri
tion ( x)P . This agent behaves as P but the name x is lo
al,
meaning it
annot immediately be used as a port for
ommuni
ation be-
tween P and its environment. However, it
an be used for
ommuni
ation
between
omponents within P .
6
Prexes ::= ax Output
a(x) Input
Silent
Agents P ::= 0 Nil
:P Prex
P +P Sum
P jP Parallel
if x = y then P Mat
h
if x 6= y then P Mismat
h
( x)P Restri
tion
A(y1 ; : : : ; yn ) Identier
Denitions A(x1 ; : : : ; xn ) def
=P (where i 6= j ) xi 6= xj )
Table 1: The syntax of the -
al
ulus.
10. An Identier A(y ; : : : ; yn) where n is the arity of A. Every Identier has a
1
the intuition is that A(y ; : : : ; yn) behaves as P with yi repla
ing xi for ea
h
1
i. So a Denition
an be thought of as a pro
ess de
laration, x ; : : : ; xn as
1
formal parameters, and the Identier A(y ; : : : ; yn) as an invo
ation with
1
a
tual parameters y ; : : : ; yn.
1
The operators are familiar from other pro
ess algebras so we shall in the
following
on
entrate on some important aspe
ts parti
ular to the -
al
ulus,
trusting the reader to be
ondent with the more general prin
iples.
The forms Nil, Sum and Parallel have exa
tly the same meaning and use as
in other pro
ess algebras, and the Prex forms are as in the algebras that admit
value-passing. The if
onstru
ts Mat
h and Mismat
h may appear limited in
omparison with value-passing algebras whi
h usually admit arbitrary Boolean
expressions (evaluating to either true or false). But on
loser
onsideration it is
apparent that
ombinations of Mat
h and Mismat
h are the only possible tests
that
an be performed in the -
al
ulus: the obje
ts transmitted are just names
and these have no stru
ture and no operators are dened on them, so the only
thing we
an do is
ompare names for equality. We
an
ombine su
h tests
onjun
tively by nesting them, for example
if x = y then if u 6= v then P
7
behaves as P if both x = y and u 6= v hold. We
an
ombine them disjun
tively
by using Sum, for example
if x = y then P + if u 6= v then P
10
of x in P with a spe
ial
olour saying that this is a lo
al name. It then
does not really matter where the symbols \( x)" are pla
ed as long as they
mark the same o
urren
es. For example, in 0 there are no o
urren
es
so the Restri
tion
an be removed at will. In Parallel
omposition, if all
o
urren
es are in one of the
omponents then it does not matter if the
Restri
tion
overs only that
omponent or the whole
omposition.
Note that we do not have that ( x)(P j Q) ( x)P j ( x)Q. The same
o
urren
es are restri
ted in both agents, but in ( x)(P j Q) they are restri
ted
by the same binder (or if you will,
oloured by the same
olour), meaning that
P and Q
an intera
t using x, in
ontrast to the situation in ( x)P j ( x)Q.
Through a
ombination of these laws we get that ( x)P P if x 62 fn(P ):
P P j 0 P j ( x)0 ( x)(P j 0) ( x)P
So as a spe
ial
ase we get ( x)( x)P ( x)P for all P .
Another key fa
t is that all unguarded Restri
tions
an be pulled out to the
top level of an agent:
Proposition 1 Let P be an agent where ( x)Q is an unguarded subterm. Then
P is stru
turally
ongruent to an agent ( x0 )P 0 where P 0 is obtained from P by
repla
ing ( x)Q with Qfx0 =xg, for some name x0 not o
urring in P .
The proof is by alpha-
onverting all bound names so that they be
ome synta
ti-
ally distin
t, and then applying s
ope extension (from right to left) to move the
Restri
tion to the outermost level. This
orresponds to the intuition that instead
of de
laring something as lo
al it
an be given a synta
ti
ally distin
t name: the
ee
t is the same in that nothing else
an a
ess the name.
Our s
ope extension laws are in fa
t
hosen pre
isely su
h that Proposition 1
holds. For example, we have not given any s
ope extension law for Prexes
and
an therefore only pull out unguarded Restri
tions. The reader may have
expe
ted a law like ( x) : P : ( x)P for x 62 . Indeed su
h a law would be
sound, in the sense that it
onforms to intuition and does not disrupt any of the
results in this paper, and it will hold for the behavioural equivalen
es explored
later in se
tions 6 and 7. But it will not be ne
essary at this point, in parti
ular
it is not ne
essary to prove Proposition 1.
Stru
tural
ongruen
e is mu
h stronger, i.e., identies fewer agents, than any
of the behavioural equivalen
es. The stru
tural
ongruen
e is used in the deni-
tion of the operational semanti
s, whi
h in turn is used to dene the behavioural
equivalen
es. The main te
hni
al reasons for taking this route are that many of
the following denitions and explanations be
ome simpler and that we get a uni-
form treatment for those variants of the
al
ulus that a
tually require a stru
tural
ongruen
e. In Se
tion 5.1 we
omment on the possibility to dene the
al
ulus
without a stru
tural
ongruen
e.
11
2.3 Simple Examples
Although we shall not present the operational semanti
s just yet (a reader who
wishes to look at it now will nd it in Se
tion 4) it might be illuminating to see
some examples of the s
ope migration mentioned in Se
tion 1, that Restri
tions
move with their obje
ts. Formally, s
ope migration is a
onsequen
e of three
straightforward postulates. The rst is the usual law for inferring intera
tions
between parallel
omponents. This is present in most pro
ess algebras and implies
that
a(x) :
x j ab !
b j 0
or in general
a(x) : P j ab : Q !
P fb=xg j Q
The se
ond postulate is that Restri
tions do not ae
t silent transitions. P ! Q
represents an intera
tion between the
omponents of P , and a Restri
tion ( x)P
only restri
ts intera
tions between P and its environment. Therefore P ! Q
implies ( x)P ! ( x)Q. The third postulate is that stru
turally
ongruent
agents should never be distinguished and thus any semanti
s must assign them the
same behaviour. Now what are the impli
ations for restri
ted obje
ts? Suppose
that b is a restri
ted name, i.e., that we are
onsidering a
omposition
a(x) :
x j ( b)ab
Will there be an intera
tion between the
omponents and if so what should it
be? Stru
tural
ongruen
e gives the answer, be
ause b is not free in the left hand
omponent so the agent is by s
ope extension stru
turally
ongruent to
( b)(a(x) :
x j ab)
and this agent has a transition between the
omponents: be
ause of
a(x) :
x j ab !
b j 0
we get that
( b)(a(x) :
x j ab) ! ( b)(
b j 0)
and the rightmost 0
an be omitted by the monoid laws. So by identifying
stru
turally
ongruent agents we obtain that
a(x) :
x j ( b)ab ! ( b)
b
or in general that, provided b 62 fn(P ),
a(x) : P j ( b)ab : Q ! ( b)(P fb=xg j Q)
In other words, the s
ope of ( b) \moves" with b from the right hand
omponent
to the left. This phenomenon is sometimes
alled s
ope extrusion. If b 2 fn(P ) a
12
similar intera
tion is possible by rst alpha-
onverting the bound b to some name
b0 62 fn(P ), and we would get
a(x) : P j ( b)ab : Q ! ( b0 )(P fb0=xg j Qfb0 =bg)
So P fb0=xg still
ontains b free and it is not the same as the re
eived restri
ted
name b0 .
For another example
onsider:
(( b)a(x) : P ) j ab : Q
Here the right hand
omponent has a free b whi
h should not be the same as the
bound b to the left. Is there an intera
tion between the
omponents? We
annot
immediately extend the s
ope to the right hand
omponent sin
e it has b free.
But we
an rst alpha-
onvert the bound b to some new name b0 and then extend
the s
ope to obtain
( b0 )(a(x) : P fb0=bg j ab : Q)
and it is
lear that we have a transition
( b0)(a(x) : P fb0=bg j ab : Q) ! ( b0 )P fb0=bgfb=xg j Q
So the restri
ted name, now b0 , will still be lo
al to the left hand
omponent; the
attempt to intrude the s
ope is thwarted by an alpha-
onversion. In summary,
through alpha-
onversion and s
ope extension we
an send restri
ted names as
obje
ts, and Restri
tions will always move with the obje
ts and never in
lude
free o
urren
es of that name.
This ability to send s
opes along with restri
ted names is what makes the
al
ulus
onvenient for modelling ex
hange of private resour
es. For example,
suppose we have an agent R representing a resour
e, say a printer, and that it
is
ontrolled by a server S whi
h distributes a
ess rights to R. In the simplest
ase the a
ess right is just to exe
ute R. This
an be modelled by introdu
ing
a new name e as a trigger, and guarding R by that name, as in
( e)(S j e : R)
Here R
annot exe
ute until it re
eives a signal on e. The server
an invoke it by
performing an a
tion e, but moreover, the server
an send e to a
lient wishing
to use R. For example, suppose that a
lient Q needs the printer. It asks S along
some predetermined
hannel
for the a
ess key, here e, to R, and only upon
re
eipt of this key
an R be exe
uted. We have
(x) : x : Q j ( e)(
e : S j e : R) ! ( e)(e : Q j S j e : R) ! ( e)(Q j S j R)
The rst transition means that Q re
eives an a
ess to R and the se
ond that this
a
ess is used. We
an informally think of this as if the agent R is transmitted
13
(represented by its key e) from S to Q, so in a sense this gives us the power of
a higher-order
ommuni
ation where the obje
ts are agents and not only names.
But our
al
ulus is more general sin
e a server
an send e to many
lients, meaning
that these will share R (rather than re
eiving separate
opies of R). And R
an have several keys that make it do dierent things, for example R
an be
e : R j e : R , and the server
an send only some of the keys to
lients
1 1 2 2
and retain some for itself, or send dierent keys to dierent
lients representing
dierent a
ess privileges.
A related matter is if S wishes to send two names d and e to a
lient, and insure
that the same
lient re
eives both names. If there are several
lients then the
simple solution of transmitting d and e along predetermined
hannels may mean
that one
lient re
eives d and another e. A better solution is to rst establish
a private
hannel with a
lient and then send d and e along that
hannel. The
private
hannel is simply a restri
ted name:
( p)
p : pd : pe : S
A
lient intera
ting with C must be prepared to re
eive a name, and then along
that name re
eive d and e:
(p) : p(x) : p(y ) : Q
Now, even if we have a
omposition with several
lients and a server, the only
possibility is that d and e end up with the same
lient. This feature is so
ommon
that we introdu
e an abbreviation for it:
he en i : P means ( p)
p : pe : : pen : P
1 1
(x xn ) : Q means
(p) : p(x ) : : p(xn ) : Q
1 1
where we
hoose p 62 fn(P; Q) and all xi are pairwise distin
t. We will then have
he en i : P j
(x xn ) : Q ! ! P j Qfe : : : en = x : : : xn g
1 1 1 1
The idea to establish private links in this way has many other uses. Suppose
for example that Q wishes to exe
ute P by transmitting on its trigger e, and then
also wait until P has
ompleted exe
ution. One way to represent this is to send
to P a private name for signalling
ompletion, as in
( r)er : r : Q j e(x) : P ! ( r)(r : Q j P fr=xg)
Here Q must wait until someone signals on r before
ontinuing. This someone
an only be P sin
e no other is in the s
ope of r. This s
heme is quite general,
for example P
an delegate to another agent the task to restart Q, by sending r
to it as an obje
t in an intera
tion.
The -
al
ulus has been used to su
in
tly des
ribe many aspe
ts of
on
ur-
rent and fun
tional programming, and also of high-level system des
ription where
mobility plays an important role. We shall not attempt an overview of all appli-
ations here. In the rest of this paper we
on
entrate on some
entral aspe
ts of
the theory of the
al
ulus.
14
3 Variants of the Cal
ulus
The
al
ulus
an be varied in many ways. There are many useful sub
al
uli whi
h
imply a somewhat simpler theory, and we shall also brie
y
onsider two popular
extensions: the polyadi
and the higher-order
al
uli.
3.1 Mat
h and Mismat
h
The Mat
h and Mismat
h operators are absent in many presentations of the
al
ulus. This means a
ertain loss of expressiveness. But in a sense, equality
test of names
an be implemented without Mat
h. Consider the following typi
al
use of a test: an agent P re
eives a name and
ontinues as Q if the name is y
and as R if the name is z:
P = a(x) : (if x = y then Q + if x = z then R)
Without the Mat
h a similar ee
t
an be a
hieved exploiting the Parallel
operator, where a
ommuni
ation is possible only if the subje
ts of the input and
output a
tions are the same:
P = a(x) : (x j (y : Q + z : R))
If the re
eived name is y then, after re
eption, a
ommuni
ation between
the rst and se
ond parallel
omponent is possible, after whi
h Q
an exe
ute.
Similarly, if it is z then a
ommuni
ation between the rst and third
omponent
enables R. This will work provided no other agent
an interfere by intera
ting
on the names y and z. So it is not a general en
oding of Mat
h, although
many spe
i
instan
es
an be emulated in this way. Consider for example an
implementation of Boolean values: There are agents T ruea and F alsea , emitting
Boolean values along a, and an agent Casea (Q; R), re
eiving a Boolean along a
and ena
ting Q or R depending on the value of the Boolean. A straightforward
en
oding would use two spe
ial names t and f :
True a = at
False a = af
Case a (Q; R) = a(x) : (if x = t then Q + if x = f then R)
15
where x and y do not o
ur in Q or R. It will now hold that Case a(Q; R) j True a
evolves to
( xy)(x j (x : Q + y : R))
and the only possible
ontinuation, in any environment, is a to Q, sin
e x and
y are lo
al. In this way many instan
es of the Mat
h
onstru
t, in
luding all that
aim to
apture tests over ordinary data types,
an be en
oded.
The Mismat
h if x 6= y then
annot be implemented in a similar way.
Omitting Mismat
h may be thought to drasti
ally redu
e the expressive power
but it turns out the ee
t is not very severe. For example, if the possible values
of a
ertain data type are u, v and w, the Mismat
h if x 6= u then P
an be
repla
ed by if x = v then P + if x = w then P . In pra
ti
e, the data types
where equality test is admitted almost always have a predetermined nite range,
or
an be modelled through a nite set of
onstru
tors. Mismat
h also makes
some portions of the theory a little more
ompli
ated. For these reasons many of
the versions of the -
al
ulus do not use it. However, it appears to be ne
essary
for many axiomatisations (
f. Se
tions 8 and 9).
3.2 Sum
The Sum operator + is sometimes regarded as unrealisti
from an implementation
perspe
tive. The problem is that it represents a form of syn
hronous global
hoi
e.
Consider:
(a : P + b : P ) j (a : Q + b : Q )
1 2 1 2
16
The other reason is related to axiomatisations of the behavioural equivalen
es
(see Se
tion 8). All axiomatisations so far use a version of the expansion law,
whi
h repla
es Parallel by Sum, as in
ajb = a:b+b:a
No
omplete axiomatisation is known for a
al
ulus with Parallel and without
Sum.
In situations where high-level modelling is not
alled for and where
omplete
axiomatisation is not an issue, variants of the -
al
ulus without Sum have been
used, for example to des
ribe the semanti
s of programming languages. Apart
from omitting the
omputationally questionable primitive of syn
hronous global
hoi
e, whi
h would make an implementation of the
al
ulus diÆ
ult, it simplies
the theory to only have one binary operator.
Many presentations of the
al
ulus use guarded Sums in pla
e of Sum, meaning
that the operands of the Sum must be Prex forms. The general format of
a guarded sum is Pni i : Pi (i.e., it is an n-ary operator). So for example
a : P + b : Q is a guarded Sum, but a : P + (QjR) is not. With guarded Sum some
=1
parts of the theory be
ome simpler, notably the weak bisimulation equivalen
e is
a
ongruen
e (see Se
tion 7.4) for the same reason as in ordinary pro
ess algebra.
The loss of expressiveness is not dramati
: guarded Sum is suÆ
ient both for
representing automata and for formulating the expansion theorem. But using
n-ary operators for arbitrarily large n may be
onsidered awkward by those who
seek a minimal theory. Note that an n-ary guarded Sum
annot be redu
ed to a
sequen
e of binary guarded Sums, so the n-aryPnoperators are a
tually ne
essary
for all n. In
ontrast, for the ordinary sum, i Pi is dened as n 1 binary
Sums.
=1
` ay~ : P
In order to establish that ahy : : : yni : P
onforms to it is enough to show that
1
it assigns y : : : yn the obje
t sorts of a, and that P
onforms to . In this way
1
agents su
h as a a : P , where a name is sent along itself,
an also be given a
sorting: if S is the sort of a then ob (S ) = hS i.
There is a large variety of type systems whi
h in
lude more information, su
h
as if names
an be used for input or output or both, and there are notions
of subtypes and polymorphism. Binding o
urren
es in Restri
tions are either
expli
itly sorted as in ( x : S )P , or a sort inferen
e system is used to
ompute
a suitable sort. Whether the latter is possible depends on the details of the sort
system.
In
on
lusion, although polyadi
intera
tions do not really in
rease the expres-
siveness it adds
onvenien
e and
larity when using the
al
ulus, and eÆ
iently
implementable sort systems
an as
ertain that no mismat
hing arities will ever
o
ur when agents evolve.
19
3.4 Re
ursion and Repli
ation
In the -
al
ulus as in most other pro
ess algebras the me
hanism for des
ribing
iterative or arbitrarily long behaviour is re
ursion: a re
ursive Denition
A(~x) = P
def
large spe
i
ations the Denitions tend to be more readable, but the xpoints
sometimes allow a more optimal formulation for theory development.
For some purposes the spe
ial
ase of Repli
ation is
onvenient. If P is an
agent then !P , the Repli
ation of P , is given by the denition
!P = P j !P
def
An (~xn ) = Pn
def
20
a1 ; : : : ; an , one for ea
h Identier, and let Pb be the agent obtained by repla
ing
any invo
ation Ai(~y) with an output aihy~i in P . Let
D = !a (~x ) : P
j j !an(~xn) : P
n
1 1 1
Thus D is an agent whi
h emulates all the Denitions in the sense that it
an
intera
t with any su
h output. Finally
Q0 = ( a an )(DjQb )
1
will then behave in the same way as Q, with the only dieren
e that an unfolding
of a Denition will be emulated by an intera
tion between Qb and D. For example,
let N = i(x) : ox : N , whi
h diers from M above in that messages are delivered in
def
order and only one message is stored at a time. The agent with only Repli
ation
whi
h behaves as N is
( a)(!a : i(x) : ox : a j a)
3.5 The Asyn
hronous Cal
ulus
The -
al
ulus, as most other pro
ess algebras, is based on the paradigm of
syn
hronous
ommuni
ation; an intera
tion means that one
omponent emits
a name at the same time as another
omponent re
eives it. In
ontrast, in
asyn
hronous
ommuni
ation there is an unpredi
table delay between output and
input, during whi
h the message is in transit. This
an be modelled by inserting
an agent representing an asyn
hronous
ommuni
ation medium between sender
and re
eiver. The properties of the medium (whether it has a bound on the
apa
ity, whether it preserves the order of messages et
.) is then determined by
its denition. For example, an unbounded medium not preserving the order of
messages is:
M = i(x) : (ox j M )
def
(The same behaviour is expressed with Repli
ation in Se
tion 3.4.) When M
re
eives u along i it evolves to ou j M , and
an at any time deliver u along o,
and also
ontinue to a
ept more messages.
Interestingly, this parti
ular form of asyn
hrony is also
aptured by a sub
al-
ulus of in whi
h there is no need to expli
itly represent media. The sub
al
ulus
onsists of the agents satisfying the following requirements:
1. Only 0
an follow an output Prex.
2. An output Prex may not o
ur as an unguarded operand of +.
The rst requirement disallows agents su
h as ax : by, where an agent other than
0 follows ax. The se
ond requirement disallows ax + b(y ), but allows : ax + b(y ).
21
This sub
al
ulus is known as the asyn
hronous -
al
ulus, and the rationale
behind it is as follows. An unguarded output Prex ax o
urring in a term
represents a message that has been sent but not yet re
eived. The a
tion of
sending the message is pla
ing it in an unguarded position, as in the following
: (ax j P ) ! ax j P
After this transition, ax
an intera
t with a re
eiver, and the sender pro
eeds
on
urrently as P . Be
ause of requirement 1 the fa
t that a message has been
re
eived
annot be dete
ted by P unless the re
eiver expli
itly sends an a
knowl-
edgement. Be
ause of requirement 2 a message
annot disappear unless it is
re
eived. Therefore, : (ax j P )
an be paraphrased as \send ax asyn
hronously
and
ontinue as P ."
Of
ourse, with a s
heme for sending expli
it a
knowledgements syn
hronous
ommuni
ation
an be emulated, so the loss of expressiveness from the full -
al
ulus is largely pragmati
. In agents like
: ( b)(ab j b(x) : P )
the s
ope of b is used to prote
t this kind of a
knowledgement. Here the agent
an do an asyn
hronous output of ab, but it is blo
ked from
ontinuing until it
re
eives an a
knowledgement along b:
( b)(ab j b(x) : P ) j a(x) : Q ! ( b)(b(x) : P j Qfb=xg)
The a
knowledgement
an only arrive from the re
ipient (Q) of the message, sin
e
there is no other agent that
an send along the restri
ted name b.
The asyn
hronous
al
ulus has been used su
essfully to model programming
languages where the underlying
ommuni
ation dis
ipline is asyn
hronous. The
theory is slightly dierent sin
e only \asyn
hronous" observers are deemed rele-
vant. For example, the agent a(x) : ax is semanti
ally the same as sin
e the a
-
tions of re
eiving a datum and then emitting it on the same
hannel
annot be de-
te
ted by any other asyn
hronous pro
ess or observer. An interesting
onsequen
e
is that a general form of Sum, the input-guarded Sum y (x) : P + + yn(x) : Pn
1 1
an be en
oded as:
( a)(at j ( y (x) : a(z) : (af j if z = t then P else y x)
1 1 1
j
...
j
yn(x) : a(z ) : (af j if z = t then Pn else yn x)))
The idea is that a a
ts as a lo
k. Initially t is emitted on a; the rst
omponent
to intera
t with a will
ontinue to emit f on a, all other
omponents will resend
22
the datum along yi, thereby undoing the input along yi. This only works in the
asyn
hronous
al
ulus, where re
eiving and then emitting the same message is,
from an observer's point of view, the same as doing nothing. (An alert reader
will
omplain that if...then...else is dened using Sum. This is no great
matter, it
an be taken as primitive or dened as the Parallel
omposition of the
bran
hes.)
3.6 The Higher-Order Cal
ulus
Finally we shall look at an extension of the -
al
ulus
alled the higher-order
-
al
ulus. Here the obje
ts transmitted in intera
tions
an also be agents. A
higher-order output Prex form is of the kind
ahP i : Q
meaning \send the agent P along a and then
ontinue as Q." The higher-order
input Prex form is of the kind
a(X ) : Q
meaning \re
eive an agent for X and
ontinue as Q." Of
ourse Q may here
ontain X , and the re
eived agent will then repla
e X in Q. For example, an
intera
tion is
ahbu : 0i : b(x) j a(X ) : (X j
v ) ! b(x) j bu j
v
The rst
omponent sends bu : 0 along a, the se
ond
omponent re
eives it and
exe
utes it in parallel with
v. The transmitted agent bu is then free to intera
t
with the remainder of the rst
omponent b(x), sending u to it along b. Sin
e
names and agents
an both be obje
ts in an intera
tion, a sorting dis
ipline su
h
as in Se
tion 3.3, extended with a sort for \agent",
an be employed to weed out
unwanted
ombinations su
h as ahP i : Q j a(x) : x(u).
Formally, we introdu
e a new
ategory of agent variables, ranged over by
X , and extend the denition of agents to in
lude the agent variables and the
higher-order Prex forms. The notion of repla
ing an agent variable by an agent,
P fQ=X g, is as expe
ted (and the same as in the xpoint
onstru
t of Se
tion 3.4),
and the higher-order intera
tion rule gives that
a(X ) : P j ahQi : R ! P fQ=X g j R
The substitution P fQ=X g is dened with alpha-
onversion su
h that free names
in Q do not be
ome bound in P fQ=X g. To see the need for this
onsider
a(X ) : b(
) : X j ah
(z ) : 0i : R
23
Clearly the name
in the right hand
omponent is not the same as the bound
to the left. The agent is alpha-equivalent to
a(X ) : b(d) : X j ah
(z ) : 0i : R
where these names are disso
iated. Therefore a transition to b(
) :
(z) j R is not
possible. In this sense the binding
orresponds to stati
binding: the s
ope of a
name is determined by where it o
urs in the agent. An alternative s
heme of
dynami
binding, where the s
ope is determined only when the name is a
tually
used, is possible but mu
h more
ompli
ated semanti
ally. For example, su
h
bindings
annot use alpha-
onversion.
Note that an agent variable may o
ur more than on
e in an agent. For
example,
a(X ) : (X jX ) j ahQi : R ! QjQjR
where the transmitted agent Q has been \dupli
ated" by the intera
tion. This
lends the higher-order
al
ulus
onsiderable expressive power. Re
ursion and
Repli
ation are now derivable
onstru
ts (as in the lambda-
al
ulus where the
xpoint
ombinator Y is expressible). Consider
D = a(X ) : (X j ahX i)
D a
epts an agent along a, and will start that agent and also retransmit it along
a. Now let P be any agent with a 62 fn(P ), and
RP = ( a)(D j ahP jDi)
Then RP behaves as !P sin
e it will spawn an arbitrary number of P :
RP ! ( a)((P jD) j ahP jDi) P j RP ! P j P j RP !
Obviously, for modelling programming languages with higher-order
onstru
ts
(su
h as fun
tions with fun
tions as parameters, or pro
esses that
an migrate
between sites) the higher-order
al
ulus is suitable. However, its theory is
onsid-
erably more
ompli
ated. In some situations it will then help to en
ode it into the
usual
al
ulus with the devi
e from Se
tion 2.3. Instead of transmitting an agent
P we transmit a new name whi
h
an be used to trigger P . Sin
e the re
eiver of
P might invoke P several times (be
ause the
orresponding agent variable o
urs
at several pla
es) P must be repli
ated. The main idea of the en
oding [ ℄ from
higher-order to the ordinary
al
ulus is as follows, where we assume a previously
unused name x for ea
h agent variable X :
[ (ahP i : Q)℄℄ = ( p)ap : ([[Q℄ j !p : [ P ℄ ) where p 62 fn(P; Q)
[ a(X ) : P ℄ = a(x) : [ P ℄
[X℄ = x
24
Consider the example above, a(X ) : (X jX ) j ahQi : R ! Q j Q j R,
where Q and R in turn
ontain no higher-order Prexes. Using the en
oding,
and assuming q is not free in Q or R, we get a similar behaviour:
a(x) : (x j x) j ( q )aq : (R j !q : Q)
! ( q)(q j q j R j !q : Q)
! ! ( q)(0 j 0 j R j Q j Q j !q : Q)
RjQjQ j ( q)!q : Q
where the rightmost
omponent ( q)!q : Q will never be able to exe
ute be
ause
it is guarded by a private name, so the whole term will behave as QjQjR as
expe
ted.
4 Operational Semanti s
The standard way to give an operational semanti
s to a pro
ess algebra is through
a labelled transition system, where transitions are of kind P ! Q for some set
of a
tions ranged over by . The -
al
ulus follows this norm and most of the
rules of transitions are similar to other algebras. As expe
ted, for an agent
: P there will be a transition labelled leading to P . Also as expe
ted, the
Restri
tion operator will not permit an a
tion with the restri
ted name as subje
t,
so ( a)au : P has no transitions and is therefore semanti
ally equivalent to 0. But
what a
tion should
( u)au : P
have? Clearly it must have some a
tion; inserted in a
ontext a(x) : Q j ( u)au : P
it will enable an intera
tion sin
e, assuming u 62 fn(Q), this term is stru
turally
ongruent to ( u)(a(x) : Q j au : P ) and there is an intera
tion between the
om-
ponents. So ( u)au : P is not, intuitively, something that behaves as 0. On the
other hand it is
learly distin
t from au : P and it
an therefore not be given the
a
tion au. For example,
(a(x) : if x = u then Q) j au ! if u = u then Q
whi
h
an
ontinue as Q, while
(a(x) : if x = u then Q) j ( u)au
( v)((a(x) : if x = u then Q) j av) !
( v)if v = u then Q
and there are no further a
tions (remember that s
ope extension requires that u
is alpha-
onverted before the s
ope is extended.)
The solution is to give ( u)au a new kind of a
tion
alled bound output written
a u. The intuition is that a lo
al name represented by u is transmitted along a,
extending the s
ope of u to the re
ipient. In summary, the a
tions ranged over
by
onsists of four
lasses:
25
1. The internal a
tion .
2. The (free) output a
tions of kind ax.
3. The input a
tions of kind a(x).
4. The bound output a
tions a x.
The three rst kinds
orrespond pre
isely to the Prexes in the
al
ulus.
For the sake of symmetry we introdu
e a fourth kind of Prex a x, for a 6= x,
orresponding to the bound output a
tion. The bound output Prex is merely
a
ombination of Restri
tion and output as dened by a x : P = ( x)ax : P . In
this way we
an
ontinue to let range over both a
tions and Prexes, where
fn(a x) = fag and bn(a x) = fxg.
An input transition P a ! x
( )
Q means that P
an re
eive some name u along
a, and then evolve to Qfu=xg. In that a
tion x does not represent the value
re
eived, rather it is a referen
e to the pla
es in Q where the re
eived name will
appear. When examining further transitions from Q, all possible instantiations
for this x must be
onsidered. Those familiar with fun
tional programming and
the lambda-
al
ulus might think of the transition as P ! a
x Q, making it
lear
that the derivative, after the arrow, has a fun
tional parameter x. (The reader
may at this point wonder about an alternative way to treat input by in
luding
the re
eived name in the a
tion, as in a(x) : P au! P fu=xg. This is a viable
alternative and will be dis
ussed in Se
tion 5.3.)
Similarly, the bound output transition P a!x Q signies an output of a lo
al
name and x indi
ates where in Q this name o
urs. Here x is not a fun
tional
parameter, it just represents something that is distin
t from all names in the
environment.
The labelled transition semanti
s is given in Table 3. The rule stru
t makes
expli
it our intuition that stru
turally
ongruent agents
ount as the same for
the purposes of the semanti
s. This simplies the system of transition rules. For
example, sum is suÆ
ient as it stands in Table 3. The dual rule
Q ! Q0
sum2
P + Q ! Q0
is redundant sin
e it
an be inferred from sum and stru
t. Similar arguments
hold for the rules par and
om.
In the rule par, note the extra
ondition that Q does not
ontain a name
bound in . This
onforms to the intuition that bound names are just referen
es
to o
urren
es; in the
on
lusion P jQ ! P 0jQ the a
tion should not refer to
any o
urren
e in Q. To see the need for the
ondition
onsider the inferen
e
a(x) : P a !
( ) x
P
par
(a(x) : P ) j Q ! P j Q
ax
( )
26
stru
t P P; P0 ! Q; Q Q0
0
P ! Q0
prefix
:P !P
sum P!P 0 0
P +Q !P
mat
h P ! P 0
if x = x then P! P0
mismat
h P ! P 0; x =6 y
if x 6= y then P ! P 0
res P ! P ; x 62 0
0
( x)P ! ( x)P
open P ! P a; xa 6= 0x
ax 0
( x)P ! P
Table 3: The operational semanti
s.
27
Combined with an output au : R au! R we get
om
(a(x) : P ) j Q ! P j Q; au : R au! R
( ) ax
((a(x) : P ) j Q) j au : R ! (P j Q)fu=xg j R
This is
learly only
orre
t if x 62 fn(Q), otherwise the free x in Q would be
ae
ted by the substitution. If x 2 fn(Q) then a similar derivation is possible
after rst alpha-
onverting x in a(x) : P to some name not free in Q.
The rule open is the rule generating bound outputs. It is interesting to
note that bound output a
tions do not appear in the
om rule and therefore
annot intera
t dire
tly with inputs. Su
h intera
tions are instead inferred by
using stru
tural
ongruen
e to pull the Restri
tion outside both intera
ting agents
(possibly after an alpha-
onversion), as in the following where we assume that
u 62 fn(P ):
a(x) : P j au : Q ! P fu=xg j Q
res
stru
t
( u)(a(x) : P j au : Q) ! ( u)(P fu=xg j Q)
a(x) : P j ( u)au : Q !
( u)(P fu=xg j Q)
In view of this it might be argued that bound output transitions and the rule open
an be omitted altogether, sin
e they have no impa
t on inferring intera
tions.
Although te
hni
ally this argument is valid there are other reasons for in
luding
the bound output. One is of philosophi
al nature: we think of the agent ( u)au
as, intuitively, being able to do something, namely exporting a lo
al name, and
if we do not dignify that with a transition we introdu
e an in
ompleteness in the
semanti
s in that not all behaviour is manifested by transitions. Another reason
is of te
hni
al
onvenien
e: when it
omes to developing behavioural equivalen
es
(see Se
tion 6) the bound output transitions will turn out to be indispensable.
We will here
onsider alternative operational semanti
s. Some are mere presen-
tational variants. But dierent semanti
s have dierent strengths, for example
one may be suitable for an automati
tool and another may boost intuition, so
there is a point to the diversity.
5.1 The Role of Stru
tural Congruen
e
Through the rule stru
t we
an regard an inferen
e of P Q as a step in an
inferen
e of a transition. If the only purpose of the
ongruen
e is to fa
ilitate
inferen
e of labelled transitions then there is a possible trade-o between what to
in
lude in the stru
tural
ongruen
e and what to in
lude in the transition rules.
As we saw the dual sum of sum is unne
essary, but an alternative solution is
2
28
to omit
ommutativity from the stru
tural
ongruen
e and introdu
e sum2. A
similar
hoi
e o
urs for the Parallel
ombinator: stru
tural
ommutativity
an
be omitted at the pri
e of introdu
ing the duals of par and
om.
For some operators there is even a
hoi
e between dening it entirely through
the
ongruen
e or through the transition rules. For example, the Mat
h operator
an either be dened with the rule mat
h or with an additional stru
tural rule
if x = x then P P
sin
e that rule would be obviously unsound for a Mismat
h under an input Prex:
a(x) : if x 6= y then P and a(x) : P
represent two dierent behaviours!
Another su
h
hoi
e o
urs for Identiers. They are here dened through a
stru
tural
ongruen
e rule A(~y) P fy~=x~g if A(~x) = P . Alternatively we
ould
def
ide
A(~y) ! P 0
Perhaps the most dramati
part of the stru
tural
ongruen
e is the s
ope
extension whi
h, together with
om, make possible transitions like
a(x) : P j ( u)au : Q ! ( u)(P fu=xg j Q)
(provided u 62 fn(P )). Interestingly, there is a way to a
hieve the same ee
t
without the s
ope extension. It involves a new transition rule
lose whi
h
represents an intera
tion between a bound output and an input:
P a(!
u) 0
P ; Q a!u Q0
lose
P jQ ! ( u)(P 0jQ0 )
Let us see how the transition from a(x) : P j ( u)au : Q mentioned above is de-
rived. It involves an alpha-
onversion of x to u in the rst operand:
a(x) : P a(u) : P fu=xg; a(u) : P fu=xg a !
u
( )
P fu=xg
stru
t
a(x) : P a !
u
( )
P fu=xg
29
open in the se
ond
omponent gives:
au : Q au! Q
open
( u)au : Q a!u Q
and
ombining the two
on
lusions we get:
a(x) : P ! P fu=xg; ( u)au : Q a!u Q
au
( )
lose
a(x) : P j ( u)au : Q ! ( u)(P fu=xg j Q)
Note how the s
oping represented by moves from the se
ond operand onto the
transition arrow and reappears in the term in the
on
lusion!
In this way it is possible to remove all of the stru
tural
ongruen
e ex
ept
alpha-
onversion, at the expense of introdu
ing more transition rules. In fa
t, it
is even possible to remove the alpha-
onversion by building it into a spe
ial rule,
or into the rules that generate bound a
tions. For example, the rule for input
would be
ome
a(x) : P a !
( ) u
P fu=xg
for any u 62 fn(P ), and similarly the rule open would need a modi
ation.
Therefore, the
hoi
e whether to use a stru
tural
ongruen
e at all and, if
so, how many rules it should
ontain is largely one of
onvenien
e. Histori
ally,
the rst presentations of the
al
ulus did not use stru
tural
ongruen
e and an
advantage is then that some proofs by indu
tion over inferen
e of transition be-
ome
learer. Today most presentations use some form of stru
tural
ongruen
e,
at least in
luding alpha-
onversion, sin
e the denitions be
ome more
ompa
t
and transparent. For example, the s
ope extension in stru
tural
ongruen
e is
easier to understand than the ee
t of the
lose and open rules.
5.2 Symboli
Transitions
In the transitional semanti
s an input a
tion P a ! x
( )
Q represents that anything
an be re
eived along a. Consequently, if we want to explore further transitions
from Q we must take into a
ount all possible substitutions for x. Sin
e there are
innitely many names it appears we have to explore the behaviour of Qfu=xg for
innitely many names u. In general, when a number of su
h inputs have been
performed, we may be interested in the behaviour not merely of an agent P but
of P for substitutions involving several names. This kind of innite bran
hing
is awkward for proof systems and prohibits eÆ
ient tool support for automated
analysis.
Therefore, an alternative way to present the semanti
s is to let a transition
from P
ontain information about the behaviour not only of P itself but also of
P for any . The key observation is that even though there are innitely many
30
names a synta
ti
ally nite agent
an only subje
t them to a bounded number of
tests, and the
onditions whi
h enable a transition
an be re
orded. For example,
onsider
P = au : Q j b(x) : R
We
an s
hemati
ally express the transitions of P su
in
tly as follows. For
any the agent P will have an input and an output transition (with subje
t
(a) and (b) respe
tively). In addition, if (a) = (b) it will have a -transition
arising from a
ommuni
ation between the
omponents. This is the idea behind
the so
alled symboli
semanti
s, where these transitions
ome out as:
P true! ; au
Q j b(x) : R
true; b x
P ! au : Q j R
( )
P =
! Q j Rfu=xg
a b;
The label on a transition here has two
omponents. The rst is a
ondition whi
h
must hold for the transition to be enabled, and the se
ond is as usual the a
tion
of the transition.
In the -
al
ulus the
onditions have a parti
ularly simple form. The only
tests an agent
an perform on names are for equality (arising from the Parallel
ombinator, as above, and from Mat
h) and inequality (arising from Mismat
h).
Of
ourse several of these tests may ae
t a transition, so a
ondition will in
general be a
onjun
tion of equalities and inequalities on names. For example,
we will have that
x y^x6 b^a b;
if x = y then au : Q j if x 6= b then b(y ) : R ! Q j Rfu=yg
= = =
Formally we let M; N range over
onjun
tions of name equalities and inequali-
ties, in
luding the M;empty
onjun
tion whi
h is written true. Symboli
transitions
are of the form P ! Q, meaning \if M holds then P has an a
tion leading
to
Q." We let range over pairs (M; ), so a symboli
transition is written P ! Q.
For = (M; ) we let bn() mean bn() and we let ^ N mean (M ^ N; ). The
rules for symboli
transitions are given in Table 4 and are similar in stru
ture to
the rules in Se
tion 4 for ordinary transitions. The only subtle point is the ee
t
of Restri
tion on a
ondition in the rules s-res and s-open. Suppose P has a
symboli
transition
P M;! Q
with a
ondition M that mentions x in a
onjun
t x 6= y. This means that the
transition from P only holds for substitutions assigning x and y dierent names,
perhaps be
ause P is of the form if x 6= y then ... What is then the
ondition
M 0 of the inferred symboli
transition
( x)P M !; 0
Q
0 0
31
stru
t P P; P0 ! Q; Q Q0
0
s
P ! Q0
s prefix
:P ! P
true;
s sum P!P 0 0
P +Q !P
s mat
h P! P 0 x; y 62 bn()
^x y
if x = y then P ! P 0
=
s mismat
h P ! P 0; x; y 62 bn()
6 y then P ^x!6 y P 0
if x =
=
s par P
! P 0; bn() \ fn(Q) = ;
P jQ ! P 0 jQ
M; a(x)
s
om P ! P 0 ; Q N;! bu 0
Q
M ^N ^a=b; 0
P jQ ! P fu=xgjQ0
s res P M;! P 0 ; x 62
( x)P M !x; ( x)P 0
open P !MP x;; aa6=
M; ax 0
s x
( x)P ! P x 0
32
To see what it should be we must ask how substitutions involving x
an enable
that transition. The requirement from M is that x should not be assigned the
same name as y. But sin
e substitutions only ae
t free names, no substitution
will assign y the same name as the bound x in ( x)P . Therefore, the inferred
transition from ( x)P will be possible no matter how x is treated by the substi-
tution. Hen
e the
onjun
t x 6= y should not be present in M 0 .
Suppose instead that M says that x is the same as some other name y, i.e., M
ontains a
onjun
t x = y, meaning \this transition only holds for substitutions
assigning x and y the same name." Then the inferred transition from ( x)P will
hold for no substitution, for the same reason. In that
ase M 0
an be
hosen
to be any unsatisable
ondition, for example z 6= z. The only other types of
onjun
ts in M mentioning x are the trivial x = x, whi
h is always true and
an
be removed at will, and the
ontradi
tory x 6= x, whi
h implies that the
ondition
is unsatisable.
In
on
lusion, the
ondition M 0
an be dened as M where
onjun
ts x = x
and x 6= y are removed, and
onjun
ts x = y are repla
ed with an unsatisable
onjun
t z 6= z, for all y dierent from x. We denote this by \M x" in Table 4.
For example (x 6= y ^ z = u) x is (z = u), and (x = y ^ z = u) x is z 6= z (it
is not satisable).
As an example inferen
e
onsider the symboli
transition from
( x)if x 6= y then : P
First by s-prefix
: P true!; P
and then by s-mismat
h
x6 y;
if x 6= y then : P ! P
=
Here there is a fth kind of a
tion, the free input a
tion of kind au, meaning
\input the name u along a". Note the dieren
e between
P ! Q meaning P inputs something to repla
e x in Q, and
a(x)
In the early semanti
s the
om rule needs a modi
ation, sin
e the input a
tion
in the premise refers to the transmitted name:
P au! P 0; Q au! Q0
e
om
P jQ ! P 0 jQ0
There is no substitution in the
on
lusion sin
e that has already been performed
at an earlier point in the inferen
e of this transition, namely when the input a
tion
was inferred. Hen
e the name \early" semanti
s. Consequently the semanti
s
in Se
tion 4 is
alled the late semanti
s: the substitution emanating from an
intera
tion is inferred as late as possible, namely when inferring the intera
tion
in the
om-rule. In the early semanti
s there is no need for the bound input
a
tions, so there will still only be four kinds of a
tion. However, if s
ope extension
in the stru
tural
ongruen
e is omitted in favour of the
lose rule as des
ribed
in Se
tion 5.1 then the early semanti
s also needs the bound input a
tions, and
hen
e all ve kinds.
To see the similarity and dieren
e between late and early,
onsider the in-
feren
e of an intera
tion between a(x) : P and au : Q. Both semanti
s yield the
same -transition. First the late semanti
s:
prefix prefix
om
a(x) : P ! P
a(x)
au : Q !Q
au
a(x) : P j au : Q ! P fu=xg j Q
34
Then the early semanti
s:
e input prefix
a(x) : P au! P fu=xg au : Q !Q
au
e
om
a(x) : P j au : Q ! P fu=xg j Q
The -transitions that
an be inferred with the early semanti
s are exa
tly
those that
an be inferred with the late semanti
s. The proof of this is by indu
-
tion over the depth of inferen
e of the transition. The indu
tion hypothesis needs
to state that not only a
tions but also input and output a
tions
orrespond in
the two semanti
s, where the
orresponden
e between input and free input is that
P au! P 0 i 9P 00 ; w : P ! P 00 ^ P 0 P 00 fu=wg.
xw
( )
x prefix
:E !
E
x sum P!
E
P +Q !
E
x mat
h P !
E
if x = x then P!
E
x mismat
h P !
E; x =6 y
if x 6= y then P ! E
x par P !
E
P jQ ! E jQ
x
om P ! xP
a 0; Q ! a
[u℄Q0
P jQ ! P 0 fu=xgjQ0
res P ! E; x
6=
; x 6=
x
( x)P ! ( x)E
Table 5: Transitions for extended agents.
38
6 Bisimilarity and Congruen
e
We shall here look at one of the most fundamental behavioural equivalen
es,
namely strong bisimilarity. It turns out not to be a
ongruen
e | it is not
preserved by input prex | but fortunately the largest
ontained
ongruen
e
has a simple
hara
terisation.
6.1 Bisimilarity
In most pro
ess algebras a family of equivalen
e relations on agents is based on
bisimulations, and the -
al
ulus is no ex
eption. The generi
denition of a
bisimulation is that it is a symmetri
binary relation R on agents satisfying
P RQ and P ! P 0 implies 9Q0 : Q ! Q0 ^ P 0RQ0
The intuition is that if P
an do an a
tion then Q
an do the same a
tion and the
derivatives lie in the same relation. Two agents are said to be bisimilar if they
are related by some bisimulation; this means that they
an indenitely mimi
the
transitions of ea
h other.
For the -
al
ulus extra
are has to be taken for a
tions with bound obje
ts.
Consider
P = a(u); Q = a(x) : ( v )vu
Intuitively these represent the same behaviour: they
an do an input along a and
then nothing more. However, Q has the name u free where P has not. Therefore,
x in Q
annot be alpha-
onverted to u, and the transition P ! 0
annot be
au
( )
39
(ii) If is not an input then 9Q0 : Q ! Q0 ^ P 0 RQ0
P and Q are (strongly) bisimilar, written P _ Q, if they are related by a bisim-
ulation.
for the substitution fu=xg, the derivatives are not bisimilar. Similarly,
P = a(x) : P + a(x) : 0; P = a(x) : P + a(x) : 0 + a(x) : if x = u then P
1 2
(whi
h are fun
tions from names to agents) must be pointwise bisimilar.
As expe
ted we have
a j b _ a : b + b : a
and
a j a _ a : a + a : a +
This demonstrates that _ is not in general
losed under substitutions, i.e., from
P _ Q we
annot
on
lude that P _ Q . For this reason we have
(a) : (a j b) 6_
(a) : (a : b + b : a)
demonstrating that _ is not preserved by input Prex, i.e., that from P _ Q
we
annot
on
lude that a(x) : P _ a(x) : Q.
However, we have the following results:
Proposition 2 If P _ Q and is inje
tive then P _ Q .
Proposition 3 _ is an equivalen
e.
Proposition 4 _ is preserved by all operators ex
ept input Prex.
40
Proposition 2 is proved by establishing that transitions are preserved by in-
je
tive substitutions, i.e., that for inje
tive ,
P ! P 0 implies P ! P 0
where the substitution applied to an a
tion is dened not to ae
t bn().
This result is established by indu
tion of the inferen
e of P ! P 0 and ea
h rule
in Table 3 gives rise to one indu
tion step. It is then straightforward to show
that f(P ; Q) : P _ Q; inje
tiveg is a bisimulation.
Proposition 3 is not diÆ
ult. Re
exivity and symmetry are immediate and
for transitivity it suÆ
es to show that _ _ is a strong bisimulation.
The proof of Proposition 4 goes by examining ea
h operator in turn. It is a
bit
ompli
ated for the
ases of Restri
tion and Parallel. For example, we would
like to show that
f(( x)P; ( x)Q) : P _ Qg [ _
is a bisimulation, by examining the possible transitions from ( x)P , where the
rules res and open are appli
able. Unfortunately this simple idea does not
quite work sin
e also the stru
t rule is appli
able, so we have to in
lude all
stru
turally
ongruent pairs in the bisimulation. A proof idea is the following.
Say that an agent is normal if all bound names are distin
t and all unguarded
Restri
tions are at the top level, i.e., of the form ( x~)P where P has no unguarded
Restri
tions. By Proposition 1 any P is stru
turally
ongruent to a normal agent.
Now extend the transition rules with the symmetri
ounterparts of par and
om;
in view of the
ommutativity in the stru
tural
ongruen
e this does not ae
t
the transitions. That makes it possible to prove the lemma
If P ! P 0 and P N where N is normal, then by an inferen
e of
no greater depth, N ! N 0 and P 0 N 0 .
The proof is through indu
tion on the inferen
e of P N and involves a tedious
examination of all rules for the stru
tural
ongruen
e. Now we
an show that the
relation on normal agents
f(( x~)(P jQ); ( x~)(P 0jQ0)) : P _ P 0; Q _ Q0 g
is a bisimulation up to _ (as explained below), by showing that an a
tion from
one side is simulated by an a
tion from the other side, through indu
tion on the
inferen
e of the a
tion. There are eight indu
tive steps through
ombinations of
the par,
om, res and open laws to
onsider. All
ases are routine. Be
ause
of the lemma, a
tions derived through the stru
t rule
an be ignored in the
indu
tion sin
e they also have a shorter inferen
e. Finally we
an take P = P 0 = 0
to show that Restri
tion preserves bisimilarity, and x~ the empty sequen
e to show
the same for Parallel.
The notion of \bisimulation up to" is a standard proof tri
k in these
ir
um-
stan
es. It involves modifying Denition 1 by repla
ing R in the
onsequents of
41
(i) and (ii) by _ R _ , i.e., the relational
omposition of _ , R, and _ . The
requirement is thus weakened: the derivatives must be bisimilar to a pair in R,
in
ontrast to Denition 1 whi
h requires that the derivatives themselves lie in
R. It then holds that if two agents are related by a bisimulation up to _ then
they are bisimilar. The proof of this is very similar to the
orresponding result
for other pro
ess algebras.
6.2 Congruen
e
The fa
t that bisimilarity is not preserved by input Prex makes us seek the
largest
ongruen
e in
luded in bisimilarity. The denition is fortunately simple:
Denition 2 Two agents P and Q are (strongly)
ongruent, written P Q, if
P _ Q for all substitutions .
For an example, although a j b _ a : b + b : a these agents are not strongly
on-
gruent sin
e the substitution fa=bg makes them non-bisimilar. However, we do
have
a j b a : b + b : a + if a = b then
and the reader may by this example realise the
ru
ial role played by the Mat
h
operator in an expansion law whi
h redu
es a Parallel
omposition to a Sum.
Proposition 5 Strong
ongruen
e is the largest
ongruen
e in bisimilarity.
We rst have to show that strong
ongruen
e is a
ongruen
e, i.e., that it is
preserved by all operators. For all operators ex
ept input Prex this is immediate
from the denition and Proposition 4. For input Prex we show that
f(a(x) : P; a(x) : P 0) : P P 0g [
is a strong bisimulation and
losed under substitutions. The latter is trivial sin
e
is
losed under substitutions. For the bisimulation part, the transition to
onsider is a(x) : P a !( ) x
P whi
h obviously is simulated by a(x) : P 0 a ! x( )
P 0 ; we
have to show that for all u, P fu=xg is related to P 0fu=xg, and this follows from
P P 0.
We next show that it is the largest su
h
ongruen
e. Assume that P and Q
are related by some
ongruen
e 0 in _ . We shall show that this implies that
P _ Q for any , in other words that 0 . Without loss of generality we
an assume that (x) 6= x for only nitely many names x sin
e the ee
t of on
names not free in P or Q is immaterial. So let = fy : : : yn = x : : : xn g. Choose
1 1
a 62 fn(P; Q). By P 0 Q and the fa
t that 0 is a
ongruen
e we get
( a)(a(x : : : xn ) : P j ahy : : : yni) 0 ( a)(a(x : : : xn) : Q j ahy : : : yni)
1 1 1 1
43
for all w. For the
ase that w = u, P simulates through P au! P fu=xg, and the
1 1 E
derivatives are bisimilar sin
e if u = u then P fu=xg has the same transitions
as Pawfu=xg. For the other
ases, i.e., w 6= u, P simulates with the transition
1
P ! 0, and the derivatives are bisimilar sin
e if w = u then P fw=xg has no
1 E
transitions.
Again it helps to think of late input transitions as resulting in fun
tions from
names to agents. Consider the pi
torial representation of P and P in Figure 1
1 2
where late input transitions are arrows and instantiations of the bound obje
t are
dashed lines (for simpli
ity we
onsider only two instantiations u and w where in
reality there would be one for ea
h name). Late bisimulation requires that the
derivatives simulate after ea
h input ! and then again after ea
h instantiation.
a
Therefore P and P are
1 2 not late bisimilar. In
ontrast, an early input means
the same as an input ! and an instantiation in the same go. The intermediate
a
level, before the instantiation, does not exist in the early semanti
s. Therefore
P and P are early bisimilar. For example the bottom alternative from P , going
1 2 2
through ! leading to if w = u then P fw=ug, is simulated by P going through
aw
1
! to 0.
aw
It is also possible to dene the early bisimulation through the late semanti
s.
Figure 1 and the denition of late bisimulation provide the intuition: Consider
the part of the denition (
lause (i)) whi
h says
there should exist some Q0 su
h that for all u ...
For early bisimulation, the
orresponding part should say
for all u there should exist some Q0 su
h that ...
This
ommutation of the quantiers weakens the statement, sin
e the
hoi
e of
Q0 here
an depend on u. And indeed, with it we obtain a bisimulation whi
h
pre
isely
oin
ides with early bisimulation:
Denition 4 An early bisimulation with late semanti
s is a symmetri
binary
relation R on agents satisfying the following: P RQ and P ! P 0 where bn()
is fresh implies that
if w = u then P fw=xg
45
Prex; and early
ongruen
e , dened by P Q if for all , P _ Q, is
E E E
the largest
ongruen
e in _ . The proofs are very similar. Early
ongruen
e is
E
larger than late
ongruen
e, i.e., , and the example in Figure 1 suÆ
es to
E
prove that the in
lusion is stri
t.
It is hard to imagine any pra
ti
al situation where the dieren
e between
late and early
ongruen
e is important. Sin
e the theoreti
al properties are very
similar the
hoi
e between them is largely a matter of taste. It
ould be argued
that early
ongruen
e to a higher degree
onforms to our operational intuition,
and that the denition is less
omplex. On the other hand, late
ongruen
e seems
to lead to more eÆ
ient veri
ations in automated tools.
7.2 Barbed Congruen
e
In some sense the notion of bisimilarity, be it late or early, assumes the observer
is unrealisti
ally powerful: sin
e there is a dieren
e between the a
tions au and
a u it is possible to dire
tly dete
t if an emitted name is lo
al. It is therefore
natural to ask what is the ee
t of redu
ing this dis
riminatory power. This
leads to the idea of barbed bisimulation where, intuitively, the observer is limited
to sensing if an a
tion is enabled on a given
hannel. Although barbed bisimilarity
is weaker (i.e., equates more agents) than early bisimilarity it turns out that the
ongruen
e obtained from barbed bisimulation is the same as early
ongruen
e.
Denition 5 A name a is observable at P , written P # a, if a is the subje
t of
some a
tion from P . A barbed bisimulation is a symmetri
binary relation R on
agents satisfying the following: P RQ implies that
(i) If P !
P 0 then 9Q0 : Q ! Q0 ^ P 0 RQ0
(ii) If P # a then Q # a
P and Q are barbed bisimilar, written P _ Q, if they are related by a barbed
B
bisimulation.
The idea behind a barbed bisimulation is that the only unquestionable exe-
ution steps are the internal ones, i.e., the -a
tions, sin
e these do not require
parti
ipation of the environment. Therefore labelled transitions are not needed
to dene barbed bisimulation. It is enough with the redu
tion relation of Se
-
tion 5.4 and the observability predi
ate, whi
h like redu
tions
an be dened
dire
tly from the syntax as P # a if P
ontains an unguarded Prex with subje
t
a not under the s
ope of a Restri
tion a.
Barbed bisimilarity is uninteresting by itself. For example,
au _ av _ ( u)au
B B
that all transitions from P 0 must be simulated by Q0 for all , in
luding those
substitutions that instantiate x to another name. This also demonstrates the
pertinent dieren
e between open and late: where late requires the agents to
ontinue to bisimulate under all substitutions for the bound input obje
t, open
requires them to bisimulate under all substitutions | not only those ae
ting
the bound input obje
t.
It is straightforward to show that an open bisimulation is also a late bisim-
ulation, and hen
e P _ Q implies P _ Q. Furthermore, dire
tly from the
O
denition we get that open bisimilarity is
losed under substitution, in the sense
that P _ Q implies P _ Q; together these fa
ts give us that P _ Q
O O O
implies P Q. But the
onverse is not true as demonstrated by the following
example:
Q + :
R + : + : if x = y then
Q and R are late
ongruent. To see that Q is late bisimilar to R for all
,
onsider two possibilities for . Either (x) = (y ), in whi
h
ase R !
if (x) = (y ) then is simulated by Q ! ; or (x) 6= (y ), in whi
h
ase
it is simulated by Q !
0. But Q and R are not open bisimilar. To see this,
hoose as the identity substitution and
onsider R ! if x = y then . There
are two possibilities for Q to make a transition. One is Q ! 0. But then open
bisimulation requires that the two derivatives if x = y then and 0 bisimulate
again under all substitutions 0 , and this does not hold for 0 = fx=y g sin
e
(if x = y then )fx=y g ! 0 whereas 0fx=yg has no transition. Similarly, the
other transition Q ! fails for the identity substitution, sin
e if x = y then
has no transition, in
ontrast to .
48
This example may seem arti
ial and, as for the dieren
e between late and
early, the dieren
e between open and late is probably of little pra
ti
al signi-
an
e. Open bisimilarity is an equivalen
e and a
ongruen
e, so by analogy with
the other equivalen
es, writing for the largest
ongruen
e in _ , we get
O O
_ = (the proofs are te
hni
ally similar to the proof for late
ongruen
e).
O O
It
an also be
hara
terised in a few other informative ways. One is through
substitution
losed ground bisimulations. A ground bisimulation is a relation R
satisfying
P RQ and P ! P 0 implies 9Q0 : Q ! Q0 and P 0RQ0
In other words, it does not introdu
e substitutions at all. Now it holds that _
O
is the largest substitution
losed (i.e., P RQ implies P RQ) ground bisimula-
tion. Another
hara
terisation is with dynami
bisimulations: these are relations
satisfying
P RQ and C (P ) ! P 0 implies 9Q0 : C (Q) ! Q0 and P 0RQ0
for all
ontexts C . It
an be shown that dynami
bisimilarity is the same as open
bisimilarity.
At rst it may seem that the Restri
tion operator behaves well with open
bisimulation sin
e the substitutions only ae
t free names. Consider
P = ( x)if x = y then and Q = 0
Neither P nor Q have any transitions, for any substitution , sin
e the sub-
stitution
annot ae
t the bound name x. Therefore P _ Q. Similarly with
O
O
;-bisimilar.
Here the proviso that bn() is fresh means it is not in fn(P ; Q). The over-
loading of \ _ " is motivated by the fa
t that for the sub
al
ulus without
O
Restri
tion denitions 7 and 8
oin
ide. In essen
e, the distin
tion keeps tra
k
of what substitutions are admissible, ex
luding those that do not respe
t the dis-
tin
tion. After any a
tion ex
ept a bound output, the distin
tion re
urs in that
the substituted names must still be distin
t. After a bound output, additionally
the bound obje
t must be distin
t from any free name in the involved agents.
As an example we
an now demonstrate that P _ Q where
O
50
_ =
O O
_
=
E B
_ E
_ B
Figure 2: Barbed, early, late and open bisimilarity and the
orresponding
on-
gruen
es. An arrow means stri
t in
lusion, and when it goes from the left
olumn
to the right it also means \largest
ongruen
e in".
Distin
tions will however not admit Mismat
h in a sensible way. For example,
we would want to equate the agents
if x 6= y then : if x 6= y then and if x 6= y then :
but the requirement that derivatives bisimulate under all substitutions will make
them inequivalent. In order to admit Mismat
h a more fundamental redeni-
tion of the semanti
s is ne
essary, where the Mismat
h is expli
itly noted in the
transition, for example by using a symboli
semanti
s as in Se
tion 5.2.
In
on
lusion, the denition of _ loses some of its simpli
ity in the presen
e
O
of Restri
tion and it is still not appli
able with Mismat
h. It gains interest in
that it appears more eÆ
ient for automati
veri
ation and in that distin
tions
sometimes have an independent motivation to represent \
onstant" names su
h
as values in some global data type or ports whi
h are ne
essarily distin
t. For
example, if Booleans are represented by two globally available names t and f then
learly it is uninteresting to
onsider substitutions making them equal. Similarly,
the question whether a buer B (i; o) with input port i and output o behaves as
another buer B (i; o) might be relevant only for the
ase that i 6= o.
2
The various denitions of strong bisimilarity and
ongruen
e are related in
Figure 2. In summary, barbed bisimilarity is mu
h too weak to be interesting,
51
while the dieren
e between early and late is very small and has to do with the
pre
ise interpretation of input transitions. Barbed
ongruen
e is the same as
early
ongruen
e. The early and late
ongruen
es are obtained as bisimilarity for
all substitutions, and again the dieren
e between them is small. Open bisimi-
larity (dened only for the sub
al
ulus without Mismat
h) is a
ongruen
e and
is more dis
riminating than late
ongruen
e sin
e it requires bisimilarity for all
substitutions after every transition.
7.4 Weak Bisimulation
The main idea of weak bisimulation is that transitions are regarded as un-
observable. We therefore dene =) to mean ( !), i.e., zero or more tran-
sitions, =) to mean =) !=), and =b) to mean =) if 6= and =) if
= . The intention is to modify strong bisimilarity in the standard way, re-
pla
ing ! by =b). The only
ompli
ation is in the treatment of input a
tions.
These
all for substitutions of the bound obje
t, and when simulating a(x) by
!
! ! ! ! it turns out to be important that the substitution is
ax
( )
Clause (i) says how an input transition should be simulated: rst do any number
of , then the input rea
hing Q00, and then, for ea
h name u re
eived,
ontinue to
some Q0. The ee
t is that the
hoi
e of Q00 is independent of u, and the
hoi
e
of Q0 may depend on u. Let us see an example of the signi
an
e of this:
P = a(x) : if x = v then P + a(x) : ( + : P + : if x = v then P )
1
P =
2 a(x) : ( + : P + : if x = v then P )
P =
3 a(x) : ( + : P )
First, observe that P is even strongly bisimilar to P , sin
e
2 3
+ : P + : P + : if x = v then P
52
(any substitution makes the third summand behave as one of the rst two). Now
onsider a transition
P ! if x = v then P
ax ( )
1
P a!x
2 + : P + : if x = v then P
( )
and now applying fu=xg by one -transition to (if x = v then P )fu=xg. Sin
e
P P we also expe
t P to simulate it, and this requires the full glory of
lause
2 3 3
(i), with dierent Q0 for dierent u. The simulating transition is
P ! + :P
ax ( )
3
no longer
an simulate P a ! x
1 if x = v then P , sin
e neither 0, P , nor + : P
( )
8u : P 0fu=xgRQ0fu=xg
Then the so dened weak bisimilarity would be transitive. But it is inadequate
for another reason. Consider
P = a(x) : if x 6= v then (P + : if x 6= v then R)
1
P = a(x) : if x 6= v then (P + : R)
2
Here P and P are even strong late bisimilar. But with the attempted simpli
a-
1 2
be simulated by P .
So it seems that
lause (i) in Denition 9 is unavoidable. Then _ is an equiv-
2
alen
e and every strong bisimulation is also a weak bisimulation, as expe
ted. Of
ourse _ is not a
ongruen
e, for two independent reasons. The rst is that it
is not preserved by input Prex, similarly to the situation for _ . The se
ond
is that it is not preserved by +, similarly to the situation for observation equiva-
len
e in CCS. These two
on
erns
an be addressed independently in the standard
ways: as in Se
tion 6
losure under all substitutions is required to preserve input,
and as in CCS simulating an initial transition by =) (rather than =)) gives a
relation preserved by +. In
on
lusion weak late
ongruen
e is dened as follows.
53
Denition 10 P and Q are weak (late)
ongruent if, for all substitutions ,
P ! P 0 where bn() is fresh implies that
(i) If = a(x) then 9Q00 : Q =) a(!
x) 00
Q ^
8u9Q : Q fu=xg =) Q0
0 00 ^ P 0fu=xg _ Q0
(ii) If is not an input then 9Q0 : Q =) Q0 ^ P 0 _ Q0
and
onversely Q ! Q0 implies similar transitions from P .
8 Algebrai Theory
54
str If P Q then P = Q
ongr1 If P = Q then au : P = au : Q
:P = :Q
P +R =Q+R
( x)P = ( x)Q
ongr2 If P fy=xg = Qfy=xg for all y 2 fn(P; Q; x) then a(x) : P = a(x) : Q
s P +P = P
m1 if x = x then P = P
m2 if x = y then P = 0 if x 6= y
mm1 if x 6= x then P = 0
mm2 if x 6= y then P = P if x 6= y
r1 ( x) : P = : ( x)P if x 62
r2 ( x) : P = 0 if x is the subje
t of
r3 ( x)(P + Q) = ( x)P + ( x)Q
Table 6: Axioms for strong late bisimilarity.
bisimilarity, and
ongr2 says that to infer bisimilarity of input Prexes it is suf-
ient to establish bisimilarity under substitutions for the bound obje
t. Note
that
ongr2 mentions only a nite number of su
h substitutions: names free in
the agents under
onsideration plus one more name represented by x. In view of
Proposition 2 this is suÆ
ient sin
e all other names
an be obtained through an
inje
tive substitution on x. Laws m1{mm2 serve to evaluate if
onstru
ts, and
therefore a
lause for Mat
h and Mismat
h in
ongr1 is unne
essary. The reader
may remember from Se
tion 5.1 that mm2 is not admissible in the stru
tural
on-
gruen
e and may therefore be surprised to see this apparently unsuitable law in
Table 6. The explanation is that mm2 is unsuitable for a
ongruen
e, sin
e pre-
guring both sides of it by an input prex may invalidate it, and that bisimilarity
is not a
ongruen
e; preguring with an input prex requires the law
ongr2.
r1{r2 mean that a Restri
tion
an be pushed through a Prex or disappear;
the only ex
eption is when x is the free obje
t of in whi
h
ase neither r1 nor
r2 applies. Observe that r1
an be regarded as s
ope extension over Prex; as
was mentioned in Se
tion 2.2 an option is to have this law as part of the stru
tural
ongruen
e. Finally r3 means that Restri
tion distributes over Sum. This law is
more powerful than s
ope extension over sum, sin
e it splits one binder into two.
It is easily seen that all laws are sound, so if P = Q is provable then it must
hold that P _ Q. We shall now also prove the
onverse. In the following it is
important to remember that ranges also over bound output Prexes of kind
a x. Let the depth of an agent be the maximal nesting of its Prexes.
55
exp Let P = Pi i : Pi and Q = Pj j : Qj where bn(i ) \ fn(Q) = ; and
bn(j ) \ fn(P ) = ; for all i; j , and none of i or j is a bound output Prex.
Then X : (P jQ) + X : (P jQ ) + X : R
P jQ = i i j j ij
i j i
omp j
where the relation i
omp j and Rij are dened as follows: either i = a(x) and
j = au in whi
h
ase Rij = Pi fu=xgjQj , or
onversely i = au and j = a(x) in
whi
h
ase Rij = PijQj fu=xg.
Table 7: Expansion law for strong bisimilarity.
Proposition 7 Using the axioms Pin Table 6 every agent P is provably equal to
a head normal form (hnf) of kind i i : Pi of no greater depth.
The proof is by indu
tion over the stru
ture of the agent and all
ases are easy.
If P is a Mat
h or Mismat
h then m1{mm2 applies; if it is a Restri
tion then
r3 is used to distribute it onto the summands and r1{r2 to push it through the
Prexes or form part of a bound output Prex.
Proposition 8 If P _ Q then P = Q is provable from the axioms in Table 6.
The proof is by indu
tion on the depths of P and Q. By Proposition 7 we
an
assume P and Q are head normal forms. The base
ase P = Q = 0 is trivial.
For the indu
tive step we prove that for ea
h summand in P there is a provably
equal summand in Q and vi
e versa. For example, take a summand a(x) : P 0 in
P . Assume by alpha-
onversion that all top-level input a
tions have the same
bound obje
t x. Then from P _ Q and P a ! x
( )
P 0 we get Q ! Q0 su
h that
ax( )
P 0 fu=xg _ Q0 fu=xg for all u. By indu
tion they are also provably equal for all
u. So a(x) : Q0 is a summand of Q and from
ongr2 we get that it is provably
equal to a(x) : P 0. The other
ases are similar and simpler. So, ea
h summand
of P is provably equivalent to a summand of Q and therefore, by the law s (and
str), P is provably equivalent to Q.
We now turn to the Parallel operator. The idea behind the axiomatisation is to
introdu
e an expansion law through whi
h the
omposition of two head normal
forms is provably equal to a head normal form. With this law Proposition 7
will
ontinue to hold for the
al
ulus with Parallel, and therefore the proof of
Proposition 8 needs not
hange. The expansion law is given in Table 7.
The proof of Proposition 7 is now extended with an indu
tive step for P = QjR
where Q and R are hnfs. First use s
ope extension (Proposition 1) to pull any un-
guarded Restri
tions in QjR to top level, obtaining an agent of kind ( x~)(Q0jR0)
where Q0 and R0 are hnfs with no bound output Prexes. Then apply exp to
Q0 jR0 gaining an agent of type ( x~)P 0 where P 0 is a hnf, and nally use s
ope
extension to push ba
k the Restri
tions inwards, gaining a hnf.
56
8.2 Congruen
e
Following Denition 2 we immediately obtain an axiomatisation of by adding
that denition as a law. Interestingly, there is an alternative axiomatisation
that does not involve quanti
ation over substitutions and does not refer ba
k to
bisimilarity. Again we begin with the sub
al
ulus without Parallel.
It is informative to begin by examining the axioms in Table 6 to see what needs
to
hange. The rule str is still valid and useful, and the rules
ongr1{
ongr2
an be repla
ed by a simpler rule saying that is a
ongruen
e. The problemati
laws are m2 and mm2 whi
h are unsound for
ongruen
e. For example, even
though if x = y then P and 0 are bisimilar when x 6= y they are not ne
essarily
ongruent sin
e a substitution fx=yg makes them non-bisimilar. In an axiom
system for we
annot rely on axioms whi
h eliminate unguarded Mat
h and
Mismat
h operators.
A
on
ise presentation of the axioms depends on the notion of a Generalised
mat
h operator written if M then P , where M is a
onjun
tion of
onditions of
type x = y and x 6= y. The Generalised mat
h is simply dened to be a nested
sequen
e of Mat
hes and Mismat
hes, one for ea
h
ondition:
if m ^ ^ mk then P = if m then ( (if mk then P ) )
1 1
gm3 is a kind of distributive law for Generalised mat
h over Sum. gm4 says
that a test, on
e passed,
an be done again after an a
tion , sin
e that a
tion
annot invalidate the out
ome of the test. Here the side
ondition on bn() is
important. gm5 embodies the essen
e of a mat
h: if x and y have been deemed
equal then one
an substitute the other (the substitution is dened to not ae
t
bn()). Sin
e x = y , y = x we get from gm1 that it does not matter whether
the substitution is fy=xg or fx=yg. And
ombined with gm3 and gm4 we get all
instan
es of a stronger law if x = y then : P = if x = y then ( : P )fx=yg
where the substitution ae
ts the whole Prex form. Finally gm6 is the essen
e
57
str If P Q then P = Q
ongr \=" is preserved by all operators
s P +P = P
mm1 if x 6= x then P = 0
gm1 if M then P = if N then P if M , N
gm2 if x = y then P else P = P
gm3 if M then (P + P ) = if M then P + if M then P
1 2 1 2
gm4 if M then : P = if M then ( : if M then P ) if bn() 62 M
gm5 if x = y then : P = if x = y then (fx=y g) : P
gm6 ( x)if x = y then P = 0 if x 6= y
r1 ( x) : P = : ( x)P if x 62
r2 ( x) : P = 0 if x is the subje
t of
r3 ( x)(P + Q) = ( x)P + ( x)Q
Table 8: Axioms for strong late
ongruen
e.
of Restri
tion: a restri
ted name
an never be made equal to another name so
the Mat
h will always
ome out as false.
As
an be seen the law mm1 is inherited from the axioms for bisimilarity. Of
ourse also m1 is valid but it is not ne
essary as an axiom sin
e it
an be derived
from gm2 and mm1. Similarly, a
ounterpart for Mismat
h to gm6, namely
gm6* ( x)if x 6= y then P = ( x)P if x 6= y
is derivable from gm2 and gm6. Thus a Restri
tion
an always be pushed through
a generalised mat
h. Also, note that if x = y then 0 = 0 is derivable from mm1
and gm2.
For an example of a derivation
onsider ( x)ax : if x = y then P whi
h, as
argued in Se
tion 7.3, is
ongruent to ( x)ax : 0. The proof from axioms is:
( x)ax : if x = y then P = [gm6℄
( x)if x 6= y then ax : if x = y then P = [gm4℄
( x)if x 6= y then ax : if x 6= y then if x = y then P = [gm6℄
( x)ax : if x 6= y then if x = y then P =
( x)ax : if x 6= y ^ x = y then P = [gm1℄
( x)ax : if x 6= x then P = [mm1℄
( x)ax : 0
It is easy to establish that all laws are sound for
ongruen
e. The proof of
ompleteness uses another kind of head normal form and is more involved than
the
orresponding proof for bisimilarity, and we shall here only sket
h it. It relies
58
on the notion of
omplete
onjun
tions. Formally, a
onjun
tion M is
omplete
on a set of names V if M implies either x = y or x 6= y for all names x; y in V . In
other words, M expresses unambiguously whi
h names are the same and whi
h
are not. We say that M agrees with a substitution if M implies x = y if and only
if (x) = (y). The main use of
omplete
onjun
tions is that if M is
omplete
on fn(P; Q) and agrees with , then (if M then P ) (if M then Q) holds if
and only if P _ Q. In this way the substitutions arising from the transitional
semanti
s
an be internalised and represented by Generalised mat
hes.
Denition 11 P is in head normal form on a nite set of names V (V -hnf) if
P =
X if M then : P
i i i
i
where the relation iopp j , ai, bj and Rij are dened as follows: either i = ai(x)
and j = bj u in whi
h
ase Rij = Pifu=xgjQj , or
onversely i = aiu and
j = bj (x) in whi
h
ase Rij = Pi jQj fu=xg.
Table 9: Expansion law for strong
ongruen
e.
to prove if M then : P 0 = if M then : Q0 . We know that P 0 _ Q0. Sin
e
M is
omplete it holds that this implies if M then P 0 if M then Q0 , when
e
by indu
tion these are provably equivalent. We now apply gm4 (for the rst time
in the proof!) to write if M then : P 0 as if M then : if M then P 0. That
means it is provably equivalent to if M then : if M then Q0 , and again by
gm4 to if M then : Q0 .
Finally we
onsider also the Parallel operator. By analogy with the
ase for
bisimilarity it is enough to in
lude an axiom whi
h implies that the Parallel
om-
position of two V -hnfs is a V -hnf. Unfortunately the axiom exp in Table 7 is not
sound for
ongruen
e, sin
e a substitution may identify two names and thereby
enable a
ommuni
ation. The amended expansion law for
ongruen
e is given
in Table 9. Note the essential use of Mat
hes to determine if a
ommuni
ation
is possible. With this law propositions 9 and 10 hold. In
identally, the law is
sound and
omplete also for bisimilarity, i.e., it
an be used in pla
e of exp for
the purpose of Proposition 8.
for all D. The axioms in Table 8 need some modi
ations. All axioms mention-
ing Mismat
h are dropped; this means that mm1 and gm2 are omitted and in
gm1,3,4 M ranges over Generalised mat
hes with no negative
onjun
ts. A new
axiom
gm7 P + if x = y then P = P
is added (in the original Table 8 this is derivable through s and gm2). Finally
for the interplay between dierent distin
tions we add the following laws, where
=D means provable equality under distin
tion D,
d1 if x = y then P =D 0 if xDy
d2 P =D Q implies P =D Q 0 if D D0
d3 P =D Q implies ( x)P =D x ( x)Q
Here D x means the distin
tion where all pairs
ontaining x are removed from
D. Be
ause of these laws gm6 is derivable and needs not be taken as an axiom.
With these
hanges we obtain a
omplete axiomatisation of _ D for all D.
The proof is substantially more
ompli
ated than for Proposition 10. It uses a
O
notion of head normal form with summands of type if M then : P , and with
the extra requirement that there are no unne
essary summands (a summand P
is unne
essary if there is another summand Q and Q _ Q + P ). The proof
O
that all agents are provably equal to su
h head normal forms uses, among other
things, the new law gm7 in order to remove unne
essary summands. The idea
of the
ompleteness proof is that given two bisimilar head normal forms, ea
h
summand in one of them is provably equal to a summand in the other.
9.3 Weak Congruen
e
Finally, for the weak late and early
ongruen
es (axiomatisations of weak open
ongruen
e have not yet been investigated) it is enough to add the three standard
so
alled -laws:
t1 : :P = :P
t2 P + :P = :P
t3 : (P + : Q) = : (P + : Q) + : Q
The proof follows the same lines as the
orresponding proof in CCS: the head
normal forms must be saturated in the sense that if P =) P 0 then P has a
summand : P 0. To see an example derivation whi
h demonstrates the subtlety
62
strong bisimilarity strong
ongruen
e weak
ongruen
e
Table 8
late Table 6 Table 8 and
t1, t2, t3
Table 8
Table 6 Table 8 and
early and and early or early2
early or early20 early or early2 and
t1, t2, t3
Table 8 ex
ept laws for Mismat
h
open and not investigated
gm7, d1, d2, d3
Early Developments
Computational models where mobility plays a predominant role have been present
at least sin
e the mid 1970's in the so
alled a
tor systems by Carl Hewitt and
Gul Agha [18, 2℄. Te
hni
ally the -
al
ulus has its roots in pro
ess algebras
like Robin Milner's CCS, originally developed in the late 1970's [22, 23℄. The
rst eorts to extend CCS with the ability to pass
ommuni
ation
hannels were
by Egidio Astesiano and Elena Zu
a (1984) and by Ue Engberg and Mogens
Nielsen (1986) [4, 12℄. These
al
uli turned out to be quite
omplex. The -
al
ulus in its present form was developed in the late 1980's by Milner, David
Walker and myself; it was rst presented at seminars in 1987, the rst
ompre-
hensive te
hni
al reports appeared in 1989 and the journal publi
ation in 1992
[30℄. It builds on the arti
le by Engberg and Nielsen, and simplies it by using
a single synta
ti
al
lass of names to represent values, variables and
hannels.
There it is shown how to en
ode data types and a version of the lambda
al
ulus;
it also explores the operational semanti
s (late semanti
s without use of stru
-
tural
ongruen
e), denes late and early bisimilarity and
ongruen
e and gives
the axiomatisation of late bisimilarity. The
al
ulus is very similar to the one
presented here, though there is no Mismat
h operator and some dieren
es in
notation. For example Restri
tion ( x) is written (x), and if x = y then P is
written more
ompa
tly [x = y℄P , a notation that many papers on the -
al
ulus
follow.
Introdu
tions and Overviews
Today the -
al
ulus and related theories make up a large and diverse eld with
hundreds of published papers. Perhaps the main sign of vitality is not the the-
oreti
al developments, but rather the numerous
al
uli,
omputational models
and languages that borrow semanti
s or
entral
on
epts from and are aimed
at more fo
ussed areas of appli
ation, su
h as PICT, Fa
ile, Join, Ambients, Spi,
POOL,...the list
an be made very long [45, 46, 8, 15, 11, 1, 57℄. A brief overview
from 1998 by Uwe Nestmann and Bjorn Vi
tor indi
ate the main issues and is
a
ompanied by a well maintained and exhaustive sear
hable on-line bibliography
founded in 1995 [35℄. Nestmann also
urrently maintains the web page Cal
uli
for Mobile pro
esses at
http://www.
s.au
.dk/mobility/
with links to introdu
tory papers, a
tive resear
hers, departments, proje
ts and
other resour
es. In view of these eorts it seems ex
essive to here attempt a
substantial overview or list of referen
es. If a single introdu
tory arti
le for the
layman should be mentioned it must be Milner's 1991 Turing Award Le
ture [26℄.
64
A new
omer to the eld may also appre
iate my arti
le from 1993 using graphs
instead of formulas, with an emphasis on how various basi
omputational stru
-
tures are represented through name-passing [39℄. Otherwise a standard text is
Milner's tutorial on the polyadi
-
al
ulus (1991), and also his re
ent book
(1999) is aimed at a non-spe
ialist audien
e [27, 29℄. A short introdu
tion to a
simple variant of the -
al
ulus in
omparison to the lambda-
al
ulus is given by
Benjamin Pier
e (1996) [43℄.
A reader seeking more detailed information
on
erning some spe
i
topi
is
well advised to rst
onsult Kohei Honda's annotated on-line bibliography (rea
h-
able from the URL above); it is not exhaustive and not updated as frequently as
the one by Nestmann and Vi
tor, but fo
uses on a few
entral issues and explains
the impa
t of ea
h paper.
Below I brie
y mention the main sour
es for the aspe
ts of the
al
ulus elab-
orated in this introdu
tion. The
hronology refers to the rst written a
ount
of a pie
e of work known to me; the
orresponding
onferen
e paper or journal
arti
le is often published a
ouple of years later.
Variants of the Cal
ulus
The Mismat
h operator rst appeared in 1990 and was used by Davide Sangiorgi
and me in 1993 [38, 41℄. The role of the Sum operator has been studied by Catus-
ia Palamidessi (1997) where she shows that it is ne
essary for the representation
of
ertain distributed algorithms, and by Nestmann (1997) and Nestmann and
Pier
e (1996) where en
odings of Sum for spe
ial
ases are analysed (the en
oding
in Se
tion 3.5
omes from the latter arti
le) [37, 33, 34℄. The polyadi
al
ulus
with the sort system given in Se
tion 3.3 was introdu
ed by Milner in his 1991
tutorial. The ideas for en
oding the polyadi
al
ulus into the monadi
have
been known sin
e the rst papers on the -
al
ulus but were not studied in detail
until 1996 by Nobuko Yoshida and 1998 by Paola Quaglia and Walker [58, 47℄.
Type inferen
e algorithms were rst presented independently by Simon Gay and
by Vas
o Vas
on
elos and Honda in 1993 [16, 55℄. More elaborate systems for
types and sorts have been presented by many others. Prominent issues are more
rened types, for example distinguishing dierent uses of a
hannel for input
and output, subtyping, polymorphism and higher-order types. A survey of su
h
systems remains to be written although Honda's bibliography mentioned above
explains many of the
ontributions. The slides of a good introdu
tory tutorial by
Pier
e (1998) are available on-line from the author's home page (rea
hable from
the URL for the mobility home page above) [44℄.
Repli
ation in pla
e of re
ursion was rst suggested by Milner in a paper
on en
odings of the lambda-
al
ulus 1990, and although the relationship between
lambda and has subsequently been treated by many authors that paper remains
the prin
ipal referen
e [25℄. The issue is to some extent
onne
ted to higher-
order pro
ess
al
uli. Bent Thomsen, Gerard Boudol and Flemming Nielson
65
were the rst to study su
h
al
uli in detail (independently 1989, these
al
uli
dier signi
antly from the -
al
ulus) [53, 9, 36, 54℄. The
onne
tion with the
lambda-
al
ulus was later
laried by Sangiorgi, who also studied the en
oding
of the higher-order -
al
ulus into the standard
al
ulus [49℄.
The signi
an
e of the asyn
hronous
al
ulus was dis
overed independently by
Kohei Honda and Mario Tokoro 1991 and by Boudol 1992 [19, 10℄. A parti
ularly
interesting variant is the sub
al
ulus without free output a
tions, whi
h has a
simpler theory and retains a surprising expressive power, as demonstrated by
Sangiorgi and Mi
hele Boreale (1996) [50, 6℄. Sangiorgi has re
ently written a
tutorial on the subje
t [52℄.
Variants of the Semanti
s
The rst presentation of a stru
tural
ongruen
e and redu
tion semanti
s is by
Milner (1990) [25℄, inspired by the
hemi
al abstra
t ma
hines of Gerard Berry
and Boudol from 1989 [5℄ and Milner also gave the semanti
s for abstra
tions
and
on
retions (with a slightly dierent notation; Milner prefers P
: E to
P ! E ) in his 1991 tutorial. The early semanti
s was rst presented by Milner,
Walker and myself in 1991 [31℄.
Symboli
transitions and their use in de
ision pro
edures for bisimulation
equivalen
es were introdu
ed by Matthew Hennessy and Huimin Lin in 1992 for
a pro
ess algebra where values (but not
hannel names) are transmitted between
agents [17℄. Another
hapter in this handbook by Anna Ingolfsdottir and Lin
treats this issue in full. The semanti
s was subsequently adapted by Lin (1994)
to the -
al
ulus [20, 21℄. Similar ideas were developed in parallel by Boreale
and Ro
o de Ni
ola [7℄. Symboli
transitions are also used by Faron Moller and
Bjorn Vi
tor in an automati
veri
ation tool (1994) [56℄.
Variants of Bisimilarity
Early bisimilarity was mentioned in the rst paper on the
al
ulus and was stud-
ied in more depth by Milner, Walker and myself (1991) along with modal logi
s
whi
h
larify the relationship between late and early bisimulation [31℄. The re-
sults on barbed
ongruen
e are primarily due to Milner and Sangiorgi (1992) and
are developed in Sangiorgi's PhD Thesis [32, 48℄. A version of barbed
ongruen
e
for the asyn
hronous sub
al
ulus is dened and axiomatised by Roberto Ama-
dio, Ilaria Castellani and Sangiorgi (1996) [3℄; the example at the very end of
Se
tion 7.2 is from that paper.
Open bisimulation (both strong and weak) and its axiomatisation (only strong)
is due to Sangiorgi 1993 who also uses a symboli
semanti
s [51℄. The weak late
and early bisimulation equivalen
es and
ongruen
es were rst formulated by
Milner (1990) [24℄.
66
Algebrai
Theory
Strong late bisimilarity was axiomatised in the rst paper on the
al
ulus. San-
giorgi and I axiomatised strong late
ongruen
e and early bisimilarity and
on-
gruen
e (through the law early) in 1993; the axiomatisations given here mainly
follow that work [41℄. Axiomatisations of the weak
ongruen
es (late and early)
have been treated by Lin in a style slightly dierent from what has been pre-
sented here [21℄. The law early2 also
omes from this line of work. Inferen
es
are there of kind C . P = Q meaning \under
ondition C it holds that P = Q",
whi
h we would express as if C then P = if C then Q, making the
ondition
part of the agents. The fa
t that this yields an isomorphi
proof system was only
re
ently established [40℄. An alternative presentation of weak late
ongruen
e
and its axiomatisation is by Gianluigi Ferrari, Ugo Montanari and Paola Quaglia
(1995) [14℄.
Unifying Eorts
In this growing and diversifying eld it is also appropriate to mention a few eorts
at uni
ation. The a
tion
al
uli by Milner (emanating from the work on a
tion
stru
tures 1992) separate the
on
erns of parametri
dependen
y and exe
ution
ontrol [28℄. The tiles stru
tures by Ferrari and Montanari (emanating from
work with Fabio Gadu
i 1995) generalise the
on
epts of
ontext and
ontext
omposition [13℄. The Fusion Cal
ulus by Vi
tor and myself (begun in 1997)
identies a single binding operator whi
h
an be used to derive both input and
Restri
tion [42℄. Although ea
h has made some progress it is
lear that mu
h
work remains to be done.
A knowledgements
I thank Huimin Lin, Davide Sangiorgi, Thomas Noll, Gunnar O vergaard, and the
anonymous referees for many helpful
omments.
Referen es
[1℄ M. Abadi and A. D. Gordon. A
al
ulus for
ryptographi
proto
ols: The
Spi
al
ulus. Journal of Information and Computation, 143:1{70, 1999. An
extended abstra
t appeared in the Pro
eedings of the Fourth ACM Con-
feren
e on Computer and Communi
ations Se
urity (Zuri
h, April 1997).
An extended version of this paper appears as Resear
h Report 149, Digital
Equipment Corporation Systems Resear
h Center, January 1998, and, in
preliminary form, as Te
hni
al Report 414, University of Cambridge Com-
puter Laboratory, January 1997.
67
[2℄ G. Agha. A
tors: A Model of Con
urrent Computation in Distributed Sys-
tems. MIT Press, 1986.
[3℄ R. M. Amadio, I. Castellani, and D. Sangiorgi. On bisimulations for the asyn-
hronous -
al
ulus. Theoreti
al Computer S
ien
e, 195(2):291{324, 1998.
An extended abstra
t appeared in Pro
eedings of CONCUR '96, LNCS 1119:
147{162.
[4℄ E. Astesiano and E. Zu
a. Parametri
hannels via label expressions in
CCS. Theoreti
al Computer S
ien
e, 33:45{64, 1984.
[5℄ G. Berry and G. Boudol. The
hemi
al abstra
t ma
hine. Theoreti
al Com-
puter S
ien
e, 96:217{248, 1992.
[6℄ M. Boreale. On the expressiveness of internal mobility in name-passing
al
uli. Theoreti
al Computer S
ien
e, 195(2):205{226, 1998. An extended
abstra
t appeared in Pro
eedings of CONCUR '96, LNCS 1119: 163{178.
[7℄ M. Boreale and R. De Ni
ola. A symboli
semanti
s for the -
al
ulus.
Journal of Information and Computation, 126(1):34{52, 1996. Available
as Report SI 94 RR 04, Universita \La Sapienza" di Roma; an extended
abstra
t appeared in Pro
eedings of CONCUR '94, pages 299{314, LNCS
836.
[8℄ R. Borgia, P. Degano, C. Priami, L. Leth, and B. Thomsen. Understanding
mobile agents via a non interleaving semanti
s for Fa
ile. In R. Cousot and
D. A. S
hmidt, editors, Pro
eedings of SAS '96, volume 1145 of LNCS, pages
98{112. Springer, 1996. Extended version as Te
hni
al Report ECRC-96-4,
1996.
[9℄ G. Boudol. Towards a lambda-
al
ulus for
on
urrent and
ommuni
ating
systems. In J. Daz and F. Orejas, editors, Pro
eedings of TAPSOFT '89,
Volume 1, volume 351 of LNCS, pages 149{161. Springer, 1989.
[10℄ G. Boudol. Asyn
hrony and the -
al
ulus (note). Rapport de Re
her
he
1702, INRIA Sophia-Antipolis, May 1992.
[11℄ L. Cardelli and A. D. Gordon. Mobile ambients. In M. Nivat, editor, Pro-
eedings of FoSSaCS '98, volume 1378 of LNCS, pages 140{155. Springer,
1998.
[12℄ U. Engberg and M. Nielsen. A
al
ulus of
ommuni
ating systems with label-
passing. Te
hni
al Report DAIMI PB-208, Comp. S
. Department, Univ. of
Aarhus, Denmark, 1986.
68
[13℄ G. Ferrari and U. Montanari. A tile-based
oordination view of asyn
hronous
-
al
ulus. In I. Privara and P. Ruzi
ka, editors, Pro
eedings of MFCS '97,
volume 1295 of LNCS. Springer, Aug. 1994.
[14℄ G. Ferrari, U. Montanari, and P. Quaglia. The weak late -
al
ulus semanti
s
as observation equivalen
e. In I. Lee and S. A. Smolka, editors, Pro
eedings
of CONCUR '95, volume 962 of LNCS, pages 57{71. Springer, 1995.
[15℄ C. Fournet and G. Gonthier. The re
exive
hemi
al abstra
t ma
hine and
the join-
al
ulus. In J. G. Steele, editor, Pro
eedings of POPL '96, pages
372{385. ACM, Jan. 1996.
[16℄ S. J. Gay. A sort inferen
e algorithm for the polyadi
-
al
ulus. In Pro-
eedings of POPL '93. ACM, January 1993.
[17℄ M. Hennessy and H. Lin. Symboli
bisimulations. Theoreti
al Computer
S
ien
e, 138(2):353{389, 1995. Earlier version as Te
hni
al Report 1/92,
S
hool of Cognitive and Computing S
ien
es, University of Sussex, UK.
[18℄ C. Hewitt. Viewing
ontrol stru
tures as patterns of passing messages. Jour-
nal of Arti
ial Intelligen
e, 8:323{364, 1977.
[19℄ K. Honda and M. Tokoro. An obje
t
al
ulus for asyn
hronous
ommuni-
ation. In P. Ameri
a, editor, Pro
eedings of ECOOP '91, volume 512 of
LNCS, pages 133{147. Springer, July 1991.
[20℄ H. Lin. Symboli
bisimulation and proof systems for the -
al
ulus. Te
h-
ni
al Report 7/94, S
hool of Cognitive and Computing S
ien
es, University
of Sussex, UK, 1994.
[21℄ H. Lin. Complete inferen
e systems for weak bisimulation equivalen
es in
the -
al
ulus. In P. D. Mosses, M. Nielsen, and M. I. S
hwarzba
h, editors,
Pro
eedings of TAPSOFT '95, volume 915 of LNCS, pages 187{201. Springer,
1995. Presented in the CAAP-se
tion. Available as Te
hni
al Report ISCAS-
LCS-94-11, Institute of Software, Chinese A
ademy of S
ien
es, 1994.
[22℄ R. Milner. A Cal
ulus of Communi
ating Systems, volume 92 of LNCS.
Springer-Verlag, 1980.
[23℄ R. Milner. Communi
ation and Con
urren
y. Prenti
e Hall, 1989.
[24℄ R. Milner. Weak bisimilarity: Congruen
es and equivalen
es, 1990. -
al
ulus note RM10, Manus
ript.
[25℄ R. Milner. Fun
tions as pro
esses. Journal of Mathemati
al Stru
tures
in Computer S
ien
e, 2(2):119{141, 1992. Previous version as Rapport de
Re
her
he 1154, INRIA Sophia-Antipolis, 1990, and in Pro
eedings of ICALP
'91, LNCS 443.
69
[26℄ R. Milner. Elements of intera
tion. Communi
ations of the ACM, 36(1):78{
89, 1993. Turing Award Le
ture.
[27℄ R. Milner. The polyadi
-
al
ulus: A tutorial. In F. L. Bauer, W. Brauer,
and H. S
hwi
htenberg, editors, Logi
and Algebra of Spe
i
ation, volume 94
of Series F. NATO ASI, Springer, 1993. Available as Te
hni
al Report ECS-
LFCS-91-180, University of Edinburgh, O
tober 1991.
[28℄ R. Milner. Cal
uli for intera
tion. A
ta Informati
a, 3(8):707{737, 1996.
[29℄ R. Milner. Communi
ating and Mobile Systems: the -Cal
ulus. Cambridge
University Press, May 1999.
[30℄ R. Milner, J. Parrow, and D. Walker. A
al
ulus of mobile pro
esses, part
I/II. Journal of Information and Computation, 100:1{77, Sept. 1992.
[31℄ R. Milner, J. Parrow, and D. Walker. Modal logi
s for mobile pro
esses.
Theoreti
al Computer S
ien
e, 114:149{171, 1993.
[32℄ R. Milner and D. Sangiorgi. Barbed bisimulation. In W. Kui
h, editor,
Pro
eedings of ICALP '92, volume 623 of LNCS, pages 685{695. Springer,
1992.
[33℄ U. Nestmann. What is a `good' en
oding of guarded
hoi
e? In
C. Palamidessi and J. Parrow, editors, Pro
eedings of EXPRESS '97, vol-
ume 7 of ENTCS. Elsevier S
ien
e Publishers, 1997. Full version as report
BRICS-RS-97-45, Universities of Aalborg and Arhus, Denmark, 1997. Re-
vised version a
epted (1998) for Journal of Information and Computation.
[34℄ U. Nestmann and B. C. Pier
e. De
oding
hoi
e en
odings. In U. Mon-
tanari and V. Sassone, editors, Pro
eedings of CONCUR '96, volume 1119
of LNCS, pages 179{194. Springer, 1996. Revised full version as report
ERCIM-10/97-R051, European Resear
h Consortium for Informati
s and
Mathemati
s, 1997.
[35℄ U. Nestmann and B. Vi
tor. Cal
uli for mobile pro
esses: Bibliography and
web pages. Bulletin of the EATCS, 64:139{144, February 1998.
[36℄ F. Nielson. The typed -
al
ulus with rst-
lass pro
esses. In
Pro
. PARLE'89, volume 366 of Le
ture Notes in Computer S
ien
e, pages
357{373. Springer-Verlag, 1989.
[37℄ C. Palamidessi. Comparing the expressive power of the syn
hronous and the
asyn
hronous -
al
ulus. In Pro
eedings of POPL '97, pages 256{265. ACM,
Jan. 1997.
70
[38℄ J. Parrow. Mismat
hing and early equivalen
e, 1990. -
al
ulus note JP13,
Manus
ript.
[39℄ J. Parrow. Intera
tion diagrams. Nordi
Journal of Computing, 2:407{443,
1995. A previous version appeared in Pro
eedings of A De
ade in Con
ur-
ren
y, LNCS 803: 477{508, 1993.
[40℄ J. Parrow. On the relationship between two proof systems for the pi-
al
ulus,
1999. -
al
ulus note JP15, Manus
ript. Available from the author.
[41℄ J. Parrow and D. Sangiorgi. Algebrai
theories for name-passing
al
uli.
Journal of Information and Computation, 120(2):174{197, 1995. A previous
version appeared in Pro
eedings of A De
ade in Con
urren
y, LNCS 803:
477{508, 1993.
[42℄ J. Parrow and B. Vi
tor. The fusion
al
ulus: Expressiveness and symme-
try in mobile pro
esses. In Pro
eedings of LICS '98, pages 176{185. IEEE,
Computer So
iety Press, July 1998.
[43℄ B. C. Pier
e. Foundational
al
uli for programming languages. In A. B.
Tu
ker, editor, Handbook of Computer S
ien
e and Engineering,
hapter
139. CRC Press, 1996.
[44℄ B. C. Pier
e. Type systems for
on
urrent
al
uli, Sept. 1998. Invited tutorial
at CONCUR, Ni
e, Fran
e.
[45℄ B. C. Pier
e and D. N. Turner. Con
urrent obje
ts in a pro
ess
al
ulus. In
T. Ito and A. Yonezawa, editors, Pro
eedings of TPPP '94, volume 907 of
LNCS, pages 187{215. Springer, 1995.
[46℄ B. C. Pier
e and D. N. Turner. Pi
t: A programming language based on the
pi-
al
ulus. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language
and Intera
tion: Essays in Honour of Robin Milner, 1999. To appear.
[47℄ P. Quaglia and D. Walker. On en
oding p in m. In V. Arvind and R. Ra-
manujam, editors, 18th Conferen
e on Foundations of Software Te
hnology
and Theoreti
al Computer S
ien
e (Chennai, India, De
ember 17{19, 1998),
ln
s. sv, De
. 1998.
[48℄ D. Sangiorgi. Expressing Mobility in Pro
ess Algebras: First-Order and
Higher-Order Paradigms. PhD thesis, LFCS, University of Edinburgh, 1993.
CST-99-93 (also published as ECS-LFCS-93-266).
[49℄ D. Sangiorgi. Bisimulation in higher-order pro
ess
al
uli. Journal of In-
formation and Computation, 131:141{178, 1996. Available as Rapport de
71
Re
her
he RR-2508, INRIA Sophia-Antipolis, 1995. An early version ap-
peared in Pro
eedings of PROCOMET'94, pages 207{224. IFIP. North Hol-
land Publisher.
[50℄ D. Sangiorgi. -
al
ulus, internal mobility and agent-passing
al
uli. The-
oreti
al Computer S
ien
e, 167(1,2):235{274, 1996. Also as Rapport de
Re
her
he RR-2539, INRIA Sophia-Antipolis, 1995. Extra
ts of parts of the
material
ontained in this paper
an be found in Pro
eedings of TAPSOFT
'95 and ICALP '95.
[51℄ D. Sangiorgi. A theory of bisimulation for the -
al
ulus. A
ta Informat-
i
a, 33:69{97, 1996. Earlier version published as Report ECS-LFCS-93-270,
University of Edinburgh. An extended abstra
t appeared in the Pro
eedings
of CONCUR '93, LNCS 715.
[52℄ D. Sangiorgi. Asyn
hronous pro
ess
al
uli: The rst-order and higher-order
paradigms, 1999. To appear in Theoreti
al Computer S
ien
e.
[53℄ B. Thomsen. A
al
ulus of higher order
ommuni
ating systems. In Pro-
eedings of POPL '89, pages 143{154. ACM, January 1989.
[54℄ B. Thomsen. Plain CHOCS. A se
ond generation
al
ulus for higher order
pro
esses. A
ta Informati
a, 30(1):1{59, 1993.
[55℄ V. T. Vas
on
elos and K. Honda. Prin
ipal typing s
hemes in a polyadi
-
al
ulus. In E. Best, editor, Pro
eedings of CONCUR '93, volume 715 of
LNCS, pages 524{538. Springer, 1993.
[56℄ B. Vi
tor and F. Moller. The Mobility Workben
h | a tool for the -
al
ulus. In D. Dill, editor, Pro
eedings of CAV '94, volume 818 of LNCS,
pages 428{440. Springer, 1994.
[57℄ D. Walker. Obje
ts in the -
al
ulus. Journal of Information and Compu-
tation, 116(2):253{271, 1995.
[58℄ N. Yoshida. Graph types for monadi
mobile pro
esses. In V. Chandru and
V. Vinay, editors, Pro
eedings of FSTTCS '96, volume 1180 of LNCS, pages
371{386. Springer, 1996. Full version as Te
hni
al Report ECS-LFCS-96-350,
University of Edinburgh.
72