# Process Algebra

Algebra
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]
Process
Something going on [Webster]
Process algebra
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 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 main algebraic approaches to concurrency are

• CCS, Milner's Calculus of Communicating Systems [Mi80, Mi89, Mi90]
• CSP, Hoare's Communicating Sequential Processes [BHR84, Ho85]
• ACP, Bergstra & Klop's Algebra of Communicating Processes [BK84ab, BK85, BK86bc, BW90]

The most popular books on process algebra are:

• 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 University Press.
Applications of the ACP approach are collected in:
• J.C.M. Baeten, editor (1990): Applications of Process Algebra, Cambridge University Press.
A compact presentation of the foundations of the CCS approach is:
• 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.
Finally, a short paper reviewing and comparing CCS and CSP is
For the historical references [Mi80, BHR84, BK82-84ab-85-86bc] see [BW90].
Rob van Glabbeek
rvg@CS.Stanford.EDU