19.3. Action

An action specifies an executable statement and is an abstraction of a computational procedure that can change the state of the model. In the UML metamodel it is a child of Model Since in the metamodel an ActionSequence is itself an Action that is an aggregation of other actions (i.e. the "composite" pattern), an ActionSequence may be used anywhere an action may be.

There are a number of different types of action that are children of action within the UML metamodel.

An action is represented on the diagram by the text of its expression.

19.3.1. Action Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 19.3.2, “Action Property Toolbar” and Section 19.3.3, “Property Fields For Action” below.

Documentation

Standard tab.

Source

Standard tab, containing the expression for the action.

[Note]Note

In the fullness of time this tab will contain code to implement the action. 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, Action has the following standard tagged value defined.

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

    [Note]Note

    Derived actions 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.3.2. Action Property Toolbar

Go up

Navigate up through the hierarchical structure.

Delete

This deletes the Action from the model

19.3.3. Property Fields For Action

Name

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

Expression

Text box. The expression that defines the action.

[Caution]Caution

The V0.14 release of ArgoUML only partially implements actions. As a practical convention it is suggested that call actions are shown as the name of the operation generating the action with any arguments in parentheses and that send actions are shown as the name of the signal generating the action with any arguments in parentheses. Return actions should be shown as the expression for the value they return, or empty otherwise. Create and destroy actions should shown as create(<target>) and destroy(<target>). Terminate action should be shown as terminate.

Language

Text box. This is not part of standard UML, but in the partial implementation of actions currently available in UML it may be useful to indicate that the expression is written in a particular programming language.