Prev | Next |
Triggers
Triggers represent signals and events that can activate transitions leaving the current state(s). A trigger might represent a real world signal or event such as:
- A button being pressed
- A message being received
- A pedal being depressed
- A switch being thrown
- A state in a concurrent region being entered or exited
For a trigger to have an effect
- Transitions have to be defined that will fire when the simulation receives the signal / event
- The current simulation state(s) or its parent(s) must have an outgoing transition that accepts that trigger
- The transition activated must be unguarded or have a guard that will evaluate to true
Managing Triggers
Action |
Detail |
See also |
---|---|---|
Creating Triggers |
Triggers are either created as an instance of a Signal element or as an anonymous event. Triggers are connected to Transitions in the 'Transition Properties' dialog as shown here. In this example a Trigger named 'Pushdown' has been defined based on the Signal 'Signal_Pushdown'.
A trigger will appear in the Project tab of the Browser window, as illustrated here:
|
Trigger Transition Simulation Events Window |
Using Triggers |
Triggers are deployed by connecting them to transitions, as in the earlier example, and are used during simulation by 'firing' them into the running simulation as required. When using triggers these points should be taken into account:
|
Re-Signal Triggers Connector Type-Specific Options |
Firing Triggers |
Firing triggers means to signal or activate a trigger within the current simulation. This could activate zero, one or many waiting transitions depending on the state and concurrency of the current simulation. Firing triggers can be achieved in many ways. The most efficient is the 'Waiting Triggers' list. During the course of model simulation, if the simulator reaches an impasse due to required triggers not being available (fired), the list of all possible candidate triggers is shown in the 'Waiting Triggers' list of the Simulation Events window.
Double-clicking a trigger in this list will fire it into the simulation. Other ways to fire a trigger include:
|
Simulation Events Window Connector Type-Specific Options |