20.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 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.

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

[Caution]Caution

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 create(<target>) and destroy(<target>). Terminate action should be shown as terminate.

20.3.1.  Action Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 20.3.2, “ Action Property Toolbar and Section 20.3.3, “ Property Fields For Action below.

Documentation

Standard tab.

Stereotype

Standard tab. In the UML metamodel, Action has no standard stereotypes defined.

Tagged Values

Standard tab. In the UML metamodel, Action has no standard tagged value defined.

20.3.2.  Action Property Toolbar

Go up

Navigate up through the hierarchical structure.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) for the selected action, navigating immediately to the properties tab for that stereotype.

Delete

This deletes the Action from the model

20.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.

Asynchronous

Check box. Indicates if a dispatched Stimulus is asynchronous or not.

Script

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.

Recurrence

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.

Arguments

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.

  • Add.... This brings up a dialog box that allows selecting the one classifier that gets created.