Coordination in LO
Coordinating autonomous, possibly heterogeneous agents requires, at least, a flexible communication
infrastucture allowing interactions between the coordinated entities (called the "participants"), respecting their
autonomy and capable of dealing with their heterogeneity. Shared dataspace communication models, such as
Linda, fulfill these requirements. In such models, for each coordinated entity, a piece of code interfacing the
entity with the shared dataspace must be provided. The advantage of this approach is that each of these
interfaces can be written with whatever languages and systems are most suited to the entity which they
interface. However, a drawback is that the coordination code must be incorporated inside these interfaces, and
none of them, being attached to individual participants, have a global vision of what the coordinated behavior
should be. By analogy with an orchestra, one cannot expect the different players to coordinate their activities
simply by listening to the output of the rest of the group; a conductor, who has a global vision of the expected
coordinated behavior, is needed. In this paper, we present an overview of the work based on the LO
coordination model, aiming at simplifying the design of coordinators, seen as "software conductors".
Coordination in LO is specified declaratively using rules. On the one hand, rules are well suited to the kind of
flexible synchronization constraints required by coordination. On the other hand, they manipulate only high
level properties of the participants, abstracting away the complexity due to their heterogeneity. This complexity
is transfered into the interfaces in charge of publishing the properties of the participants.
Andreoli, Hankin, LeMetayer (Eds): Coordination Programming: mechanisms, models and semantics. Imperial College Press, London, U.K., 1996.
Coordination-in-LO.pdf (223.75 kB)