Skip to main content

CSP is Expressive Enough for π

  • Chapter
  • First Online:
Reflections on the Work of C.A.R. Hoare

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The uses of relabelling we make later only map visible actions to other visible actions.

  2. 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. 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. 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. 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. 6.

    We say “one” here, because the four options for presenting it are congruent to each other.

  7. 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

  1. 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).

    Google Scholar 

  2. Brookes, S.D.: A model for Communicating Sequential Processes. Oxford University DPhil thesis (1983).

    Google Scholar 

  3. 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).

  4. Brookes, S.D., Roscoe, A.W., Walker, D.J.: An operational semantics for CSP. Oxford University Technical Report (1986).

    Google Scholar 

  5. He, J., Hoare, C.A.R.: CCS is a retract of CCS. Unifying Theories of Programming symposium, Springer LNCS 4010 (2006).

    Google Scholar 

  6. Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall (1985).

    Google Scholar 

  7. Kleiner, E.: A web services security study using Casper and FDR. Oxford University DPhil thesis (2008).

    Google Scholar 

  8. Lazić, R.S.: A semantic study of data-independence with applications to the mechanical verification of concurrent systems. Oxford University D.Phil thesis (1998).

    Google Scholar 

  9. Milner, R.: A Calculus of Communicating Systems. LNCS 92 (1980).

    Google Scholar 

  10. Milner, R.: Communication and concurrency. Prentice-Hall (1989).

    Google Scholar 

  11. Milner, R.: Communicating and mobile systems: the π-calculus. CUP (1999).

    Google Scholar 

  12. Milner, R., Parrow, J., Walker, D.: A calculus of mobile systems, Parts I/II, Information and Computation (1992).

    Google Scholar 

  13. Roscoe, A.W.: A mathematical theory of Communicating Sequential Processes. Oxford University DPhil thesis (1982).

    Google Scholar 

  14. Roscoe, A.W.: Denotational semantics for occam, Proceedings of the 1984 Pittsburgh Seminar on Concurrency, Springer LNCS 197

    Google Scholar 

  15. Roscoe, A.W.: Model-checking CSP, in A Classical Mind, essays in honour of C.A.R. Hoare, Prentice-Hall (1994).

    Google Scholar 

  16. Roscoe, A.W.: The theory and practice of concurrency. Prentice-Hall (1998).

    Google Scholar 

  17. Roscoe, A.W.: Seeing beyond divergence, Communicating Sequential Processes, the first 25 years, Springer LNCS 3525 (2005).

    Google Scholar 

  18. Roscoe, A.W.: Revivals, stuckness and the hierarchy of CSP models, JLaP 78, 3, pp. 163–190 (2009).

    MATH  MathSciNet  Google Scholar 

  19. Roscoe, A.W.: The three platonic models of divergence-strict CSP. Proceedings of ICTAC (2008).

    Google Scholar 

  20. Roscoe, A.W.: On the expressiveness of CSP, Submitted for publication.

    Google Scholar 

  21. Roscoe, A.W., Broadfoot, P.J.: Proving security protocols with model checkers by data independence techniques. J. Comput. Secur. 7, pp. 147–190 (1999).

    Google Scholar 

  22. 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.

    Google Scholar 

  23. Sangiorgi, D., Walker, D.: The π-calculus: A theory of mobile processes. Cambridge University press (2001).

    Google Scholar 

  24. Stoy, J.E.: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press (1977).

    Google Scholar 

  25. van Glabbeek, R.J.: On cool congruence formats for weak bisimulation, Proceedings of ICTAC 2005, Springer LNCS 3722.

    Google Scholar 

  26. Welch, P.H., Barnes, F.R.M.: A CSP model for mobile processes, Proc CPA 2008, IOS Press (2008).

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to A. W. Roscoe .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics