Terminating the simulator
The CIF simulator can terminate for various reasons. This page explains each of them, as well as some other information related to termination of the simulator.
If initialization of the specification fails, the simulation will terminate immediately.
If simulation results in deadlock, no more transitions are possible, and the simulation will terminate.
Simulation does not immediately terminate when deadlock occurs, if an interactive input mode is used and history is enabled. Instead, the user is asked whether to terminate the simulation, undo one or more transitions, or reset the simulation.
Simulation end time
Using the Simulation end time option (Simulator category), the end time of the simulation can be configured. By setting a simulation end time, you ensure that when the value of variable
time reaches that value, the simulation terminates.
By default the simulation end time is set to 'infinite', which means that simulation termination is not limited by a simulation end time. Settings a simulation end time also limits the maximum duration of a time transition.
Simulation does not immediately terminate when the configured end time is reached, if an interactive input mode is used and history is enabled. Instead, the user is asked whether to terminate the simulation, undo one or more transitions, or reset the simulation.
End of trace file
If the trace input mode is used, and no more commands are available in the trace file, the simulation will terminate immediately.
The user can manually request termination of the simulation in several ways.
Termination requests have no effect while the simulator interactively asks for input from the console. However, once input is provided via the console and Enter is pressed, the termination request will be processed.
Termination requests issued between intermediate frames are delayed until the next intermediate frame.
Interactive console input
Termination of the simulation can be requested, when using the interactive console input mode, by typing
q and pressing Enter, whenever the simulator interactively asks for input via the console.
Interactive GUI input
Termination of the simulation can be requested, when using the interactive interactive GUI input mode, by closing the GUI of the interactive GUI input component, when the simulator asks for input via that GUI, or by clicking the console termination button.
The Applications view has several termination features that may terminate any application, including the CIF simulator. See the documentation for that view, for details.
Console termination button
Simulation can be terminated at any time, by using the Terminate button (), located at the upper right corner of the console.
Note however that if the console does not have the focus, this button may not be visible. If the button is not visible, click somewhere in the console to make the button appear. If even then the button is still not available, it may still appear if you Maximize the console. Due to these issues, use of the termination features of the Applications view is recommended over using the Terminate button of the console. See the documentation for that view, for details.
Closing last real-time visualizer
If the last remaining real-time output component (visualizer) is closed by the user, the simulator will be asked to terminate as soon as possible.
When simulating within Eclipse, all visualizers remain open, after the simulation has terminated. This allows you to observe the final state of the simulation, before manually closing the visualizers.
When simulating on the command line (outside of Eclipse), termination of the simulator means that the visualizers are also closed. To allow you to observe the final state of the simulation, you are asked to confirm termination of the simulator, and therefore closing of the visualizers, by pressing Enter at the console.
By default, you are only asked to confirm termination of the simulator when simulating on the command line (outside of Eclipse), at least one visualizer is visible at the end of the simulation, simulation did not result in a runtime error, and test mode is disabled. The Ask to confirm simulator termination option (Simulator category) can be used to configure whether the simulator asks the user to confirm termination of the simulator, terminate automatically, or decides by itself whether to ask the user for confirmation or terminate automatically. The latter (letting the simulator decide by itself) is the default.