Abstract
This paper demonstrates that a wide range of the CSP operators, in particular parallel composition, hiding, general choice, interleaving, and the non-deterministic OR, can be represented by confluent unfolding to a normal form. The relevant normal form is an enrichment of the CSP choice construction by the inclusion of non-determinism and silent actions. It is demonstrated that the majority of the equational laws presented by Hoare for these operators are valid not only for the failures equivalence but even for strong bisimilarity. This work is a prelude to embedding CSP in the bigraph model, a recent generic model for ubiquitous computing in which other process calculi have been faithfully embedded. The authors hope by this means to elucidate the differences and similarities between CSP and other calculi. The present paper presents the main ideas of the embedding in the formalism of CSP itself, and makes no use of bigraphs in doing so.
Appreciation from the second author Tony Hoare and I have exchanged ideas on concurrent processes for three decades. To a sufficiently distant observer it has seemed that we were doing the same thing, and that therefore we should not have made it look different. A closer view shows this to be false. Complementary things, yes; and both have been enriched by the cross-fertilisation.
A little history shows something of these different approaches. Around 1979 we first discovered our complementary interests in concurrency. Tony at first expressed his ideas through the medium of a programming language [6], and I through a prototypical algebraic theory [8]. The difference became plainer as time went on. Tony was keen to find a single formalism in which specifications of concurrent systems could be refined into programs. I, on the other hand, was keen to find a mathematical concept of process that could stand in analogy with the familiar notion of (single valued) function, and I was happy that specification should be done in an associated logic. We enjoyed discussing these things. I recall one discussion at a blackboard (or was it a whiteboard?) where Tony hinted to me his first ideas about failures semantics.
The present short paper, in honour of Tony and continuing our long, friendly and sometimes rivalrous collaboration, is another step towards harmonising our approaches.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Roscoe’s normal form also caters explicitly for divergence; this lies beyond the scope of our paper.
- 2.
For simplicity, we assume alphabets to be finite. Later work may relax this restriction.
- 3.
Here again, it may be possible to remove the finiteness constraint for some purposes.
References
Aczel, P.: Non-well-founded Sets, CSLI Lecture Notes 14. Center for the Study of Language and Information, Stanford University, Stanford, CA (1988).
Baeten, J., Weijland, W.P.: Process Algebra Cambridge University Press, (1990).
Brookes, S., Roscoe, A.W., Walker, D.J.: An operational semantics for CSP (Manuscript). Available from http://www.cs.cmu.edu/afs/cs.cmu.edu/user/brookes/www/papers/OperationalSemanticsCSP.pdf (1988).
Dershowitz, N., Manna, Z.: Proving termination with multiset orderings. Commun. ACM 22(8), 465–476 (1979).
De Nicola, R.: Two complete axiom systems for a theory of communicating sequential processes. Inform. Control, 64, 136–172 (1985).
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–777 (1978).
Hoare, C.A.R.: Communicating sequential processes. Prentice Hall (1985).
Milner, R.: Synthesis of Communicating Behaviour. Proc. 7th Symposium on Mathematical Foundations of Computer Science, Lecture Notes in Computer Science, vol. 64, Springer, Zakopane, Poland (1978).
Milner, R.: A Calculus of Communicating Systems. Lecture Notes in Computer Science, vol 92, Springer (1980).
Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press (1999).
Milner, R.: The Space and Motion of Communicating Agents. Cambridge University Press (2009).
Park, D.: Concurrency and Automata on Infinite Sequences Proc. 5th GI-Conference on Theoretical Computer Science, Karlsruhe, Germany, March 23–25, Lecture Notes in Computer Science, vol. 104, Springer (1980).
Plotkin, G.D.: A structural approach to operational semantics. Report DAIMI-FN-19, Computer Science Department, Århus University, Denmark (1981). Reprinted as [14].
Plotkin, G.D.: A structural approach to operational semantics. J. Logic Algebra. Program. 60–61, 17–139 (2004).
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall (1998); revised (2005).
Roscoe, A.W.: On the expressiveness of CSP, Submitted for publication.
TeReSe, Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science 55. Cambridge University Press (2003).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Additional information
Dedicated to Sir Tony Hoare for his 75th birthday
Rights and permissions
Copyright information
© 2010 Springer London
About this chapter
Cite this chapter
Bundgaard, M., Milner, R. (2010). Unfolding CSP. 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_10
Download citation
DOI: https://doi.org/10.1007/978-1-84882-912-1_10
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)