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.
ToDoItemStandard tab.
PropertiesSee Section 19.3.2, “Action Property Toolbar” and Section 19.3.3, “Property Fields For Action” below.
DocumentationStandard tab.
SourceStandard 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. | |
ConstraintsStandard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.
Tagged ValuesStandard 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 upNavigate up through the hierarchical structure.
DeleteThis deletes the Action from the model
NameText 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. | |
ExpressionText 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 | |
LanguageText 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.