Abstract
Recent results show that Hoare’s CSP, augmented by one additional operator, can express every operator whose operational semantics are expressible in a new notation and are therefore “CSP-like.” In this paper we show that π-calculus fits into this framework and therefore has CSP semantics. Rather than relying on the machinery of the earlier result we develop a much simpler version from scratch that avoids the extra operator and is sufficient for π-calculus: a much generalised relabelling operator that is expressed in terms of the others. We present a number of different options for the semantics of fresh names, showing how they give semantics that are largely congruent to each other. Finally, we begin the investigation of how these new semantics might be analysed and exploited.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The uses of relabelling we make later only map visible actions to other visible actions.
- 2.
The only difference is that CCS allows this definition to be used unconditionally, even on under-defined terms such as μp.p. The translations from CCS to CSP in this section are therefore restricted to the case where all recursions add at least one initial action.
- 3.
It is traditional to write such terms using “semantic brackets,” as in \(\mathcal{M}[\![\mathcal{P}]\!]\). We do not follow this convention in this paper because the traditional notation is so similar to CSP renaming P[[R]].
- 4.
These parameters are required because both the common knowledge and availability of fresh names may well have changed at the point of call, and it seems to be correct to evaluate the recursive call in that new world, just as is done by the textual substitution of term rewriting. In the spirit of a pure denotational semantics, fully espousing the traditions of [24], we might well wish to discriminate between Name and the identifiers Ide that denote them: this would allow definitions of input and restriction without syntactic substitution.
- 5.
We can deduce this as follows. Consider the operational semantics of P and Q derived from csp[P]κσ P and csp[Q]κσ Q (without any application of NFN, where σ P and σ Q are the sets assigned to them by the csp[ ⋅]κσ semantics of |). These are finite branching, in the sense that every finite sequence of visible events and τs can only lead to finitely many distinct states. This depends on the fact that no single state of P or Q can have more than a finite number of distinct output \(\overline{x}.y\) actions available, for otherwise | ccs might introduce infinite branching on τ.
The existence of arbitrarily long pairs of finite traces of P and Q such that P|Q, under perhaps different ξs, can give rise to prefixes of a given finite trace s means that csp[P|Q]κσ can itself behave in the same way except that the names of the fresh names extruded might be different. So if we examine that part of the operational semantic tree of csp[P|Q]κσ in which the visible trace is a prefix of s with modifications to the names of extruded fresh names permitted, it is infinite and therefore, by König’s lemma, has an infinite path that necessarily ends (as viewed from the outside) in an infinite sequence of τs. It follows that csp[P|Q]σκ has a divergence that is a prefix of s except that the finitely many extruded names might be different. Since there is certainly a permutation η that maps these names to the ones seen in s, it follows that the corresponding exact prefix of s, and hence s itself from divergence strictness, are divergences of NFN(csp[P|Q]κσ,σ).
- 6.
We say “one” here, because the four options for presenting it are congruent to each other.
- 7.
In such usage it will be necessary to ensure that any CSP used respects the no-selective-input regime required to make channel-based models works.
References
Abadi, M., Gordon, A.D.: A calculus for cryptographic protocols: the Spi calculus. Proceedings of the 4th ACM conference on Computer and communications security (1997).
Brookes, S.D.: A model for Communicating Sequential Processes. Oxford University DPhil thesis (1983).
Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating Sequential Processes. Appeared as monograph PRG-16, 1981. http://web.comlab.ox.ac.uk/people/Bill.Roscoe/publications/1.pdf and extended in JACM 31, pp. 560–599 (1984).
Brookes, S.D., Roscoe, A.W., Walker, D.J.: An operational semantics for CSP. Oxford University Technical Report (1986).
He, J., Hoare, C.A.R.: CCS is a retract of CCS. Unifying Theories of Programming symposium, Springer LNCS 4010 (2006).
Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall (1985).
Kleiner, E.: A web services security study using Casper and FDR. Oxford University DPhil thesis (2008).
Lazić, R.S.: A semantic study of data-independence with applications to the mechanical verification of concurrent systems. Oxford University D.Phil thesis (1998).
Milner, R.: A Calculus of Communicating Systems. LNCS 92 (1980).
Milner, R.: Communication and concurrency. Prentice-Hall (1989).
Milner, R.: Communicating and mobile systems: the π-calculus. CUP (1999).
Milner, R., Parrow, J., Walker, D.: A calculus of mobile systems, Parts I/II, Information and Computation (1992).
Roscoe, A.W.: A mathematical theory of Communicating Sequential Processes. Oxford University DPhil thesis (1982).
Roscoe, A.W.: Denotational semantics for occam, Proceedings of the 1984 Pittsburgh Seminar on Concurrency, Springer LNCS 197
Roscoe, A.W.: Model-checking CSP, in A Classical Mind, essays in honour of C.A.R. Hoare, Prentice-Hall (1994).
Roscoe, A.W.: The theory and practice of concurrency. Prentice-Hall (1998).
Roscoe, A.W.: Seeing beyond divergence, Communicating Sequential Processes, the first 25 years, Springer LNCS 3525 (2005).
Roscoe, A.W.: Revivals, stuckness and the hierarchy of CSP models, JLaP 78, 3, pp. 163–190 (2009).
Roscoe, A.W.: The three platonic models of divergence-strict CSP. Proceedings of ICTAC (2008).
Roscoe, A.W.: On the expressiveness of CSP, Submitted for publication.
Roscoe, A.W., Broadfoot, P.J.: Proving security protocols with model checkers by data independence techniques. J. Comput. Secur. 7, pp. 147–190 (1999).
Roscoe, A. W., Gardiner, P.H.B., Goldsmith, M.H., Hulance, J.R., Jackson, D.M., Scattergood, J.B.: Hierarchical compression for model-checking CSP, or How to check 102̂0 dining philosophers for deadlock. In Proceedings of TACAS 1995 LNCS 1019.
Sangiorgi, D., Walker, D.: The π-calculus: A theory of mobile processes. Cambridge University press (2001).
Stoy, J.E.: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press (1977).
van Glabbeek, R.J.: On cool congruence formats for weak bisimulation, Proceedings of ICTAC 2005, Springer LNCS 3722.
Welch, P.H., Barnes, F.R.M.: A CSP model for mobile processes, Proc CPA 2008, IOS Press (2008).
Acknowledgements
Peter Welch [26] originally persuaded me to look at mobility in CSP.The fact that I managed to create a mobile parallel operator for him wasone of the main spurs towards looking for a general expressivity result.My initial work on CCS was inspired by the title of [5]. I had usefulconversations with many people about this work, notably Tony Hoare,Michael Goldsmith, Samson Abramsky, Rob van Glabbeek, Gavin Lowe andMichael Mislove. The presentation has benefited greatly from Cliff Jones’sadvice.
The author’s work on this paper was funded by grants from EPSRC and US ONR.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer London
About this chapter
Cite this chapter
Roscoe, A.W. (2010). CSP is Expressive Enough for π . In: Roscoe, A., Jones, C., Wood, K. (eds) Reflections on the Work of C.A.R. Hoare. Springer, London. https://doi.org/10.1007/978-1-84882-912-1_16
Download citation
DOI: https://doi.org/10.1007/978-1-84882-912-1_16
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-84882-911-4
Online ISBN: 978-1-84882-912-1
eBook Packages: Computer ScienceComputer Science (R0)