A randomized encoding of the π-calculus with mixed choice

Catuscia Palamidessi, Oltea Mihaela Herescu
2005 Theoretical Computer Science  
We consider the problem of encoding the -calculus with mixed choice (i.e. input/output guarded choice) into the asynchronous -calculus. We are interested in a translation which satisfies certain desirable properties, namely uniformity and preservation of a reasonable semantics. Although it has been shown that this is not possible with an exact encoding, we suggest a randomized approach using a probabilistic extension of the asynchronous -calculus, and we show that our solution is correct with
more » ... obability 1 under any proper adversary wrt a notion of testing semantics. This result establishes the basis for a distributed and symmetric implementation of mixed choice which, unlike previous proposals in literature, does not rely on assumptions on the relative speed of processes and it is robust to attacks of proper adversaries. ଁ This research has been supported by Projet Rossignol of ACI Sécurité Informatique (Ministère de la recherche et nouvelles technologies). agreement on choices is often difficult to achieve. Shortly, after the advent of the -calculus, Honda and Tokoro [11] and Boudol [5] independently proposed an asynchronous version of it, that differed from the original one for the absence of the output prefix (which justifies the name "asynchronous") and for the choice operator. The asynchronous -calculus became quickly popular, not only because it seemed more adequate to describe distributed systems and easier to implement, but also because Honda and Tokoro [11] and Boudol [5] provided (independently) elegant encodings of the output prefix, thus proving that synchronous communication could be compiled into the asynchronous -calculus. Some years later, Nestmann and Pierce proved that also the inputguarded choice can be encoded into the asynchronous -calculus [21] . This result had a considerable impact, to the point that several authors afterwards have considered presentations of the asynchronous -calculus containing the input-guarded choice as a primitive (see, for instance, [1]). The question of the possibility of encoding the (full) choice operator, however, remained open until 1997, when Palamidessi proved that, under certain conditions, this encoding is impossible [23] . The conditions are the uniformity of the encoding and the preservation of a reasonable semantics. The terms "uniform" and "reasonable" have been introduced in [23], but they correspond to standard concepts in Distributed Computing. Uniform means homomorphic with respect to the parallel and the renaming operators, and it amounts to requiring that the translation preserve the degree of distribution and of symmetry of the original system. 1 Reasonable means that the translation should preserve the intended observables on every computation, in particular, it should not introduce livelocks (aka divergences). 2 The negative result is based on the fact that in the -calculus we can define an algorithm for solving the leader election problem in a symmetric network, while this is not possible in the asynchronous -calculus. The crucial point is that in the latter it is not possible to break the initial symmetry of the system, and thus it is not possible to reach a state in which one 1 Distributed means that there is neither centralized control nor shared memory. (Strong) symmetry, when the communication graph form a ring, means that processes are identical, except for the names of the channels, and that are initially in the same state. (Some authors use the term symmetry to refer to weak symmetry, where the initial states may be different.) The general definition for arbitrary graphs is more complicated, the interested reader can find it in [23] . 2 There are various definitions of livelock in literature. The one we consider here corresponds to the notion of divergence, and it is the most common.
doi:10.1016/j.tcs.2004.11.020 fatcat:yeztxiivhvazjmsmky7rzq7u2y