Parallel Programs with Synchronization

  • Krzysztof R. Apt
  • Ernst-Rüdiger Olderog
Part of the Texts and Monographs in Computer Science book series (MCS)


For many applications we need parallel programs whose components can synchronize with each other, in that they wait or get blocked until the execution of the other components changes the shared variables into a more favourable state. We therefore extend now (in Section 7.1) the program syntax by a synchronization construct, the await-statement introduced in Owicki and Gries [OG76a].


Parallel Program Mutual Exclusion Component Program Total Correctness Atomic Region 
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. [Ben90]
    M. Ben-Ari. Principles of Concurrent and Distributed Programming. Prentice-Hall International, Englewood Cliffs, NJ, 1990.zbMATHGoogle Scholar
  2. [Dij68]
    E.W. Dijkstra. Cooperating sequential processes. In F. Genuys, editor, Programming Languages: NATO Advanced Study Institute, pages 43–112, London, 1968. Academic Press.Google Scholar
  3. [Hoa72]
    C.A.R. Hoare. Towards a theory of parallel programming In C.A.R. Hoare and R.H. Perrot, editors, Operating Systems Techniques,pages 61–71. Academic Press, 1972.Google Scholar
  4. [Lip75]
    R. Lipton. Reduction: a method of proving properties of parallel programs Communications of the ACM, 18: 717–721, 1975.MathSciNetzbMATHCrossRefGoogle Scholar
  5. [MP81]
    Z. Manna and A. Pnueli. Verification of concurrent programs: the temporal framework. In R.S. Boyer and J.S. Moore, editors, The Correctness Problem in Computer Science, International Lecture Series in Computer Science, London, 1981. Academic Press.Google Scholar
  6. [MP83]
    Z. Manna and A. Pnueli. How to cook a temporal proof system for your pet language. In Proceedings of the 10th Annual ACM Symposium on Principles of Programming Languages, pages 141154, Austin, Texas, U.S.A., 1983.Google Scholar
  7. [MP84]
    Z. Manna and A. Pnueli. Adequate proof principles for invariance and liveness properties of concurrent programs Science of Computer Programming, 4: 257–289, 1984.MathSciNetzbMATHCrossRefGoogle Scholar
  8. [0A88]
    E.-R. Olderog and K.R. Apt. Fairness in parallel programs, the transformational approach. ACM Transactions on Programming Languages and Systems, 10: 420–455, 1988.CrossRefGoogle Scholar
  9. [OG76a]
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs Acta Informatica, 6: 319–340, 1976.MathSciNetzbMATHCrossRefGoogle Scholar
  10. [OG76b]
    S. Owicki and D. Gries. Verifying properties of parallel programs• an axiomatic approach. Communications of the ACM, 19: 279–285, 1976.MathSciNetzbMATHCrossRefGoogle Scholar
  11. [Pet81]
    G.L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12 (3): 223–252, 1981.CrossRefGoogle Scholar
  12. [Ray86]
    M. Raynal. Algorithms for Mutual Exclusion. The MIT Press, Cambridge, Mass, 1986.Google Scholar
  13. [SA86]
    F.B. Schneider and G.R. Andrews. Concepts of concurrent programming. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors, Current Trends in Concurrency,pages 669–716, New York, 1986. Lecture Notes in Computer Science 224, Springer-Verlag.Google Scholar

Copyright information

© Springer Science+Business Media New York 1991

Authors and Affiliations

  • Krzysztof R. Apt
    • 1
  • Ernst-Rüdiger Olderog
    • 2
  1. 1.CWIAmsterdamThe Netherlands
  2. 2.Department of Computer ScienceUniversity of OldenburgOldenburgGermany

Personalised recommendations