Startup & Executive

Description

During startup the executive must:
  1. Instantiate all agents: PIMs, DIMs, Jugglers, Daemons
  2. Connect PIMs to Jugglers and Jugglers to DIMs

The executive has lists to hold the PIMs, DIMs, Jugglers, and Daemons. The actual work of instantiation is distributed between the Exec class and the PAMStore class. The Exec invokes the PAMStore to read the configuration file. As the PAMStore does this it calls back into Exec to create new objects and to connect them to each other. Whenever it calls back for the creation of a new object it first builds a Memento that contains that objects state.

PAMStore does not know anything about PIMs, DIMs, or Channels. It knows about Mementos and that generic objects use them. Its work is to parse the configuration file and build mementos. It delegates actual instantiation of the object back to Exec.

The exec does not need much specific knowledge about agents in order to create them. To connect agents it uses some knowledge of objects that implement the Source and Sink interfaces. Source is an interface implemented by PIMs and Jugglers. Sink is an interface implemented by Jugglers and DIMs. The Exec class can connect any Source to any Sink including Jugglers to Jugglers. There is currently no checking for input ouput cycles.

Interfaces

Sink

Sink is an interface implemented by aggregators (Jugglers) and putters (DIMs).

Source

Source is an interface implemented by aggregators (Jugglers) and getters (PIMs).

Memento

Memento is an interface describing an object that contains properties and values. All agents (PIMs, DIMs, Jugglers, and Daemons) use Mementos to contain their state.

 Revised: 13 Mar 1998