An Internal Transition allows a State Machine to change its behavior in response to an event without changing its overall state. This type of transition is defined within a State and is triggered by an event. Its effect is to modify the State's behavior or attributes without changing the State itself. Internal Transitions are semantically equivalent to self transitions except that the State is neither exited nor re-entered; thus, the corresponding exit and entry actions are not performed.


The Frothing Milk State has Internal Transitions.

To create an Internal Transition and set an effect


  1. Drag an element (OpaqueBehavior, Activity, Interaction, StateMachine, ProtocolStateMachine, FunctionBehavior) from the Containment Tree onto the State symbol and hold it down until the Tooltip appears (long drag) and drop it.

  2. Select Create Internal Transition and set as effect.



    The new Internal Transition is created for a specific State, and the dragged element is specified as the effect of the newly created Internal Transition.


To create an Internal Transition and set a trigger


  1. Drag an element (Signal, Operation) from the Containment Tree onto the State symbol and hold it down until the Tooltip appears (long drag) and drop it.

  2. Select Create Internal Transition and set as trigger



    The new Internal Transition is created for a specific State, and the dragged element is specified as the trigger of the newly created Internal Transition.

Internal transition with a relative time event is not fully supported. Currently, the transition is fired only once.