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 familiar programming exercises.

Keywords

Computer scienceStructuringVariety (cybernetics)Programming languageDijkstra's algorithmTheoretical computer scienceArtificial intelligenceShortest path problem

Affiliated Institutions

Related Publications

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 struct...

1978 Communications of the ACM 3469 citations

Publication Info

Year
1983
Type
article
Volume
26
Issue
1
Pages
100-106
Citations
3779
Access
Closed

External Links

Social Impact

Altmetric

Social media, news, blog, policy document mentions

Citation Metrics

3779
OpenAlex

Cite This

C. A. R. Hoare (1983). Communicating sequential processes. Communications of the ACM , 26 (1) , 100-106. https://doi.org/10.1145/357980.358021

Identifiers

DOI
10.1145/357980.358021