This paper argues for an alternative way of designing coordination models for parallel and distributed environments based on a complete symmetry between and decoupling of producers and consumers, as well as a clear distinction between the computational and the coordination/communication work performed by each process. The novel idea is to allow both producer and consumer processes to communicate with each other in a fashion that does not dictate any one of them to have specific knowledge about the rest of the processes involved in a coordinated activity. Furthermore, the model is inherently control-driven where communicating processes observe state changes and react to the presence of events and where the main communication mechanism is limited broadcasting (as opposed to either point-to-point or unrestricted broadcasting communication). Although a direct realisation of this model in terms of a concrete coordination language does already exist, we argue that the underlying principles c...
George A. Papadopoulos, Farhad Arbab