Team Comète

Overall Objectives
Scientific Foundations
Application Domains
New Results
Other Grants and Activities

Section: Scientific Foundations

Process calculi

Participants : Catuscia Palamidessi, Frank Valencia, Yuxin Deng, Jun Pang, Tom Chothia.


Calculi for expressing and formalizing the basic features of concurrent systems

Process calculi treat processes much like the $ \lambda$ -calculus treats computable functions. They provide a language in which the structure of terms represents the structure of processes together with an operational semantics to represent computational steps. For example, the term Im1 ${P\#8741 Q}$ , which is built from P and Q with the constructor Im2 $\#8741 $ , represents the process that results from the parallel execution of those represented by P and Q. An operational semantics may dictate that if P can evolve into Im3 $P^\#8242 $ in a computational step Im3 $P^\#8242 $ then Im1 ${P\#8741 Q}$ can also evolve into Im4 ${P^\#8242 \#8741 Q}$ in a computational step.

An appealing feature of process calculi is their algebraic treatment of processes. The constructors are viewed as the operators of an algebraic theory whose equations and inequalities among terms relate process behavior. For instance, the construct Im2 $\#8741 $ can be viewed as a commutative operator, hence the equation Im5 ${P\#8741 Q\#8801 Q\#8741 P}$ states that the behavior of the two parallel compositions are the same. Because of this algebraic emphasis, these calculi are often referred to as process algebras .

Typically the operational semantics of process calculi interpret process term by using transitions (labeled or not) specifying its computational steps [5] . A labeled transition Im6 ${P\mover \#8594 \#956 Q}$ specifies that P performs $ \mu$ and then behaves as Q. The relations Im7 $\mover \#8594 \#956 $ are defined according to the process calculus under consideration. In the next section we shall see those for the $ \pi$ -calculus [69] , [70] which is perhaps the most prominent representative of calculi for mobile systems.

The $ \pi$ -calculus

In the early 90's Milner, Parrow, and Walker proposed the $ \pi$ -calculus [69] , [70] , a small paradigm for concurrency similar to CCS (the calculus for Communicating Systems, [68] ) but enriched with constructs to support the the novel and powerful notion of link mobility. This proposal has had a tremendous impact on the community of Formal Methods for Concurrency, and stimulated or influenced research in other areas too, like for instance Security (cfr. the spi-calculus, [35] ).

The asynchronous $ \pi$ -calculus

The $ \pi$ -calculus, like CCS, models communication by handshaking, namely as a synchronous interaction of both partners (rules Com and Close ). A few years after the introduction of the $ \pi$ -calculus, Honda and Tokoro [64] and, independently, Boudol [42] , proposed a variant which models asynchronous communication instead. This variant has become known under the name of asynchronous $ \pi$ -calculus ($ \pi$a -calculus for short).

$ \pi$ versus $ \pi$a : the trade-off between expressiveness and distributed implementation

The $ \pi$a -calculus became quickly very popular, for several reasons:

It was not only until some years later that the claim of equivalence was refuted: in [8] it was shown that the $ \pi$ -calculus is strictly more expressive than the $ \pi$a -calculus, in the sense that it is not possible to encode the first into the latter in a uniform way while preserving a reasonable semantics. Uniform essentially means homomorphic with respect to the parallel and the renaming operators, and reasonable means sensitive to the capability of achieving success in all possible computations. This result is based on the fact that in the $ \pi$ -calculus it is possible to define an algorithm for leader election in a symmetric network, while this cannot be done with the $ \pi$a -calculus. In [76] it was shown that the additional expressive power is due exactly to the mixed choice construct: choices with homogeneous guards (i.e. with input guards only, or output guards only) can be eliminated.

A consequence of the above results, however, is that the $ \pi$ -calculus cannot be implemented deterministically(The term ``deterministic'' here means ``non-probabilistic''.) in a fully distributed way. In fact, problems like the leader election in a symmetric network are known to have no deterministic solution in a distributed (asynchronous) system. The reason is that if processes follow a deterministic program then an adversary scheduler can always interleave the activities in such a way that the initial symmetry is never broken. See [83] for a proof of impossibility of this kind.


Logo Inria