|
|
Introduction
|
A collection of agents acting on their own will place varying demands on the communication links that they utilize. A model has been developed for the specification and management of system resources to help regulate the demands on the communication links and on "servers" utilized by the agents. The model for resource management starts as an analog to the Java Abstract Windowing Toolkit. The model is presented as a Java interface although the Java interface need not be implemented directly. The PAM implementation implements that model based on PAM's existing generic interfaces for creating agents, specifying their characteristics, and querying their runtime behavior.
|
---|---|
Model |
The Model starts with the Java AWT and mimicks some of the relationships between AWT components, containers, and layout managers. There is a fourth element that is implicit in AWT - the controller (as in the Model-View-Controller design pattern). In AWT the controller creates instances of containers, adds components, and specifies constraints on the components. The controller determines the initial container size. The Java AWT peer layer acts as a proxy controller when it delivers resize commands to the outermost container. One key characteristic of the AWT approach is the ability to nest containers because containers are subclasses of components. This relationship is preserved in the Model developed here. The Model has two interfaces: ResourcePool and ResourceConsumer. The ResourcePool is a subclass of ResourceConsumer. The ResourceConsumer is characterized by:
The ResourcePool inherits these characteristics and may therefore be a consumer in a larger Pool. The ResourcePool has a manager - somewhat analogous to layout managers, but not as readily separable. LayoutManagers are separable from their Containers because the meaning of size and location is the same for all AWT Components. However, ResourcePools in general do not have similar meanings. A byte-per-minute resource is very different in meaning and control than a total-query-count resource. Thus, the ResourcePool's manager functionality remains integrated with the ResourcePool (for now). The Java interfaces that specify these models are: ResourcePool
|
PAM Implementation |
PAM contains a general RMI interface that allows the characteristics of any internal "objects" or "agents" to be specified and queried. The ResourcePool and ResourceConsumer functions may be directly mapped onto this interface with appropriate parameters. PAM ResourcePool and ResourceConsumer mappings
|