20.8.  Transition

A transition is a directed relation between a source state (any kind, e.g. composite state) and a destination state (any kind, e.g. composite state). Within the UML metamodel, Transition is a sub-class of ModelElement.

A transition is represented on a statechart diagram in ArgoUML as a line with arrow connecting the source to the destination state. Next to this line is a string containing the following three parts: The trigger event (e.g. a Call Event), which may have parameters between brackets (). Next follows (if any) the guard in square brackets ([]). Finally, if there is an effect (e.g. Call Action) defined, a slash ( /) followed by the expression of the action.

20.8.1.  Transition Details Tabs

The details tabs that are active for transitions are as follows.

ToDoItem

Standard tab.

Properties

See Section 20.8.2, “ Transition Property Toolbar and Section 20.8.3, “ Property Fields For Transition below.

Documentation

Standard tab.

Presentation

Standard tab.

[Note]Note

The values in the "bounds" field of the transition are not editable, since they are determined by the properties of the endpoints of the line.

Stereotype

Standard tab. In the UML metamodel, Transition has no stereotypes defined by default.

Tagged Values

Standard tab. In the UML metamodel, Transition has no standard tagged values defined.

Checklist

Standard tab for a transition.

20.8.2.  Transition Property Toolbar

Go up

Navigate up in the hierarchy to the parent state machine.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) for the selected transition, navigating immediately to the properties tab for that stereotype.

Delete

This deletes the transition from the model.

[Warning]Warning

This is a deletion from the model not just the diagram. To delete a transition from the diagram, but keep it within the model, use the main menu Remove From Diagram (or press the Delete key).

20.8.3.  Property Fields For Transition

Name

Text box. The name of the transition. By convention transition names start with a lower case letter and use bumpy caps to divide words within the name.

[Note]Note

ArgoUML does not enforce this naming convention.

StateMachine

Text box. Shows the name of the parent StateMachine for the transition.

Button 1 double-click navigates to the StateMachine shown.

State

Text box. Shows the name of the parent State in case of an internal transition.

Button 1 double-click navigates to the State shown.

Source

Text box. Shows the source state for the transition.

Button 1 double-click navigates to the selected entry.

Target

Text box. Shows the target state for the transition.

Button 1 double-click navigates to the selected entry.

Trigger

Text box. Shows the trigger event (if any) which invokes this transition.

[Note]Note

UML does not require there to be a trigger, e.g. when a guard is defined. In this case, the transition is taken immediately if the guard is true.

Button 1 double-click navigates to the selected entry, button 2 gives a pop up menu with three entries.

  • Select - Add.... This Add an existing trigger event. A sub-menu opens with 4 choices: Call Event, Change Event, Signal Event, Time Event.

  • New. Add a new trigger event. A sub-menu opens with 4 choices: Call Event, Change Event, Signal Event, Time Event.

  • Delete From Model. Delete the trigger event from the model. This feature is always downlighted in the current version of ArgoUML.

Guard

Text box. Shows the name of a guard (if any). The expression of a guard must be true before this transition can be taken.

Button 1 double-click navigates to the selected entry, button 2 gives a pop up menu with one entry.

  • New. Add a new guard.

Effect

Text box. Shows the action (if any) to be invoked as this transition is taken.

Button 1 double-click navigates to the selected action, button 2 gives a pop up menu with two entries.

  • New. Add a new Effect (action) of a certain kind. This menu has the following submenus to select the kind of action: Call Action, Create Action, Destroy Action, Return Action, Send Action, Terminate Action, Uninterpreted Action.

  • Delete From Model. Delete the selected action from the model.