Distributed Processes: A Concurrent Programming Concept

  • Per Brinch Hansen


A language concept for concurrent processes without common variables is introduced. These processes communicate and synchronize by means of procedure calls and guarded regions. This concept is proposed for real-time applications controlled by microcomputer networks with distributed storage. The paper gives several examples of distributed processes and shows that they include procedures, coroutines, classes, monitors, processes, semaphores, buffers, path expressions, and input/output as special cases.


Concurrent Program User Process Process Array Path Expression Language Concept 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Brinch Hansen, P. 1973. Operating System Principles. Prentice Hall, Englewood Cliffs, NJ.MATHGoogle Scholar
  2. Brinch Hansen, P. 1975. The programming language Concurrent Pascal. IEEE Transactions on Software Engineering 1, 2 (June), 199–207.CrossRefGoogle Scholar
  3. Brinch Hansen, P. 1977. The Architecture of Concurrent Programs. Prentice Hall, Englewood Cliffs, NJ.MATHGoogle Scholar
  4. Brinch Hansen, P., and Staunstrup, J. 1978. Specification and implementation of mutual exclusion. IEEE Transactions on Software Engineering 4, 4 (September), 365–370.MATHCrossRefGoogle Scholar
  5. Campbell, R.H., and Habermann, A.N. 1974. The specification of process synchronization by path expressions. Lecture Notes in Computer Science 16, 89–102.Google Scholar
  6. Dijkstra, E.W. 1975. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM 18, 8 (August), 453–457.MathSciNetMATHCrossRefGoogle Scholar
  7. Hoare, C.A.R. 1972. Towards a theory of parallel programming. In Operating Systems Techniques, C.A.R. Hoare and R.H. Perrott, Eds., Academic Press, New York.Google Scholar
  8. Hoare, C.A.R. 1974. Monitors: An operating system structuring concept. Communications of the ACM 17, 10 (October), 549–557.MATHCrossRefGoogle Scholar
  9. Hoare, C.A.R. 1978. Communicating sequential processes. Communications of the ACM 21, 8 (August), 666–677.MathSciNetMATHCrossRefGoogle Scholar
  10. Wirth, N. 1977. Modula: A programming language for modular multiprogramming. Software—Practice and Experience 7, 1 (January), 3–35.MathSciNetMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1978

Authors and Affiliations

  • Per Brinch Hansen

There are no affiliations available

Personalised recommendations