a fair protocol for non-deterministic message passing
Since Hoare introduced Communicating Sequential Processes as a model of distributed computation, there has been much discussion about efficient and flexible implementations. Previous research has led to communication protocols with restrictions: a process may only choose amongst receive operations; only a single pair of processes can be connected to a channel; or the protocol may be subject to deadlock or lack of fairness. We describe a fair protocol that allows arbitrary, non-deterministic communication amongst a set of processes connected by channels.
fairness message passing communication deadlock concurrency