The simulator window is divided into four sections:
- Enabled transitions part is in the upper left corner
showing the transitions that the system can take from the given state.
You can choose the transition to be taken in the step-by-step manual
simulation mode. In the random run simulation mode the transitions
are randomly chosen.
- Watches part is right below Enabled transitions part.
Here you can observe the values of clocks, variables as well as task and
processor utilization factors at any time during simulation.
- The upper right part is displaying the Message Sequence Chart.
Vertical lines correspond to the system process control flows showing their
current states in rounded rectangles. Horizontal arrows are interprocess
synchronizations performed via named channels.
- The lower right part is a Gantt Chart showing the timeline
where you can see the tasks being executed and a processor idle time.
Times Simulator
|
Enabled transitions
When simulating only one execution trace within the tree is explored.
On every step of simulation there can be several enabled transitions,
different ways to go, due to non-determinism. These possibilities
are shown in the Enabled Transitions view.
Enabled transitions
|
The buttons below the list
of enabled transitions are used to control the simulation process
and navigate through the trace being explored. There are two modes of
simulation:
step-by-step simulation and
random run initiated by means
of control buttons
and
correspondingly.
Simulation in
step-by-step mode is performed
manually by selecting one
of the enabled transitions and pressing the
button to make the
next simulation step.
Note: When selecting an enabled transition you can see the next
predicted state of the system at the bottom of the Message Sequence
Chart below the violet bar drawn with brighter colors.
In the
random run mode transitions are
chosen randomly and the simulator
continuously performs one simulation step after another. You can stop
the simulation at any time by pressing the
button.
When you have got a trace you can move along it back and forth in the
Message Sequence Chart using
and
buttons. Being at any
point of the trace you can observe the state of the system together
with the variable values. The
button moves the simulator to
the end of the trace that is exlored so far. It is possible to continue
simulation from any point withing the explored trace. In this case
the tail of this trace will be erased.
If you press the
button the simulator will reset its state to initial as if you have just started it.
Watches
In this section you can observe values of variables and clocks as simulation goes. You
can choose the view to see either only clocks, only variables or both together. There is
also a fourth view with two progress bars in it. The first progress bar is showing the
processor utilization, i.e. how busy is the processor executing your model tasks.
This is an average value taken from the beginning of the current execution trace.
The second bar is showing momentary task queue utilization, i.e. how many task instances
are currently in the queue relative to the queue capacity (sum of
Max # of tasks
parameter for all tasks).
Processor and task queue utilization
|
Message Sequence Chart
Traces in
Times are represented by Message Sequence Chart (MSC),
a UML-like sequence diagram showing concurrent execution of processes and their
intercommunication. The MSC view is quite interactive: you can observe the whole
execution trace, move to particular states in it, hide/show different processes etc.
In the Message Sequence Chart process states are hidden (replaced by a thin vertical line)
if they have the same names as the name of a state since the last state change. To view
the state names of all processes at a certain level of the chart move over the pointer
to this level.
- Menus
If you move the pointer over a process name in MSC header, it will become
high-lighted. Right-click on it and a menu containing the following items
will appear.
- Find location...
Allows you to find the next occurrence of the location name of the
selected process in the whole trace. If location is found the
MSC cursor (violer bar) jumps to it. Otherwise if the end of the trace
is reached you will be asked to continue search from its beginning.
Finding location in MSC trace
|
If one occurrence of the location name was found, you can easily
search for the next/previous one using menues Next 'location'
and Previous 'location'
.
- Hide
Hides the whole process substituting it with the thick red line in
the MSC view. All communications between visible and hidden processes
are still shown as outgoing and incoming into the red vertical line
horizontal arrows. It is also possible to hide several going one after
another processes into one line. Hidden processes can be shown again
using menu
Processes...
.
- Processes...
Opens a window where you can select which processes to show in the
MSC view. Simply check the boxes of the processes you want to make
visible.
Selecting processes visible in MSC
|
You can also access this menu item
right-clicking at any point of the MSC header, which is useful
if all the processes have been accidentially hidden.
Gantt Chart
This section has a form of Gantt Chart visualizing executed tasks, where
the horizontal axis represents time. The top line is associated with the processor
idling, i.e. blue rectanges appearing on it denote periods when the processor
doesn't execute any task. On the lines below the execution of tasks is drawn.
Tasks sorted on a Gantt Chart according to their priorities with the higher priority
task depicted on the top line. The black up-arrow denotes a task release time,
red rectangle corresponds to the task execution and the down-arrow shows that
the task has finished its execution.
Similarly to the MSC view Gantt Chart is also interactive in the sense that
you can move the pointer over the timepoint you are interested in and
jump to it by left-clicking. The scale of the timeline is adjustable.
Use [+] and [-] buttons in the upper left corner to change the scale.
Simulator menus
- File
- Close simulator
This closes the simulator. If you just want to switch view to
the editor, you should use menu
Window->Editor
.
- Run
- Syntax checking
Performs a check of system syntax.
- Simulation
Starts the simulator, as described in the
simulator section.
- Schedulability analysis
Determines whether the system is schedulable.
- Verification
Displays a dialog box where you can enter the system
property to be verified, as described in the
analysis section.
- Code synthesis
Generates source code, as described in the
code synthesis section.
- Compile
Compiles generated code, as described in the
code synthesis section.
- Options
- Configuration...
Shows the configuration dialog box, as desribed in the
configuration section.
- Window
- Editor
Shows the editor window.
- Simulator
This option is not available in the simulator view.
- Response times
Shows the window with the response times resulting from the
schedulability analysis.
- Help
- About...
Displays the dialog box with the version, copyright
notice, and a web address of the tool home Page.