A Theory of Communicating Sequential Processes
Journal of the ACM (JACM)
Communicating sequential processes
Communicating sequential processes
Specification-oriented semantics for communicating processes
Acta Informatica
Fairness
Theoretical Computer Science
A classical mind
A classical mind
Proving Liveness Properties of Concurrent Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Communication and Concurrency
A Calculus of Communicating Systems
A Calculus of Communicating Systems
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
Concurrent ML: Design, Application and Semantics
Functional Programming, Concurrency, Simulation and Automated Reasoning: International Lecture Series 1991-1992, McMaster University, Hamilton, Ontario, Canada
On the Semantics of Fair Parallelism
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
A denotational framework for fair communicating processes
A denotational framework for fair communicating processes
Towards A Truly Concurrent Model for Processes Sharing Resources
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Hi-index | 0.00 |
CSP was originally introduced as a parallel programming language in which sequential imperative processes execute concurrently and communicate by synchronized input and output. The influence of CSP and the closely related process algebra TCSP is widespread. Over the years CSP has been equipped with a series of denotational semantic models, involving notions such as communication traces, failure sets, and divergence traces, suitable for compositional reasoning about safety properties and deadlock analysis. We revisit these notions (and review some of the underlying philosophy) with the benefit of hindsight, and we introduce a semantic framework based on action traces that permits a unified account of shared memory parallelism, asynchronous communication, and synchronous communication. The framework also allows a relatively straightforward account of (a weak form of) fairness, so that we obtain models suitable for compositional reasoning about liveness properties as well as about safety properties and deadlock. We show how to incorporate race detection into this semantic framework, leading to models more independent of hardware assumptions about the granularity of atomic actions.