For several TCAD tasks, external clients
are used by the VISTA/SFC environment to generate the desired results.
For the internal representations of external clients
agents
are provided that take care of all data and message handling required
for smooth operation.
For example,
when an optimization task is initiated by the framework,
an agent is assigned to the optimizer tool, which establishes a connection
between the task-level EVE interface
and the optimizer.
The agent is represented by a VLISP object and can be subclassed to
implement encapsulations of other external clients.
It takes care of
passing messages between the optimizer and the environment
by means of a callback-based, asynchronous connection,
allowing for the execution of multiple optimization tasks at the same
time.
Figure 3.3 shows the interaction between the optimizer
agent and the EVE interface on the one hand, and between the agent and
the external optimizer on the other hand.
Figure 3.3:
Communication between EVE interface, optimizer agent,
and external optimizer.
The environment passes a description of the model to the optimizer, defining the model's type and its control and response variables. During the course of the optimization, the optimizer requests the evaluation of the model for a certain set of control values by sending a message to the environment. Messages between the optimizer and the agent are transmitted using VISTA's operating-system independent standard-input/standard-output redirection capabilities. The details of this connection, however, are encapsulated by the agent, and other means of communication like TCP/IP sockets can be supported as well. Depending on the internal operation of the optimizer, evaluation requests may be sent synchronously, or a number of requests may be sent at a time. Upon termination of the optimization, the result found and diagnostic information are passed back to the environment.