Design and implementation of languages for communicating sequential processes. - D. T. Gray (1981)