The term "process algebra" was coined in 1982 by Bergstra & Klop
[BK82]. A process algebra was a structure in the sense of universal
algebra that satisfied a particular set of axioms. Since 1984 they
used the phrase process algebra also to denote an area of science
(i.e. as a noun without particle). In this meaning the phrase was
sometimes used to refer to their own algebraic approach to the study
of concurrent processes [BK86b], and sometimes to such algebraic
approaches in general [BK86c]. The former use still occurs in [BW90]
and [He88] for instance, but the latter, to which I also subscribe, is
more widespread now.
The department of mathematics which investigates the relations and
properties of numbers by means of general symbols; and, in a more abstract
sense, a calculus of symbols combining according to certain defined laws.
[Oxford English Dictionary]
Something going on [Webster]
An algebraic approach to the study of concurrent
processes. Its tools are algebraical languages for the specification of
processes and the formulation of statements about them, together with
calculi for the verification of these statements. [Van Glabbeek, 1987]
The main algebraic approaches to concurrency are
- CCS, Milner's Calculus of Communicating Systems
[Mi80, Mi89, Mi90]
- CSP, Hoare's Communicating Sequential Processes
- ACP, Bergstra & Klop's Algebra of Communicating
Processes [BK84ab, BK85, BK86bc, BW90]
The most popular books on process algebra are:
Applications of the ACP approach are collected in:
- R. Milner (1989): Communication and Concurrency, Prentice Hall
- C.A.R. Hoare (1985):
Communicating Sequential Processes, Prentice Hall
- M. Hennessy (1988): Algebraic Theory of Processes, MIT Press
- J.C.M. Baeten & W.P. Weijland (1990): Process Algebra, Cambridge
- Bill Roscoe (1998, amended 2005):
The theory and practice of concurrency, Prentice Hall
- W.J. Fokkink (2000):
Introduction to Process Algebra,
Texts in Theoretical Computer Science, An EATCS Series, Springer.
A compact presentation of the foundations of the CCS approach is:
- J.C.M. Baeten, editor (1990): Applications of Process
Algebra, Cambridge University Press.
Finally, a short paper reviewing and comparing CCS and CSP is
For the historical references [Mi80, BHR84, BK82-84ab-85-86bc] see [BW90].
- R. Milner (1990): Operational and algebraic semantics of
concurrent processes, in J. van Leeuwen, editor:
Handbook of Theoretical Computer Science, Chapter 19,
Elsevier Science Publishers B.V. (North-Holland), pp. 1201-1242.
Rob van Glabbeek