Understanding Concurrent Systems

  • A.W. Roscoe

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

Table of contents

  1. Front Matter
    Pages I-XVIII
  2. A Foundation Course in CSP

    1. Front Matter
      Pages 1-1
    2. A. W. Roscoe
      Pages 3-21
    3. A. W. Roscoe
      Pages 23-43
    4. A. W. Roscoe
      Pages 45-66
    5. A. W. Roscoe
      Pages 67-91
    6. A. W. Roscoe
      Pages 93-114
    7. A. W. Roscoe
      Pages 115-129
    8. A. W. Roscoe
      Pages 131-142
    9. A. W. Roscoe
      Pages 143-187
  3. Theory

    1. Front Matter
      Pages 189-189
    2. A. W. Roscoe
      Pages 191-228
    3. A. W. Roscoe
      Pages 255-270
    4. A. W. Roscoe
      Pages 271-291
    5. A. W. Roscoe
      Pages 293-317
  4. Using CSP in Practice

    1. Front Matter
      Pages 319-320
    2. A. W. Roscoe
      Pages 321-343
    3. A. W. Roscoe
      Pages 345-355
    4. A. W. Roscoe
      Pages 357-383
  5. Exploring Concurrency

    1. Front Matter
      Pages 417-417
    2. A. W. Roscoe
      Pages 419-446
    3. A. W. Roscoe
      Pages 447-480
    4. A. W. Roscoe
      Pages 481-507
  6. Back Matter
    Pages 509-527

About this book


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:

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.


Notation Variable communicating sequential process communication computer concurrency concurrency theory information linear optimization modeling process algebra programming programming language semantics verification

Authors and affiliations

  • A.W. Roscoe
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUnited Kingdom

Bibliographic information

Industry Sectors