ACM Home Page
Please provide us with feedback. Feedback
Communicating sequential processes
Full text PdfPdf (1.19 MB)
Source
Communications of the ACM archive
Volume 21 ,  Issue 8  (August 1978) table of contents
Pages: 666 - 677  
Year of Publication: 1978
ISSN:0001-0782
Author
C. A. R. Hoare  The Queen's Univ., Belfast, Northern Ireland, UK
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 82,   Downloads (12 Months): 708,   Citation Count: 700
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/359576.359585
What is a DOI?

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

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Atkinson, R., and Hewitt, C. Synchronisation in actor systems. Working Paper 83, M.I.T., Cambridge, Mass., Nov. 1976.
 
2
Brinch Hansen, P. The programming language Concurrent Pascal. IEEE Trans. Software Eng. 1, 2 (June 1975), 199-207.
 
3
4
 
5
 
6
Dijkstra, E.W. Co-operating sequential processes. In Programming Languages, F. Genuys, Ed., Academic Press, New York, 1968, pp. 43-112.
 
7
Dijkstra, E.W. Notes on structured programming. In Structured Programming, Academic Press, New York 1972, pp. 1-82.
8
 
9
Dijkstra, E.W. Verbal communication, Marktoberdorf, Aug. 1975.
 
10
Hoare, C.A.R. Towards a theory of parallel programming. In Operating Systems Techniques, Academic Press, New York, 1972, pp. 61-71.
 
11
Hoare, C.A.R. Proof of correctness of data representations..4cta Informatica 1, 4 (1972), 271-281.
 
12
Kahn, G. The semantics of a simple language for parallel programming. In Proc. IFIP Congress 74, North Holland, 1974.
 
13
Liskov, B.H. A note on CLU. Computation Structures Group Memo. 112, M.I.T., Cambridge, Mass, 1974.
 
14
Mcllroy, M.D. Coroutines. Bell Laboratories, Murray Hill, N.J., 1968.
15
 
16
Reynolds, J.C. COGENT. ANL-7022, Argonne Nat. Lab., Argonne, II1., 1965.
 
17
Thompson, K. The UNIX command language. In Structured Programming, Infotech, Nicholson House, Maidenhead. England, 1976, pp. 375-384.
 
18
van Wijngaarden, A. Ed. Report on the algorithmic language ALGOL 68. Numer. Math. 14 (1969), 79-218.
 
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.
 
20
Wirth, N. The programming language PASCAL. Acta Informatica 1, 1 (1971), 35-63.

CITED BY  700