Carleton University
Technical Report TR-190
April 1991
Coordinators: A Mechanism for Monitoring and Controlling Interactions Between Groups of Objects
Abstract
Coordinators are mechanisms for explicitly specifying the important message traffic between groups of interacting objects and subsequently monitoring, intercepting, and massaging this message traffic to ensure proper communication. In general, they are useful in applications that require monitoring, statistics gathering, and coordination. Nevertheless, they were designed primarily to solve some outstanding problems in user-interface classes that hinder reusability.
Coordinators provide an explicit description of the important message traffic enabling users to quickly understand the important interaction messages. It replaces the change/update mechanism in the model-viewcontroller paradigm with one that makes the change messages more explicit. It permits arbitrary models to be plugged-in without having to instrument them with “self changed:” messages. It also permits new interaction structures to be constructed out of simpler building blocks and makes the building blocks more reusable. For example, it would permit components of complex windows like browsers to be reused in application specific browsers without having to duplicate the inherent functionality.