The Origin of Concurrent Programming 1978
DOI: 10.1007/978-1-4757-3472-0_16
|View full text |Cite
|
Sign up to set email alerts
|

Communicating Sequential Processes

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.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
1,307
0
17

Year Published

1990
1990
2011
2011

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 1,281 publications
(1,324 citation statements)
references
References 8 publications
0
1,307
0
17
Order By: Relevance
“…In [Mai86], [Hen87], it is shown that if we are not very discriminating about divergence, the process semantics that satisfy our requirement are essentially failure semantics [Hoa85]. The failures of a process are the pairs (s, X) where s is a sequence of external actions of the process and X is a set of actions the process can refuse after executing s. We do not want a treatment of divergence 5 as radical as the one in [BHR84] [Mai86], so we add explicit divergence points to our semantics [Old85].…”
Section: A Process Theorymentioning
confidence: 99%
See 1 more Smart Citation
“…In [Mai86], [Hen87], it is shown that if we are not very discriminating about divergence, the process semantics that satisfy our requirement are essentially failure semantics [Hoa85]. The failures of a process are the pairs (s, X) where s is a sequence of external actions of the process and X is a set of actions the process can refuse after executing s. We do not want a treatment of divergence 5 as radical as the one in [BHR84] [Mai86], so we add explicit divergence points to our semantics [Old85].…”
Section: A Process Theorymentioning
confidence: 99%
“…For this, we turn to process theory in the style of CCS and CSP [Mil80], [Hoa85]. We actually use a variant of TCSP, but this choice is not important as long as some conditions made explicit in Section 2 are satisfied.…”
Section: Introductionmentioning
confidence: 99%
“…In this approach, the Casper compiler [142] takes a high-level description of the protocol, together with its security requirements. It then translates the description into the process algebra of Communicating Sequential Processes (CSP) [143]. The CSP description of the protocol can be machine veri ed using the Failures-Divergence Re nement (FDR) model checker [144].…”
Section: Protocol Veri Cation By Casperfdrmentioning
confidence: 99%
“…The CasperFDR approach uses the Communicating Sequential Processes (CSP) [143]; a mathematical framework for the description and analysis of systems that consist of processes (sub-systems). The state of a process in the CSP changes by engaging with (pre-de ned) events.…”
Section: B1 Brief Introduction To the Casperfdrmentioning
confidence: 99%
“…By putting such processes in parallel, it is possible to assess their combined behaviour, which is the main source of complications arising in concurrent systems. Examples of process algebras include ACP (Bergstra and Klop, 1984), CSP (Hoare, 1985), CCS and π-calculus (Milner, 1999) (see Appendix E for an overview), and Ambient Calculus (Cardelli and Gordon, 1998).…”
Section: Process Algebrasmentioning
confidence: 99%