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
ModelElement. 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
CallAction. Associated with an
operation, this action calls the given
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 V0.20 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
The details tabs that are active for actions are as follows.
In the UML metamodel,
Action has no standard
Standard tab. In the UML metamodel,
Action has no standard tagged
Navigate up through the hierarchical structure.
This creates a new Stereotype (see Section 16.6, “Stereotype”) for the selected action, navigating immediately to the properties tab for that stereotype.
This deletes the Action from the model
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.
ArgoUML does not enforce this naming convention.
Check box. Indicates if a dispatched Stimulus is asynchronous or not.
Double text box with the expression that defines the action. This field consists of two parts, the first one contains the body (script) of the expression, and the second one contains the particular programming language used to write the expression.
Double Text box. An expression stating how many times the Action should be performed. The field consists of two parts: the first one for the expression, the second one for the language it is written in.
Text box. This is an ordered list with the arguments of the action.
Button 1 double-click on any of the arguments navigates to that argument, button 2 click brings up a pop up menu with two entries.
New. Create a
new argument and navigate to it.
Remove. Deletes the
argument from the model.
Instantiation (only for CreateAction)
Text box. This shows the classifier that gets instantiated by the create-action.
Button 1 double-click on the classifier navigates to that argument, button 2 click brings up a pop up menu with one entry.
This brings up a dialog box that allows
selecting the one classifier that gets created.