Skip to main content

Part of the book series: Texts in Computer Science ((TCS))

  • 2093 Accesses

Abstract

We introduce a formal algebraic semantics for CSP. First we show how algebraic laws can systematically reduce all finite CSP terms to a head normal form, and therefore create an Algebraic Operational Semantics. Then we show how to reduce this to a normal form for the finest CSP model as developed in Chap. 12. We can then show how a small selection of optional laws such as \(P=P\mathbin{\Box}P\) allow this normal form to be transformed into normal forms for any of the main models of CSP. This provides an elegant explanation for why the hierarchy of models developed in the previous two chapters is as it is.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.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.

    An amazing proportion of the ‘laws’ stated in [56] are false, and it is possible to find many distinct combinations which prove all processes equal. Some of the laws given in that book make even less sense than simply being false: for example ‘\(P\mathbin{|\!|\!|}Q\wedge Q\mathbin{|\!|\!|}R\Rightarrow P\mathbin{|\!|\!|}R\)’ which is trivially ill-typed since processes are not truth values.

  2. 2.

    The fact that this transformation preserves equivalence over all our CSP models gives an interesting insight into the way in which the models without strict divergence treat div.

  3. 3.

    See Chap. 9.

  4. 4.

    Because all standard CSP operators other than recursion are fully distributive, we have not enumerated all such laws in this book.

  5. 5.

    In the case of the symmetric operators \( \Box \) and \(\mathop{\mathord{\parallel}}\limits_{X}\) this reduces to 15 essentially different pairings.

  6. 6.

    An alternative is only to have div in those choices with no other members.

  7. 7.

    Note that in some presentations of CSP based on failures models only, this has sometimes been given as the definition or \(\rhd\).

References

  1. Aceto, L., Hennessy, M.: Termination, deadlock and divergence. In: Proceedings of MFPS89. LNCS, vol. 442. Springer, Berlin (1989)

    Google Scholar 

  2. Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60, 109–137 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  3. Bergstra, J.A., Klop, J.W.: Algebra for communicating processes with abstraction. Theor. Comput. Sci. 37(1), 77–121 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  4. Brookes, S.D.: A model for communicating sequential processes. Oxford University D.Phil. thesis (1983) (published as a Carnegie-Mellon University technical report)

    Google Scholar 

  5. Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)

    MathSciNet  MATH  Google Scholar 

  6. Guessarian, I.: Algebraic Semantics. LNCS, vol. 99. Springer, Berlin (1981)

    Book  MATH  Google Scholar 

  7. He Jifeng, Hoare, C.A.R.: From algebra to operational semantics. Inf. Process. Lett. 46, 2 (1993)

    Google Scholar 

  8. He Jifeng, Hoare, C.A.R., Sampaio, A.: Normal form approach to compiler design. Acta Inform. 30, 701–739 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  9. Hennessy, M.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)

    MATH  Google Scholar 

  10. Hinchey, M.G., Jarvis, S.A.: Concurrent Systems: Formal Development in CSP. McGraw-Hill, New York (1995)

    Google Scholar 

  11. Hoare, C.A.R., He Jifeng: Unifying Theories of Programming. Prentice Hall, New York (1998)

    Google Scholar 

  12. Inmos Ltd., occam2 Reference Manual. Prentice Hall, New York (1988)

    Google Scholar 

  13. Jones, C.B., Roscoe, A.W.: Insight, innovation and collaboration. In: Jones, C.B., Roscoe, A.W., Wood, K.R. (eds.) Reflections on the Work of C.A.R. Hoare. Springer, Berlin (2010)

    Google Scholar 

  14. Milner, R.: A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Berlin (1980)

    Book  MATH  Google Scholar 

  15. Roscoe, A.W., Hoare, C.A.R.: The laws of occam programming. Theor. Comput. Sci. 60, 177–229 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  16. van Glabbeek, R.J.: The linear time—branching time spectrum I. In: The Handbook of Process Algebra. Elsevier, Amsterdam (2001)

    Google Scholar 

  17. van Glabbeek, R.J.: The linear time—branching time spectrum II. In: CONCUR (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. W. Roscoe .

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag London Limited

About this chapter

Cite this chapter

Roscoe, A.W. (2010). The Algebra of CSP. In: Understanding Concurrent Systems. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-84882-258-0_13

Download citation

  • DOI: https://doi.org/10.1007/978-1-84882-258-0_13

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-84882-257-3

  • Online ISBN: 978-1-84882-258-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics