A first-order multiparty interaction generalizes Ada’s rendezvous and the communication sequential processes (CSP) communication mechanisms to allow more than two participating processes. An interaction is first-order if the assignment of processes to roles in the interaction is dynamic. Multiparty interactions can serve as guards in alternative and repetitive commands in a manner similar to CSP. The primary contribution of this paper is a distributed algorithm for assigning processes to roles in first-order multiparty interactions. A group of processes uses a message-passing protocol to determine an assignment that allows an interaction to proceed. The algorithm allows for concurrent activations of an interaction and is tolerant of failures of processes that are ready to participate in an interaction. The message complexity of the algorithm is shown to compare favorably with that of similar interaction coordination algorithms.
The algorithm is suitably motivated, and the authors present it clearly. They show how the algorithm can be extended to an environment where processes are dynamically created and destroyed and how to allow for nested interactions.
This paper is an important contribution to the literature on process interactions. Moreover, it provides a good example of a clearly presented distributed algorithm accompanied by proofs of safety and liveness properties and by an analysis of the algorithm’s message complexity.