● STEP_NUMBER - an integer variable whose value is equal to the number of the current execution step
● CUR_CLOCK – a float variable whose value is equal to the current execution time measured in global Clock Units. This is used to manage the timing of the specification.
● NON-DETERMINISM – a Boolean variable that becomes true when a step execution leads to a non-deterministic situation. It it usually used to trigger a breakpoint. Any meaningful sequence of SCL statements associated with the non-determinism breakpoint must include one of the statements below to resolve the situation:
● CHOOSE - resolves the situation by selecting a specific solution number.
● RANDOM_SOLUTION - randomly selects one of the possible solutions and continues the execution.
If all breakpoints are processed and the non-determinism is still unresolved, the Simulation tool issues a message and automatically moves to interactive mode. The execution can only continue if the situation is resolved with either aRestart
orRebuild
command.
When used as a breakpoint trigger, the Non-determinism variable must be used by itself:
set breakpoint [nondeterminism] do
random_solution ;
end breakpoint;
● TERMINATION – a Boolean variable that becomes true when an execution step leads to a Termination Connector. If all breakpoints are processed and the termination situation is not handled, the Simulation tool automatically moves to interactive mode.
● INFINITE_GO – a Boolean variable that becomes true when the tool exceeds the maximum number of steps allowed without advancing the clock. If all breakpoints are processed and the infinite loop is not handled, the Simulation tool automatically moves to interactive mode to prevent an infinite loop.
When used as a breakpoint trigger, the variableInfinite_Go
must be used by itself:
set breakpoint alpha =>[infinite_go] do
i := 1
end breakpoint
● STATIONARY - a Boolean variable that becomes true if no changes occur in the system status during an execution step. This condition is always true after ago
repeat.
● STEP - a Boolean variable that becomes true when an execution step ends. It is usually used to trigger an operation to be done at every step.