z-logo
Premium
A communicating sequential process language and implementation
Author(s) -
Roper T. J.,
Barter C. J.
Publication year - 1981
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380111105
Subject(s) - computer science , process (computing) , programmer , message passing , communicating sequential processes , independence (probability theory) , programming language , determinism , principal (computer security) , identity (music) , theoretical computer science , semantics (computer science) , operational semantics , computer security , statistics , physics , mathematics , quantum mechanics , acoustics
The design of a communicating sequential process language is presented, featuring a parallel command, communication by message passing and the use of the guarded command as a means of introducing and controlling non‐determinism. The language described here incorporates a number of new proposals regarding communications between sequential processes. The principal proposal is that messages are to be selected for reception by a receiving process solely on the basis of their type and arrival order within type; in particular, the identity of the sending process does not influence message reception. This results in a greater degree of parallelism and non‐determinism, which is useful to both the programmer and the language implementor. Also a hierarchichal composition regime is proposed, which gives communications significance to the organization of subprocess hierarchies; this promotes an independence of specification of program components through information hiding properties. The language implementation is described, and several aspects are of particular interest: the design of a process scheduler in a non‐deterministic situation leads to some interesting optimizations, as does the design of a message handler in the case where the communicating processes can access the same memory. Finally, example programs are given to illustrate some of the novel features of the language.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here