A brief introduction to communicating sequential processes as a paradigm for concurrent programming.