21.2. Action State

An action state represents execution of an atomic action, usually the invocation of an action. Within the UML metamodel, ActionState is a sub-class of SimpleState. It is a specialized simple state that only has an entry action, and with an implicit trigger as soon as that action is completed.

[Caution]Caution

As a consequence any outgoing transitions from an action state should not have explicit triggers defined (ArgoUML will not currently check for this). They may have guards to provide a choice where there is more than one transition.

[Note]Note

Unlike an ordinary state, an internal transition, an exit action and a Do activity are not permitted for action states.

An action state is represented on an activity diagram in ArgoUML as a rectangle with rounded corners containing the name of the action state.

[Caution]Caution

The UML standard expects that the activity diagram should contain the expression associated with the entry action, rather than the action state name (which is shown by the current version on ArgoUML).

21.2.1. Action State Details Tabs

The details tabs that are active for action states are as follows.

ToDoItem

Standard tab.

Properties

See Section 21.2.2, “Action State Property ToolBar” and Section 21.2.3, “Property fields for action state” below.

Documentation

Standard tab.

Style

Standard tab. The values for the bounds of the action state define the bounding box of the action state.

Source

Standard tab that shows the name of the action state.

[Note]Note

In the fullness of time this tab will contain code to implement the action state (code for actions will be associated with the particular actions). 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, ActionState has the following standard tagged values defined.

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

    [Note]Note

    Derived action states 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

21.2.2. Action State Property ToolBar

Go up

Navigate up through the package structure.

Delete

This deletes the action state from the model

[Warning]Warning

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

But beware!. Currently, ArgoUML does not show the Add to Diagram pop-up menu for action states.

21.2.3. Property fields for action state

Name

Text box. The name of the action state. By convention action state 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. Action state 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”).

Namespace

Text box. The namespace in which the action state is defined.

Entry-Action

Text box. Shows the name of the action to be invoked on entry to this action state. According the UML standard, an Action State is obliged to have an Entry-Action.

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

  • New. Add a new Entry action of a certain kind. This menu has the following 7 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 Entry-Action.

Incoming

Text area. Lists the transitions that enter this action state.

Button 1 double-click navigates to the selected entry.

Outgoing

Text area. Lists the transitions that leave this action state.

Button 1 double-click navigates to the selected entry.