GPGP 2 Project Documentation
Basically, across the agent domain, the agents coordinate with each other by exchanging special kinds of KQMLMessages. Inside the agent, however, things are a little complicated. An agent consists of several beans, and the beans communicate with each other by posting and listening to the events that interest them. The coordination bean interacts with other agent component (such as the problem solver bean) by using a special type of event -- CoordinateEvent.
The coordination bean has some internal structures as well. As we know, coordination activities are understood only when they follow a certain protocol. A coordination bean may implement of one or more coordination protocols. These protocols are specified as finite state machines (FSM), which defines the protocol states and transition rules. As a part of the GPGP2 project, we created a FSM specification tool that generates Java classes according to the FSM specification. FSMs communicate with the coordination bean by exchanging another type of events -- FSMEvent.
A typical session of coordination may include the following sequence: