Communicating Sequential Processes (CSP) has been used extensively for teaching and applying concurrency theory, ever since the publication of the text Communicating Sequential Processes by C.A.R. Hoare in 1985. Both a programming language and a specification language, CSP helps users to understand concurrent systems, and to decide whether a program meets its specification. As a member of the family of process algebras, the concepts of communication and interaction are presented in an algebraic style.
An invaluable textbook/reference on the state of the art in CSP, Understanding Concurrent Systems also serves as a comprehensive introduction to the field, in addition to providing material for a number of more advanced courses. A first point of reference for anyone wanting to use CSP or learn about its theory, the book also introduces other views of concurrency, using CSP to model and explain these. The text is fully integrated with CSP-based tools such as Failures-Divergences Refinement (FDR), and describes how to create new tools based on FDR. Most of the book relies on no previous knowledge of the theoretical background other than a basic knowledge of sets and sequences. Sophisticated mathematical arguments are avoided whenever possible.
Topics and features:
- Presents a comprehensive, accessible introduction to CSP
- Discusses the latest advances in CSP, giving novel presentations of its operational and algebraic semantics as well as the first comprehensive survey of its hierarchy of behavioural denotational models
- Explores the practical application of CSP, including timed modelling, discrete modelling, parameterised verifications and the state explosion problem, as well as advanced topics in the use of FDR
- Examines the ability of CSP to describe and enable reasoning about parallel systems modelled in other paradigms including two chapters on shared variable programming
- Covers a broad variety of concurrent systems, including combinatorial, timed, priority-based, mobile, shared variable, statecharts, buffered and asynchronous systems
- Contains ample exercises and case studies to support the text and aid in the explanation
- Supplies further tools and information at the associated website: http://www.comlab.ox.ac.uk/ucs/
From undergraduate students of computer science in need of an introduction to the area, to researchers and practitioners desiring a more in-depth understanding of theory and practice of concurrent systems, this broad-ranging text/reference is essential reading for anyone interested in Hoare's CSP.
Bill Roscoe has been Head of Department at Oxford University Computing Laboratory since 2003 and a Professor of Computer Science there since 1997. He is a Fellow of University College, Oxford and co-Director of the James Martin Institute for the Future of Computing. He is also co-editor of the Springer book Reflections on the Work of C.A.R. Hoare.