πI: A symmetric calculus based on internal mobility [chapter]

Davide Sangiorgi
1995 Lecture Notes in Computer Science  
The ~r-calculus is a development of CCS where names (a synonymous for "channels") can be passed around. This permits the description of mobile systems, i.e., systems whose communication topology can change dynamically. Name communication gives ~r-calculus a much greater expressiveness than CCS. For instance, in the 7r-calculus there are simple and intuitive encodings for: Data values [MPW92, Mi191], agent-passing process calculi [Tho90, San92] (i.e., calculi where terms of the language can be
more » ... changed), the )~-calculus [Mi192], certain concurrent object-oriented languages [Jon93, Wa195], the locality and causality relations among the activities of a system, typical of true-concurrent behavioural equivalences [BS95]. In CCS, the modelling of such objects is possible, at best, in a clumsy and unnatural way --for instance making heavy use of infinite summations. But research has also showed that the ~r-calculus has a much more complex mathematical theory than CCS. This shows up in: -The operational semantics. Certain transition rules of the ~r-calculus are hard to assimilate. -The definition of bisimulation. Various definitions of bisimilarity have been proposed for the 7r-calculus, and it remains unclear which form should be preferred. Moreover, most of these bisimilarities are not congruence relations. -The axiomatisations. The axiomatisations of behavioural equivalences for the 7c-calculus --and in particular the proof of the completeness of the axiomatisations --is at least one order of magnitude more complicated than the corresponding axiomatisations for CCS. -The construction of canonical normal forms. In general we do not know how to transform a ~r-calculus process P into a normal form which is unique for the equivalence class of P determined by the behavioural equivalence adopted. In CCS, these problems are well-understood and have simple solutions [Mi189, BK85, DKV91]. There is, therefore, a deep gap between CCS and ~r-calculus, in terms of expressiveness and mathematical theory. The main goal of the paper is to explain this gap and to examine whether there are interesting intermediate calculi. For instance, are the complications of the theory of the 7r-calculus w.r.t, that of CCS an inevitable price to pay for the increase in expressiveness? 173 We shall isolate and analyse one such intermediate calculus, called ~rI. This calculus appears to have considerable expressiveness: Data values, the lambda calculus, agent-passing calculi, the locality and causality relations of true-concurrent behavioural equivalences can be modelled in 7rI much in the same way as they are in the ~-calculus. But, nevertheless, the theory of ~rI remains very close to the theory of CCS: Alpha conversion is, essentially, the new ingredient. To obtain 7rI, we separate the mobility mechanisms of the ~r-calculus into two, namely internal mobility and external mobility. The former arises when an input meets a bound output, i.e., the output of a private name; the latter arises when an input meets a free output, i.e., the output of a known name. In ~I only internal mobility is retained --the free output construct is disallowed. A pleasant property of ~I is the full symmetry between input and output constructs. The operators of matching and mismatching, that in the 7c-calculus implement a form of case analysis on names and are important in the algebraic reasoning, are not needed in the theory of 7d. Sections 2-4 are devoted to introducing ~I and its basic theory. The encoding of the A-calculus into ~I is studied in Section 5: It is challenging because all known encodings of the A-calculus into 7r-calculus exploit, in an important way, the free-output construct, disallowed in 7rI. We sketch the comparison between ~rI and agent-passing calculi in Section 6. There is an exact correspondence, in terms of expressiveness, between a hierarchy of subcalculi of ~rl and a hierarchy of agent-passing calculi obtained from the Higher-Order Tr-calculus [San92]. The definitions of two hierarchies rely on the order of the typing systems of ~I and of the Higher-Order ~-ealculus. In this short version of the paper, the presentation is kept rather informal; for technical details and proofs, we refer to the full version [San95]. Acknowledgements. I have benefited from discussions with
doi:10.1007/3-540-59293-8_194 fatcat:rg7sgu7whbh7pa6lhwrdncbtse