An action is an abstract model element in the UML2 metamodel . It represents an elementary building block for the specification of the behavior of a system.
An action receives input values via input pins and produces output values on output pins . The input and output pins are the hinges on which an action can be combined with other actions, so that the values on the output pins of one action become the values on the input pins of the other action. Behavioral descriptions such as the activity or the interaction orchestrate elementary actions for behavioral specifications.
The UML2 defines a set of elementary actions and divides them into several groups.
Call actions include the action to call an operation on a class ( CallOperationAction ), the action to call the behavior of a class ( CallBehaviorAction ), the actions to send a signal ( SendSignalAction and BroadcastSignalAction ) and the action to send an object ( SendObjectAction ).
Actions to manipulate objects
Actions for manipulating objects include actions to create and destroy an object ( CreateObjectAction or DestroyObjectAction ) and to test the identity of an object ( TestIdentityAction ).
Actions for manipulating structural features
A set of actions is predefined for manipulating structural features . This includes an action to read a structural feature ( ReadStructuralFeatureAction ), to delete the contents of a structural feature ( ClearStructuralFeatureAction ) and to manipulate the contents of a structural feature ( AddStructuralFeatureValueAction and RemoveStructuralFeatureValueAction ).
Actions for manipulating object relationships
The actions for manipulating object relationships ( left ) include an action for creating and deleting an object relationship ( CreateLinkAction or DestroyLinkAction ), an action for reading an object relationship ( ReadLinkAction ), and an action for all object relationships to a specific one Association can be deleted ( ClearAssociationAction ).
Actions on objects
Some actions are provided in UML2 to get information about objects or to trigger the behavior of objects. ReadExtentAction makes all instances of a specific classifier available on the output pin . ReadIsClassifiedObjectAction determines whether an object is a direct or indirect instance of a particular classifier. The ReclassifyObjectAction action is available to make an object an instance of another classifier at runtime . StartClassifierBehaviorAction starts the classifier behavior of an instance.
Actions to Receive Events
The AcceptEventAction action receives an event , AcceptCallAction an event that indicates that an operation has been called.
Actions for generating a value
The ValueSpecificationAction action generates a certain value on an output pin according to a value specification.