If you need to define the logical movement from one State to another in a State Machine diagram, you can drag a Transition connector from the Toolbox onto the diagram. You control the Transition through the connector Properties dialog.



See also


Type in the expression to be evaluated after an Event is dispatched but before the corresponding Transition is triggered.

If the guard is true at that time, the Transition is enabled; otherwise, it is disabled.



Effect is a Behavior

Convert the Effect field from a free-text field to the definition of a specific Activity or behavior.

The Select <Item> dialog displays, prompting you to select the Activity or behavior element from the model.


Select <Item> Dialog



·Type a description of the effect of the Transition, or
·If you have selected the Effect is a Behavior check box, select an Activity or behavior to be performed during the Transition (to change this subsequently, click on the (  ...  )  button to redisplay the Select <Item> dialog)




Specify the name of the trigger; either:

·Type the name, or
·Select an existing trigger in the model from the Select <Item> dialog, which you display by clicking on the (  ...  ) button



Specify the type of trigger:

·Call - specifies that the event is a CallEvent, which sends a message to the associated object by invoking an operation
·Change - specifies that the event is a ChangeEvent, which indicates that the transition is the result of a change in value of an attribute
·Signal - specifies that the event is a SignalEvent, which corresponds to the receipt of an asynchronous signal instance
·Time - corresponds to a TimeEvent; which specifies a moment in time

Code generation for State Machines expects a specification value for any of the four types.




Specify the event instigating the Transition; either:

·Type the event (time or change), or
·Select an existing specification in the model using the Select <Item> dialog, which you display by clicking on the (  ...  ) button



Clear the fields ready to begin defining a new trigger.




Save the newly created or edited trigger.




Remove the selected trigger from the list.



<trigger list>

List the existing triggers, which might or might not have names and types, and which can include triggers created in older models.




·Fork and Join segments can have neither triggers nor guards
·You can identify hidden triggers and locate triggers in the Project Browser, using the Find Triggers Associated option on the Transition connector context menu; if one trigger exists for the Transition it is immediately highlighted in the Project Browser, if more than one trigger exists the Element Usage dialog displays - select the required trigger and click on the Open button to highlight the trigger in the Project Browser
·You can define a self-Transition as an Internal Transition, and represent the connector and its properties in a compartment of the State element


Toolbox icon


Learn more

OMG UML Specification

The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 568) states:

A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type.