Tracer
![structure](images/tracer-structure.png)
The Execution Environment is part of the JavaABC framework and can (without the use of any other plugins) be used for the execution of models. It provides an API which support the funcions of starting, controlling and observing executions.
In most cases the execution should not be controlled by code that is implemented by the user, but by a comfortable graphical user interface. This user interface is provided by a special JavaABC plugin, the Tracer.
Structure of the Execution Environment
The central class of the Tracer is the ExecutionController. For each execution there is exactly one instance of this class. This instance controls the entire execution and manages all other components of the Tracer. The ExecutionController gets a set of models (one of them is the main model) and all needed SIBs as its input. For the execution the ExecutionController starts one or several ExecutionThreads, which performs the execution. Furthermore there is the ExecutionEnvironment. This is a layer between the ExecutionThreads and the contexts. The ExecutionEnvironment provides a comfortable and simple way of accessing the contexts.