Work

Communicating Sequential Processes

theory · 1978

Concurrency Programming Languages Formal Methods

Communicating Sequential Processes (CSP) is a formal language for describing patterns of interaction in concurrent systems, developed by Tony Hoare and published in 1978. It provides a mathematical framework for reasoning about concurrent programs.

Core Concepts

CSP models concurrent systems as independent processes that interact through message passing:

Mathematical Foundation

CSP provides:

Influence on Programming Languages

CSP directly influenced:

Legacy

CSP demonstrated that complex concurrent systems could be reasoned about formally. Its concepts of channels and message-passing became standard tools for concurrent programming, offering an alternative to shared-memory approaches.