19.5. 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 parts: If the transition is named, then the name is shown alongside the line followed by a colon (:). Then follows (if any) the trigger action (e.g. a Call Event). 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.

19.5.1. Transition Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 19.5.2, “Transition Property Toolbar” and Section 19.5.3, “Property Fields For Transition” below.

Documentation

Standard tab.

Style

Standard tab. The values for the bounds of the transition have no effect, since the position of the transition is defined by its end points.

Source

Standard tab, containing just the name of the transition, any guard and any effect in the same format as the diagram.

[Note]Note

In the fullness of time this tab will contain any code to implement the transition (code for the effect and guard will be associated with their artifacts). This is not implemented in the current release of ArgoUML.

Constraints

Standard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.

Tagged Values

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

  • derived (from the superclass, ModelElement). Values true, meaning the transition is redundant—it can be formally derived from other elements, or false meaning it cannot.

    [Note]Note

    Derived transitions still have their value in analysis and design to introduce useful names or concepts, and in design to avoid re-computation.

    [Note]Note

    The UML Element metaclass from which all other artifacts are derived includes the tagged element documentation which is handled by the documentation tab under ArgoUML

19.5.2. Transition Property Toolbar

Go up

Navigate up in the hierarchy to the parent state machine.

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).

19.5.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.

Stereotype

Drop down selector. Transition has no stereotypes by default in the UML standard.

Navigate Stereotype

icon. If a stereotype has been selected, this will navigate to the stereotype property panel (see Section 15.4, “Stereotype”).

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, if a guard is defined. 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 two entries.

  • 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. This feature is always downlighted in the current version of ArgoUML.