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.
CreateAction
. Associated with a
classifier, this action creates an instance of that
classifier.
CallAction
. Associated with an
operation of a class, this action calls the given
operation.
AssignmentAction
.
An action used to assign a new value to a link or an attribute link.
ReturnAction
.
An action used to return a result to an earlier caller.
SendAction
. Associated with a signal,
this action causes the signal to be raised.
TerminateAction
. Causes the invoking
object to self-destruct.
UninterpretedAction
.
An action used to specify language-specific actions
that do not classify under the other types of actions.
DestroyAction
. Destroys the specified
target object.
An action is represented on the diagram by the text of its expression.
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 |
---|---|
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 |
---|---|
Derived actions still have their value in analysis and design to introduce useful names or concepts, and in design to avoid re-computation. |
![]() | Note |
---|---|
The UML |
Go up
Navigate up through the hierarchical structure.
Delete
This deletes the Action from the model
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 |
---|---|
ArgoUML does not enforce this naming convention. |
Expression
Text box. The expression that defines the action.
![]() | 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 |
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.