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.
%0 Journal Article
%1 359585
%A Hoare, C. A. R.
%C New York, NY, USA
%D 1978
%I ACM
%J Commun. ACM
%K CSP RG
%N 8
%P 666--677
%R http://doi.acm.org/10.1145/359576.359585
%T Communicating sequential processes
%U http://portal.acm.org/citation.cfm?id=359585&dl=GUIDE&coll=GUIDE&CFID=19884966&CFTOKEN=55490895
%V 21
%X 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.
@article{359585,
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.},
added-at = {2009-01-21T21:05:07.000+0100},
address = {New York, NY, USA},
author = {Hoare, C. A. R.},
biburl = {https://www.bibsonomy.org/bibtex/242835ae01e680046d38799189da03607/tmcphillips},
description = {Communicating sequential processes},
doi = {http://doi.acm.org/10.1145/359576.359585},
interhash = {5ab929cad0da48b990bac9d344cba2c4},
intrahash = {42835ae01e680046d38799189da03607},
issn = {0001-0782},
journal = {Commun. ACM},
keywords = {CSP RG},
number = 8,
pages = {666--677},
publisher = {ACM},
timestamp = {2009-02-20T18:40:46.000+0100},
title = {Communicating sequential processes},
url = {http://portal.acm.org/citation.cfm?id=359585&dl=GUIDE&coll=GUIDE&CFID=19884966&CFTOKEN=55490895},
volume = 21,
year = 1978
}