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.