Chapter 4. MICA Runner

MICA Runner is a tool enabling the configuration and execution of multiple agents on a single machine. It can also be configured to provide a blackboard on the current machine. MICA Runner functionality is described in the Users Guide. This section describes the way MICA Runner creates the child processes and interacts with them.

MICA Runner Agent Processes

Figure 4.1. MICA Runner Agent Processes


Figure 4.1 shows how Mica Runner uses child processes for each agent and the components used for communication between processes. The components used for each agent within the MicaRunner process are:

AgentHandler

Each agent is represented within MicaRunner by an AgentHandler. This class contains all the functionality necessary to create, observe and terminate an agent.

AgentSettings

The AgentSettings class is a passive class containing the information necessary to create and configure an agent. It is the primary data source for the AgentHandler class.

InputOutputBridge

The I/O bridge class is a thread that gathers the output from the child process and passes it to the agent handlers output window

ProcessHandlerPane

Each agent handler has a processHandlerPane. This is this small controller pane in the list on the left hand side of the runner.

DebugPane

The debug pane is a modified TextArea that acts as a sink for the I/O bridge

Several classes are also used within the child process. These are

AgentHandler

The child process is initiated using the main() method within the AgentHandler class