Comparison of Event Paradigms

This chapter has explored both the selected events and group-oriented events paradigms. While they are similar in function, each is better suited for different types of applications.

Group-oriented events are very useful for collaborating agents or other closely affiliated agents. They are implemented via the Agent Group abstraction, which requires all of its members to be CollaboratorAgents. (However, the agents are not required to perform collaboration). Group-oriented events are broadcast to all the members of the group. But no knowledge of the membership is required to post or receive a group-oriented event. The Agent Group does not filter group-oriented events. Thus, recipients of these events cannot select the types of events they wish to receive. (However, an object's event handler may ignore any events it does not wish to process). Group-oriented distributed events are delivered to all the members of the group no matter where they are. Hence no events are lost when an agent travels.

Selected events are serviced by the Event Manager. Selected events are useful when the recipients do not necessarily know the sender of the event or the sender does not know all the intended recipients. This paradigm also allows objects to select the types of events they wish to receive. So it avoids the overhead of sending events that an object is not prepared to handle. Selected distributed events are delivered to all the members of the group no matter where they are. Hence no events are lost when an agent travels.