Acta Informatica

, Volume 16, Issue 2, pp 219–235 | Cite as

An axiomatic definition of synchronization primitives

  • Alain J. Martin


The semantics of a pair of synchronization primitives is characterized by three fundamental axioms: boundedness, progress, and fairness. The class of primitives fulfilling the three axioms is semantically defined. Unbuffered communication primitives, the symmetrical P and V operations, and the usual P and V operations are proved to be the three instances of this class. The definitions obtained are used to prove a series of basic theorems on mutual exclusion, producer-consumer coupling, deadlock, and linear and circular arrangements of communicating buffer-processes. An implementation of P and V operations fulfilling the axioms is proposed.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dijkstra, E.W.: Co-operating sequential processes. In: Programming languages, pp. 43–112 (F. Genuys, Ed.), New York: Academic Press, 1968Google Scholar
  2. 2.
    Dijkstra, E.W.: Guarded commands, non-determinancy, and formal derivation of programs. Comm. ACM 18, 453–457 (1975)Google Scholar
  3. 3.
    Dijkstra, E.W.: A class of allocation strategies inducing bounded delays only. Proc. S.J.C.C., pp.933–936 (1972)Google Scholar
  4. 4.
    Habermann, A.N.: Synchronization of communicating processes. Comm. ACM 15, 171–176 (1972)Google Scholar
  5. 5.
    Hoare, C.A.R.: Communicating sequential processes. Comm. ACM 21, 666–677 (1978)Google Scholar
  6. 6.
    Morris, J.M.: A starvation-free solution to the mutual exclusion problem. Information Processing Lett. 8, 76–80 (1979)Google Scholar
  7. 7.
    Owicki, S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Comm. ACM 19, 279–285 (1976)Google Scholar

Copyright information

© Springer-Verlag 1981

Authors and Affiliations

  • Alain J. Martin
    • 1
  1. 1.Philips Research LaboratoriesMD EindhovenThe Netherlands

Personalised recommendations