Move Between Levels of Hierarchy Using Supertransitions

What Is a Supertransition?

A supertransition is a transition between different levels in a chart, for example, between a state in a top-level chart and a state in one of its subcharts, or between states residing in different subcharts at the same or different levels in a chart. You can create supertransitions that span any number of levels in your chart, for example, from a state at the top level to a state that resides in a subchart several layers deep in the chart.

The point where a supertransition enters or exits a subchart is called a slit. Slits divide a supertransition into graphical segments. For example, the following chart shows a supertransition leaving the On subchart:

The same supertransition appears inside the subchart as follows:

In this example, supertransition [Heater.On.warm()] goes from NORM in the On subchart to the Off state in the parent chart. Both segments of the supertransition have the same label.

Draw a Supertransition Into a Subchart

Use the following steps to draw a supertransition from an object outside a subchart to an object inside the subchart.

    Note:   You cannot undo the operation of drawing a supertransition. When you perform this operation, the undo and redo buttons are disabled from undoing and redoing any prior operations.

  1. Position your cursor over the border of the state.

    The cursor assumes the crosshairs shape.

  2. Drag the mouse just inside the border of the subchart.

    A supertransition appears, extending from the source state into the subchart with its arrowhead penetrating a slit in the subchart.

    If you are not happy with the initial position of the slit, you can continue to drag the slit around the inside edge of the subchart to the desired location.

  3. Double-click the subchart to open it.

    The tip of the arrowhead of the supertransition appears highlighted in red, entering the subchart.

  4. Position your cursor over the arrowhead.

    The cursor becomes an arrow.

  5. Drag the cursor to the desired position in the subchart.

  6. Release the cursor.

    The supertransition terminates in the desired location.

Draw a Supertransition Out of a Subchart

Use the following steps to draw a supertransition out of a subchart.

  1. Draw an inner transition segment from the source object anywhere just outside the border of the subchart

    A slit appears as shown.

  2. Navigate up to the parent object by selecting View > Navigate > Up to Parent.

    The tip of the arrowhead of the supertransition appears highlighted in red, exiting the subchart.

  3. Position your cursor over the arrowhead.

    The cursor becomes an arrow.

  4. Drag the cursor to the desired position in the chart.

    The parent of the subchart appears.

  5. Release the cursor to complete the connection.

      Note:   If the parent chart is itself a subchart and the terminating object resides at a higher level in the subchart hierarchy, repeat these steps until you reach the desired parent. In this way, you can connect objects separated by any number of layers in the subchart hierarchy.

Label Supertransitions

A supertransition is displayed with multiple resulting transition segments for each layer of containment traversed. For example, if you create a transition between a state outside a subchart and a state inside a subchart of that subchart, you create a supertransition with three segments, each displayed at a different containment level.

You can label any one of the transition segments constituting a supertransition using the same procedure used to label a regular transition (see Label Transitions). The resulting label appears on all the segments that constitute the supertransition. Also, if you change the label on any one of the segments, the change appears on all segments.

Was this topic helpful?