Disjoint Parallel Programs

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


As we have seen in Chapter 1, concurrent programs can be quite difficult to understand in detail. That is why we introduce and study them in several stages. In this part of the book we will study parallel programs. In this chapter we investigate disjoint parallelism, the simplest form of parallelism. Disjointness means here that the component programs have only reading access to common variables. Many phenomena of parallel programs can already be explained in this setting. In Chapter 6 we study parallelism with shared variables and in Chapter 7 we add synchronization to shared variable parallelism. Disjoint parallelism provides a good preparation for studying these extensions.


Auxiliary Variable Parallel Program Proof System Infinite Sequence Parallel Composition 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [C1a80]
    E.M. Clarke. Proving correctness of coroutines without history variables. Acta Informatica, 13: 169–188, 1980.MathSciNetMATHCrossRefGoogle Scholar
  2. [Cli73]
    M. Clint. Program proving: Coroutines. Acta Informatica, 2: 5063, 1973.CrossRefGoogle Scholar
  3. [DJ90]
    N. Dershowitz and J.-P. Jouannaud. Rewriting systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 243–320, Amsterdam, 1990. Elsevier.Google Scholar
  4. 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
  5. [Hoa75]
    C.A.R. Hoare. Parallel programming an axiomatic approach. Computer Languages, 1: 151–160, 1975.MATHCrossRefGoogle Scholar
  6. [K1o90]
    J.W. Klop. Term rewriting systems. In S. Abramsky, D. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, Oxford, 1990. Oxford University Press. To appear.Google Scholar
  7. [Lam83]
    L. Lamport. What good is temporal logic? In R.E.A. Mason, editor, Proceedings of the IFIP Information Processing 1983, pages 657–668, Amsterdam, 1983. North-Holland.Google Scholar
  8. [OA88]
    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. [New42]
    M.H.A. Newman,On Theories with a combinatorial definition of “equivalence”. Annals of Math.,43(2):223–243, 1942.CrossRefGoogle Scholar
  10. [OG76]
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs Acta Informatica, 6: 319–340, 1976.MathSciNetMATHCrossRefGoogle Scholar
  11. [Ros74]
    B.K. Rosen. Correctness of parallel programs. the Church-Rosser approach. Technical Report IBM Research Report RC 5107, T.J. Watson Research Center, Yorktown Heights (N.Y. ), 1974.Google Scholar
  12. [SM81]
    A. Salwicki and T. Müldner. On the algorithmic properties of concurrent programs. In E. Engeler, editor, Proceedings of Logics of Programs,pages 169–197, New York, 1981. Lecture Notes in Computer Science 125, 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