![]() |
![]() |
![]() |
![]() |
![]() |
Structure of a Simulator
In order to generate a simulator, the SDL to C Compiler is used. The simulators generated using the SDL to C Compiler consist of the following components:
- The Simulated System (the application itself)
- The Environment Process
- The Interactive Monitor System
- The Graphical User Interface (the Simulator UI).
Additional tools support graphical trace when executing a simulator:
The Simulated System
The application is a representation in C code of the implementation of the SDL system. Having generated the application (that is, translated the SDL system into C code), the SDL to C compiler generates a makefile which contains instructions about how to compile and link the application together with the appropriate runtime library. A number of libraries are provided, which allow you to generate an application with the desired behavior. For instance, it is possible to have multiple simulators communicate with each other or communicate with an external application, provided that application has the facility to communicate through the Postmaster.
An executing simulation program contains a number of data objects that represent certain SDL objects in the system that is being simulated. Process instances, signal instances (signals that are waiting in the input port of a process instance), and timer instances (timers that are set, but that have not output their corresponding signal instance) are all examples of such objects. These objects, together with the process instance env:1, which represents the environment of the system, and the monitor system, constitute the simulation program (see Figure 466).
The process instances in the simulated system will execute transitions that consist of actions like tasks, decisions, outputs, procedure calls, and so on, according to the rules of SDL. It is assumed that a transition takes no time and that a signal instance is immediately placed in the input port of the receiver when an output operation occurs.
The Environment Process
The function of the environment process instance, env:1, is to be a receiver of signal instances sent from the system to the environment of the system. The input port of env:1 will always hold the last 20 signals sent to the environment.
The Interactive Monitor System
When generating a simulating application, a monitor system is included, the function of which is to allow the interaction between the application and the user via a command line user interface. The monitor system provides a functionality similar to high-level language debuggers, in which you can, for instance:
- view and modify objects defined in your SDL system,
- set breakpoints,
- control the execution,
- control the logging facilities,
- and so on...
The interactive monitor is the interface between the user and the simulated system. The monitor can be seen as an ordinary process instance, which, when executing a transition, accepts commands from the user.
One group of monitor commands terminate the current transition of the monitor, allow one or several other process instances to execute their transitions, and then start a new transition by the monitor.
The Graphical User Interface
A graphical user interface to the monitor system of a simulator, known as the Simulator UI, is also provided. It is a window-based tool which facilitates the use of the monitor system. It contains graphical components, such as buttons, menus, and scrollable lists, which make it easier to run the simulator in an intuitive way. Also, it is designed to minimize the required amount of user interaction.
Running the graphical user interface requires that the Cbasic SDL to C Compiler is present in your configuration.
When running the Simulator UI, the user has the option to take advantage of the graphical features which are provided, or to enter commands in a command line fashion in the same way as the textual interface.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |