Batch Mode Simulation : The Simulation Control Program : Predefined Variables : List of Predefined Variables

List of Predefined Variables
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 a Restart or Rebuild 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 variable Infinite_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 a go 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.