Figure 2 shows the internal structure of the current version of ORCA. It is divided into several modules, including a Communications Module that is not shown.
Event Handler accepts all incoming sensor information and (parsed) messages from other agents, including the AUV's users. It is responsible for detecting if the input, together with past input, signals an event. If not, it routes the input appropriately (e.g., to the working memory, in the case of data, or Agenda Manager, in the case of goals). If so, it diagnoses the event, assesses its importance, and selects a response (a goal), which it then sends to Agenda Manager. Agenda Manager is responsible for maintaining ORCA's focus of attention, ensuring that it is always working on an appropriate set of goals for the current problem-solving situation. Schema Applier uses ORCA's library of procedural schemas to achieve the goals on the agenda, as described elsewhere (e.g., Turner, 1994). Context Manager watches the evolving problem-solving situation and decides what the current context is; it does this by building a current contextual schema from its library of contextual schemas, each of which represent one class of situations. The current contextual schema represents both a commitment to what the context is and a repository for a great deal of context-specific problem-solving knowledge the other modules use to guide ORCA's actions.
The multiagent event-handling process shown in Figure 1 does not cleanly fit into any of the modules shown; nor should it, necessarily, as the process of multiagent event handling is quite different than for a single agent. Rather, it will have to be distributed over the pieces of ORCA, with most of it residing in Event Handler. Other pieces of the process are done by Schema Applier and Agenda Manager. For example, both will be involved when actions are necessary to commuicate with other agents to carry out negotiation; both will be involved when event diagnosis requires actions to be taken that impact ORCA's other actions. All the modules will continue to rely on information supplied by Context Manager.