Communicating sequential processes

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.

[1]  Friedrich L. Bauer,et al.  Report on the algorithmic language ALGOL 60 , 1960, Commun. ACM.

[2]  Melvin E. Conway,et al.  Design of a separable transition-diagram compiler , 1963, CACM.

[3]  Ole-Johan Dahl,et al.  SIMULA 67 common base language, (Norwegian Computing Center. Publication) , 1968 .

[4]  Edsger W. Dijkstra,et al.  Co-operating sequential processes , 1968 .

[5]  B. J. Mailloux,et al.  Report on the Algorithmic Language ALGOL 68 , 1969 .

[6]  B. J. Mailloux,et al.  Report of Algorithmic Language ALGOL 68 , 1969 .

[7]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[8]  B. J. Mailloux,et al.  Report on the Algorithmic Language , 1971 .

[9]  Tony Hoare,et al.  Hierarchical Program Structures , 1972 .

[10]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[11]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[12]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[13]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[14]  Per Brinch Hansen,et al.  The programming language Concurrent Pascal , 1975, IEEE Transactions on Software Engineering.

[15]  C. A. R. Hoare,et al.  Proof of correctness of data representation , 1975, Language Hierarchies and Interfaces.

[16]  Mary Shaw,et al.  Abstraction and verification in alphard , 1976 .

[17]  John F. Wakerly,et al.  The programming language PASCAL , 1979, Microprocessors and microsystems.

[18]  Jim Welsh,et al.  Structured System Programming , 1980 .