A practical approach to the analysis of concurrent systems

  • J. R. Abrial
2. Tutorial Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 207)


The main thesis of this paper is that the analysis of concurrent programs (i.e. their specifications, their proofs of correctness, deadlockfreeness, etc.), can be done by using methods very similar to those used for analysing sequential programs.

This approach, which is certainly not new (for instance see (1),(5),(12), and (13) among others), is illustrated by various examples.

The first group of examples shows the transformations of various sequential programs into equivalent pairs of concurrent programs.

The last example shows how a network of concurrent programs can be abstracted by a very special non-deterministic sequential program. Consequently, properties of the network can be proved by applying traditional methods on its abstraction.

Some of the programs constructed in the examples are written in (pidgin) ADA.


Mathematical Object Finite Sequence Sequential Program Concurrent Program Fibonacci Number 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. (1).
    C.A.R. HOARE — A Calculus of Total Correctness for Communicating Sequential Processes — Science of Computer Programming — Volume 1 — 1981Google Scholar
  2. (2).
    C.A.R. HOARE — Communicating Sequential Processes — CACM — Volume 21 — 1978Google Scholar
  3. (3).
    C.A.R.HOARE — An Axiomatic Basis for Computer Programming — CACM — Volume 12 — 1969Google Scholar
  4. (4).
    M.E. CONWAY — Design of a Separable Transition-Diagram Compiler — CACM — Vo Volume 6 — 1963Google Scholar
  5. (5).
    S. OWICKI & D. GRIES — Verifying Properties of Parallel Programs: an Axiomatic Approach — CACM — Volume 19 — 1976Google Scholar
  6. (6).
    R.W. FLOYD — Assigning Meaning to Programs — Proc. Symposium Applied Mathematics — 1967Google Scholar
  7. (7).
    UNITED STATES DEPARTMENT OF DEFENSE — Reference Manual for the ADA Programming Language — 1983Google Scholar
  8. (8).
    E.W. DIJKSTRA — A Discipline of Programming — Prentice Hall — 1976Google Scholar
  9. (9).
    E.W. DIJKSTRA — A Correctness Proof for Communicating Processes. A Small Exercise — in Selected Writings on Computing: a Personal Perspective — Springer Verlag — 1982Google Scholar
  10. (10).
    E.W. DIJKSTRA — Guarded Commands, Non-determinacy and Formal Derivation of Programs — CACM — Volume 18 — 1975Google Scholar
  11. (11).
    C.B. JONES — Software Development: a Rigorous Approach — Prentice Hall — 1980Google Scholar
  12. (12).
    K.R. APT & N.FRANCEZ & W.P. DE ROEVER — A Proof System for Communicating Sequential Processes — ACM Transactions on Programming Languages — 1980Google Scholar
  13. (13).
    J.MISRA & K.M. CHANDY — Proofs of Networks of Processes — IEEE Transactions on Software Egineering — Volume SE 7 — 1981Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • J. R. Abrial

There are no affiliations available

Personalised recommendations