MiceOnABeam Product Documentation

Modified: 10/27/2011 6:42 PM
Recently changed articles You can subscribe to this wiki article using an RSS feed reader.

Group Transition

Summary

Originating from the border of a Composite State a Group Transition acts as if it had originated from every substate contained within the state's decomposition, and recursively so inside every substate that is also a Composite State.

Graphic

A Group Transition is indicated in the following cases.

  1. Transition Originating from a Composite State's Outside Border: The transition originates from a Composite State's outside border and is not connected within the state's decomposition.
  2. Transition Originating from a Composite State's Inside Border: The transition originates from a Composite State's inside border and is not connected outside the Composite State.

Description

A Group Transition represents an event which is common to all substates of a Composite State. The Group Transition is in effect a short-hand notation. Instead of drawing separate transitions from each substate, each with the same event Trigger and Guard Condition, a single transition can be drawn on the enclosing Composite State. The Group Transition is then interpreted as if it had originated from every substate contained within the decomposition and recursively so inside every substate that is also a Composite State.

We have the following two cases where a Transition is determined to be a Group Transition.

  1. Transition Originating from a Composite State's Outside Border: A transition from the external border of a Composite State, where the transition does not connect to any other component inside the state's decomposition designates a Group Transition. When the transition is triggered all currently-active substates starting from the innermost Simple State are exited, executing their Exit Actions (if any) in turn, including the Exit Action of the originating Composite State.
     
  2. Transition Originating from a Composite State's Inside Border: A transition from the internal border of a Composite State, where the transition does not connect to any other component outside the state designates a Group Transition. When the transition is triggered, all currently-active substates starting from the innermost Simple State are exited, executing their Exit Actions (if any) in turn, but excluding the Exit Action of the originating Composite State.
     

Usage

In the following model we show the state sequence for a running race. There are two Group Transitions, Aborted within the Top state, and StartFault within the Race state.

The runners for a race start off in the Wait state. When they are told to line up at the start line for the race, the script moves to the LinedUp state.  The race sequence begins by moving to the Race Composite State upon receving an OnYourMark event.

Top State

Within the Race state, we start off in the Ready state and move through the states Set and Go upon receiving the corresponding events. The first runner to reach the finish line triggers the Finish event which exits Race and transitions to the Final State.  If at any time within the Race state the Aborted event occurs, Race is exited and the script moves back to the Wait state.

If at any time while within Race the internal Group Transition StartFault occurs, the Race state exits and the script returns to the LinedUp state.  Note that given the StartFault transition is internal, it's transition action occurs before the Race state is exited and it's Exit Action, and before the transition action of the Fault transition within the Top State.

Race State

 

Notes

  • By default a Group Transition applies to all substates of a Composite State. However this can be overridden for a particular state by supplying it's own transition with the same event as that of the Group Transition. For further reading on this, see the section on Transition Conflicts & Priority.

 

Tags:
Home: MiceOnABeam Product Documentation Copyright © 2010-2018 MiceOnABeam Software