An Algebraic Process Calculus
Total Page:16
File Type:pdf, Size:1020Kb
An algebraic process calculus Emmanuel Beffara∗ Institut de Mathématiques de Luminy CNRS & Université Aix-Marseille II E-mail: [email protected] Abstract consider the most straightforward case of non-determinism: p := (νa)(a:p1 ja:p2 ja¯). This process obviously has two pos- We present an extension of the πI-calculus with formal sible reductions: p ! p1 and p ! p2, assuming a does not sums of terms. The study of the properties of this sum occur in p1 or p2. We cannot say that the value of p is that reveals that its neutral element can be used to make as- of p1 or p2, since this would either lose information about sumptions about the behaviour of the environment of a pro- p or imply that p1 and p2 have the same value; the most we cess. Furthermore, the formal sum appears as a fundamen- can say is that the value of p is “either that of p1 or that of tal construct that can be used to decompose both internal p2”. This cannot be expressed in general in the language of and external choice. From these observations, we derive an processes, therefore we introduce in the language a formal enriched calculus that enjoys a confluent reduction which sum, so that we can formally get the equation p = p1 + p2. preserves the testing semantics of processes. This system is This sum has pleasant properties like bilinearity of par- shown to be strongly normalising for terms without repli- allel composition (i.e. (p + q) j r = p j r + q j r) and linearity cation, and the study of its normal forms provides a fully of hiding and even prefixes. However, the real gain in ex- abstract trace semantics for testing of πI processes. pressiveness comes when considering the neutral element of this sum, that we will write 0. This element has to satisfy the equation p j 0 = 0, which is unusual in a process cal- 1. Introduction culus. As we will see, it has a meaningful interpretation in terms of testing semantics, where an occurrence of 0 at top level means success. Moreover, a study of the properties of The point of this paper is to define a meaningful notion 0 shows that standard actions are not actually linear, since of normalisation for process calculi. Normalisation is not α.0 , 0, but rather affine, and we can extract a notion of an obvious idea in the context of concurrency because of purely linear action that does satisfy the ruleα. ˆ 0 = 0. The the non-determinism that is present in most process calculi, introduction of 0 and linear actions provides enough expres- and it makes it crucial to distinguish two related notions for siveness so that we can define for our calculus a system of term languages: execution, which is a relation that describes reduction rules that is normalising and preserves the testing the intended dynamics of a term considered as a program in semantics. a given model of computation, and evaluation, which is a relation that preserves the computational meaning of terms while simplifying them (in some sense). Contributions After recalling the syntax and operational In the λ-calculus, the standard notion of evaluation is β- semantics of the πI-calculus, in section 3 we define the al- reduction, which is confluent and strongly normalising for gebraic πI-calculus and provide intuition on the meaning of typed terms, while execution refers to particular evaluation the new constructs. Execution is presented in two equiva- strategies, or particular abstract machines. In the π-calculus, lent forms, namely as a reduction up to structural congru- the dynamics of terms is usually given either as a labelled ence, and as a labelled transition system, and the definition transition system or as a reduction relation up to some struc- of fair testing is deduced. In section 4, we introduce the tural congruence; we refer to the latter form as execution, system of evaluation rules over processes and we prove its since it represents the way a process actually runs. soundness with respect to the fair testing semantics. Exam- A problem in the search for semantics for processes is ples show that these rules can be used to effectively compute that there is no related notion of evaluation. For instance, process equivalences. In section 5 we prove that this sys- tem is locally confluent and that it is strongly normalising ∗Work supported by the French ANR project “Choco”. for terms without replication, and in section 6 we study the 1 normal forms of processes for this reduction. It appears that than a formal construction. On the other hand, the sum and normal forms are sums of traces augmented with inaction zero were justified by the study of behaviours in testing se- information, i.e. an extended trace is a sequence of actions mantics, as shown in particular in the author’s work on con- followed by the information that some actions could have current realisability [1, 2]. been performed but will not. This provides a simple trace Giving proper status to 0 is necessary if the formal sum semantics that is proved to be fully abstract for finite terms. needs to have the actual structure of a sum; its interpretation Deciding the observational preorder over traces is straight- as a testing token and the fact that it greatly improves the forward, and this provides an effective way to decide the theory of the calculus should not come as a surprise, for in- testing preorder over finite terms. In section 7, we discuss stance a similar approach lead to the definition of ludics [8] how our approach can be extended to handle a wider class from the sequent calculus of linear logic. of processes and different forms of equivalence. The trace semantics we derive from the evaluation rules has a simple formulation, and the interpretation of “inac- Related work The relevance of linearity in the study of tions” that make it fully abstract for fair and must testing processes has been known and studied for some time. It is new, as far as the author knows. However, several forms was first stressed by Kobayashi, Pierce and Turner [10] who of extended trace semantics exist in the literature. Among showed that linear typing of processes leads to significant those presented in van Glabbeek’s survey [15] of process improvements in the theory of the calculus, in particular by semantics, our semantics, when restricted to standard terms providing a form of partial confluence. Yoshida, Berger and (as of definition 4) is equivalent to the so-called readiness Honda [17] propose a type system for strong normalisation semantics of Olderog and Hoare [11]: a readiness trace is a that uses linearity information to guarantee normalisation sequence of actions followed by the set of actions that can using an “extended reduction” that allows processes to be be performed next, and inactions do provide this informa- reduced in a more liberal way than by standard execution. tion, at least when considering standard processes. The use of linear actions, i.e. actions that will be performed Other axiomatisations of various equivalences over the exactly once, is a crucial element in these studies, as in the π-calculus have been proposed in previous works (see [14] present paper. In a sense, our approach allows to keep the for instance). In particular, Hennessy’s fully abstract deno- refinement of linearity without the need for typing. tational semantics of the π-calculus [9] contains an axioma- Using a formal sum to express non-determinism without tisation of testing equivalences that is comparable to the losing information is a natural idea. It is used for instance in present work. Indeed, many of the equations in Hennessy’s Ehrhard and Regnier’s differential λ-calculus [6]: in order axiomatisation of the testing preorder can be deduced from to get a framework in which differential operators can be de- equivalence or reduction rules in our system. His approach fined, the λ-calculus is extended with linear combinations of is based on the distinction between internal choice (which terms, which appear as a natural and semantically justified is much like our algebraic sum) and external choice; we be- way of representing non-determinism without renouncing lieve our system to be more fundamental since our sum and to denotational semantics. This idea is further justified by its neutral element enjoy simpler algebraic properties while the possibility of embedding a finitary π-calculus in differ- being expressive enough to represent both kinds of choices, ential interaction nets [5]. Our algebraic process calculus as discussed in section 7.1. A supporting argument in this should provide insight on the relationships between this use respect is the fact that we need less axioms because we do of differential nets and process calculi. One can also expect not have to distinguish two sums. that extant work on the links between the λ-calculus and π-calculi could be extended to the differential case in our formalism. The study of such connections is deferred to further Note on notation The notations used here are in conflict works, since the focus of this paper is the study of the for- with the tradition of process calculi, but we believe this con- mal sum itself in the context of process calculi. Moreover, flict to be justified. The algebraic sum that we introduce is establishing a formal link with the differential λ-calculus written p+q, because + is the only sensible symbol for this. requires the introduction of linear coefficients in our pro- It is significantly different from the external choice opera- cesses.