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 
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. Brinch Hansen, P. 1973. Operating System Principles. Prentice Hall, Englewood Cliffs, NJ.zbMATHGoogle 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.zbMATHGoogle 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.zbMATHCrossRefGoogle 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.MathSciNetzbMATHCrossRefGoogle 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.zbMATHCrossRefGoogle Scholar
  9. Hoare, C.A.R. 1978. Communicating sequential processes. Communications of the ACM 21, 8 (August), 666–677.MathSciNetzbMATHCrossRefGoogle Scholar
  10. Wirth, N. 1977. Modula: A programming language for modular multiprogramming. Software—Practice and Experience 7, 1 (January), 3–35.MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1978

Authors and Affiliations

  • Per Brinch Hansen

There are no affiliations available

Personalised recommendations