Communicating Sequential Processes Model of Computation: Nondeterminism, Time and Mutating Systems.

Researchers: Neil Smyth
Advisor:Edward A. Lee

In the Communicating Sequential Processes (CSP) model of computation, a network of processes communicate with messages through unidirectional channels. Communication is rendezvous-based, meaning that both the reading and writing processes block until the other side is ready to communicate. This model of computation is non-deterministic in that a process can block waiting to send or receive on any number of channels. It is also highly concurrent. Its applications include modeling and design of resource management strategies and high level system modeling early in the design cycle.

The original CSP[1] model of computation has been extended in two main ways. First, a notion of time has been added whereby each processes can delay for some delta time. It continues when global time has sufficiently advanced. Second, as mentioned above, it is possible to non-deterministically block waiting to send (as well as receive) on any number of channels, something not possible in Hoare's original formulation.

The design of the CSP domain in PtolemyII also deals with issues arising from interacting with different models of computations. These interactions are important for heterogeneous modeling, enabling modeling and design of such systems as embedded systems where resource contention is a vital concern. The points at which mutations can occur is also being evaluated, allowing the system to evolve over the course of its execution, while maintaining a consistent state.

C. A. Hoare, "Communicating Sequential Processes", Communcations of the ACM, August 1978.

Last updated 03/22/99