skip to main content
article
Free Access

Communicating sequential processes

Published:01 August 1978Publication History
Skip Abstract Section

Abstract

This paper suggests that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method. When combined with a development of Dijkstra's guarded command, these concepts are surprisingly versatile. Their use is illustrated by sample solutions of a variety of a familiar programming exercises.

References

  1. 1 Atkinson, R., and Hewitt, C. Synchronisation in actor systems. Working Paper 83, M.I.T., Cambridge, Mass., Nov. 1976.]]Google ScholarGoogle Scholar
  2. 2 Brinch Hansen, P. The programming language Concurrent Pascal. IEEE Trans. Software Eng. 1, 2 (June 1975), 199-207.]]Google ScholarGoogle Scholar
  3. 3 Campbell, R.H., and Habermann, A.N. The specification of process synchronisation by path expressions. Lecture Notes in Computer Science 16, Springer, 1974, pp. 89-102.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Conway, M.E. Design of a separable transition-diagram compiler. Comm. ACM 6, 7 (July 1963), 396-408.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Dahl, O-J., et al. SIMULA 67, common base language. Norwegian Computing Centre, Forskningveien, Oslo, 1967.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Dijkstra, E.W. Co-operating sequential processes. In Programming Languages, F. Genuys, Ed., Academic Press, New York, 1968, pp. 43-112.]]Google ScholarGoogle Scholar
  7. 7 Dijkstra, E.W. Notes on structured programming. In Structured Programming, Academic Press, New York 1972, pp. 1-82.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Dijkstra, E.W. Guarded commands, nondeterminacy, and formal derivation of programs. Comm. A CM 18, 8 (Aug. 1975), 453-457.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Dijkstra, E.W. Verbal communication, Marktoberdorf, Aug. 1975.]]Google ScholarGoogle Scholar
  10. 10 Hoare, C.A.R. Towards a theory of parallel programming. In Operating Systems Techniques, Academic Press, New York, 1972, pp. 61-71.]]Google ScholarGoogle Scholar
  11. 11 Hoare, C.A.R. Proof of correctness of data representations..4cta Informatica 1, 4 (1972), 271-281.]]Google ScholarGoogle Scholar
  12. 12 Kahn, G. The semantics of a simple language for parallel programming. In Proc. IFIP Congress 74, North Holland, 1974.]]Google ScholarGoogle Scholar
  13. 13 Liskov, B.H. A note on CLU. Computation Structures Group Memo. 112, M.I.T., Cambridge, Mass, 1974.]]Google ScholarGoogle Scholar
  14. 14 Mcllroy, M.D. Coroutines. Bell Laboratories, Murray Hill, N.J., 1968.]]Google ScholarGoogle Scholar
  15. 15 Naur, P., Ed. Report on the algorithmic language ALGOL 60. Comm. ACM 3, 5 (May 1960), 299-314.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Reynolds, J.C. COGENT. ANL-7022, Argonne Nat. Lab., Argonne, II1., 1965.]]Google ScholarGoogle Scholar
  17. 17 Thompson, K. The UNIX command language. In Structured Programming, Infotech, Nicholson House, Maidenhead. England, 1976, pp. 375-384.]]Google ScholarGoogle Scholar
  18. 18 van Wijngaarden, A. Ed. Report on the algorithmic language ALGOL 68. Numer. Math. 14 (1969), 79-218.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 Wulf, W.A., London, R.L., and Shaw, M. Abstraction and verification in ALPHARD. Dept. of Comptr. Sci., Carnegie-MeUon U., Pittsburgh, Pa., June 1976.]]Google ScholarGoogle Scholar
  20. 20 Wirth, N. The programming language PASCAL. Acta Informatica 1, 1 (1971), 35-63.]]Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Communicating sequential processes

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader