Prev Next

Internal Transition

If you need to define an internal Transition in a State, you can do so by creating an external self-Transition connector (where the Source and Target are the same State) and then changing the connector 'kind' property. The self-Transition connector is then removed from the diagram and the internal Transition displays in a compartment inside the State element.

Define an Internal Transition

Step

Action

See also

1

In the Browser window, double-click on the StateMachine diagram containing the State element to open it.

2

On the State element, create a Transition connector issuing from and terminating in the element (a 'self Transition').

In the Diagram Toolbox, select the Transition connector, then click and release on the State element.

3

Right-click on the connector and select the 'Properties' option to display the 'Properties' dialog.

4

Select the 'Constraints' tab and define any guard, effect and trigger for the Transition.

Transition

5

Select the 'General' tab, then select the child tab 'Advanced'. Click on the drop-down arrow in the value field for the kind property and select 'internal'.

6

Click on the OK button. The Transitions display in the same compartment as internal activities (exit/, do/, entry/).

Showing transitions in a UML State element

Notes

  • To view or edit the properties of the internal Transition, double-click on the entry in the compartment within the State
  • If you need multiple internal transitions, including those with the same Trigger but different guards, you create them separately with each Transition having its own guard
  • You can create further transitions and internal triggers by clicking on the State element, displaying the Features window at the 'Internal Triggers' tab, right-clicking on the tab and selecting the 'New Internal Triggers' option

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.4.1, p.583) states:

An internal transition executes without exiting or re-entering the state in which it is defined. This is true even if the state machine is in a nested state within this state.