7 - Indira Gandhi Centre for Atomic Research
7 - Indira Gandhi Centre for Atomic Research
7 - Indira Gandhi Centre for Atomic Research
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5. Another important component of agent scheduling is the communication protocols<br />
among agents. In order to achieve this coordination, the agents might have to<br />
interact and exchange in<strong>for</strong>mation; there<strong>for</strong>e they need to communicate by sending<br />
messages. KQML (Knowledge Query and Manipulation Language) is a good<br />
example of communication language.<br />
3. Coordination Models<br />
The design and management of a multi-agent system may take advantage from the<br />
choice and exploitation of a coordination model, that is, a high-level interaction<br />
abstraction aimed at globally ruling the behavior of the different system components.<br />
As said earlier. a coordination model provides a <strong>for</strong>mal framework in which the<br />
interaction of software agents can be expressed and their activities, distribution,<br />
synchronization etc. is maintained. It is comprised of three elements viz., coordinables,<br />
coordination media and coordination laws. The coordinables are the components of the<br />
multi agent systems, i.e. they are the agents themselves, whereas coordination media<br />
provides abstraction <strong>for</strong> interactions among coordinables and control them. The<br />
coordination laws define how the events are handled when agents interact. The laws can<br />
be defined in terms of a communication language, that is a syntax used to express and<br />
exchange data structures, and a coordination language, that is a set of interaction<br />
primitives and their semantics. Coordination models can be classified as control-driven or<br />
data driven ones.<br />
3.1. Control-driven Coordination Model<br />
In a control-driven coordination model agents typically interact with the external world by<br />
generating and handling events on well defined input output ports. These interactions are<br />
taken care by coordination media. The coordination laws establish how events and state<br />
changes can occur and how they should propagate. There<strong>for</strong>e, the coordination media<br />
handle the topology of the interaction space among agents, without paying any attention to<br />
the data possibly exchanged between processes. From the viewpoint of the coordination<br />
media, the only data of interest are the communication events.<br />
3.2. Data-driven Coordination Model<br />
In data-driven coordination models coordinables interact with the external world by<br />
exchanging data structures through the coordination media. These data structures basically<br />
store data, which is shared among different agents. The coordination laws establish how<br />
data structures should be represented and how they should be stored and extracted from<br />
the data spaces. Unlike control-driven coordination models, the coordination media has no<br />
perception of state changes of the coordinables and does not provide <strong>for</strong> any virtual<br />
connection among coordinables. Different application contexts exhibit different needs<br />
with respect to coordination, and the choice of a coordination model is likely to have a<br />
great impact in the design of multi-component applications. In general, control-driven<br />
coordination models suits better those systems made up of a well-defined number of<br />
entities in which the flow of control and the dependencies between the components have<br />
to be regulated, and in which the data exchanged in not so important. These include, <strong>for</strong><br />
example, computational intensive parallel applications, distributed management systems,<br />
definition of complex software architectures. Instead, data-driven model, seems to better<br />
213