Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Action Types

Action elements are extremely versatile. Enterprise Architect supports a wide range of specific Action types that you can use to represent or enact a discrete object, operation or behavior. Actions of most types are depicted as a round-cornered rectangle containing the Action type and Action name, as shown.

A UML ClearStructuralFeatureAction element.

Action Element Notation

Certain types of Action element have their own specific notation; for example:

Action Kind


See also


UML Receive element for Activity model using Sparx Systems Enterprise Architect.

Action Types


UML Set Time Event element for an Activity model in Sparx Systems Enterprise Architect.


UML CallBehavior Action set with a Behavior Call in Sparx Systems Enterprise Architect.

Action Types


UML Call Operation Action used in Activity model ing in Sparx Systems Enterprise Architect.

Class Operations in Diagrams


A UML SendSignal Action used in Activity model in Sparx  Systems Enterprise Architect

Action Types

AcceptEvent Actions

An AcceptEvent Action element has a selectable output result Action Pin assigned to it, and one or more Triggers to denote the type of events accepted by the Action. You define the Triggers on the 'Triggers' tab of the Properties window. In a simulation, an AcceptEvent Action without a Trigger will block the simulation at the Action element.



See also


Type the name of the trigger.


Click on the drop-down arrow and select the type of trigger: Call, Change, Signal or Time:

  • Call - specifies that the event is a CallEvent, which sends a message to the associated object by invoking an operation
  • Change - specifies that the event is a ChangeEvent, which indicates that the transition is the result of a change in value of an attribute
  • Signal - specifies that the event is a SignalEvent, which corresponds to the receipt of an asynchronous signal instance
  • Time - corresponds to a TimeEvent; which specifies a moment in time

Code generation for StateMachines currently supports Change and Time trigger events only, and expects a specification value.

In simulation, each Trigger should have a Signal. The result will be the Accept signal.


Specify the event instigating the Transition.

For an AcceptEventTimer Action, you can type a JavaScript expression in this field evaluating to the number of ticks to wait for.

SendSignal Action & BroadcastSignal Action

A SendSignal Action has an assigned target ActionPin and a Signal. The Signal can have input ActionPins that bind its attribute parameters as arguments. For example:

     ::Sender: sig.binding_To_s1: Integer

In a model simulation, a SendSignal Action will transfer the values of the arguments into the attributes of the created Signal instance. The target ActionPin can have an empty object, to send the Signal into the root of the simulation space. If there is no target ActionPin, simulation will stop at the Action. If the target has an Object, the Signal will be sent to the Object. You must specify the Pin type of the target ActionPin in the classifier of the Object.

A BroadcastSignal Action is similar to a SendSignal Action, except that it does not have a target ActionPin. In a simulation, it always sends its Signal to the root of the simulation data.

You can model the Signal to be sent and the associated arguments to be conveyed, using the 'Signal' tab of the Properties window for the element.




Click on Browse. and select the required signal from the 'Select Signal' dialog.


Click on the drop-down arrow and select the attribute (as previously created in the Signal element) with which the arguments are to be associated.


Type the appropriate value for the attribute.


Click on this button and select the appropriate ActionPins from the 'Select Pin' dialog, to identify the arguments for the Signal.

To assign more than one ActionPin, press the Ctrl key while you select each one.


Click on this button to save your changes.


A CallBehavior Action has a behavior such as an Activity, and a selectable ActionPin result that will put the return value. The CallBehavior Action can also transfer the values of its argument ActionPins into its behavior, if they are bound together. In a simulation, if the Action has no behavior, the simulation is blocked.

SendObject Action

A SendObject Action sends a copy of an Object from the requesting ActionPin to the target ActionPin. In a simulation, the SendObject Action must have both ActionPins, otherwise the simulation is blocked at the Action.

Structural Feature Actions

A StructuralFeature Action acts upon a modeling structural feature, such as a Port, Part or attribute of an Activity or of the classifier of an Object, which you identify within the Action element. Enterprise Architect supports these types of Structural Feature Actions:




Requires an object input ActionPin where the target object will be entered, and a result output ActionPin to hold the read result. If the object Port has no value at run time, the process will pause at the Action.

In your model design, the Port should be connected to the Port of an Object or to an Object Node of an Activity. The properties of the Port or Object Node must be correctly set, and the value Port must be set up to capture the input value when the Action takes effect.

The result ActionPin can be connected to an input consume Port or ActionPin. For example, it can be used at the next WriteStructuralFeature Action as the input value.


Clears the single value of a structural attribute or a structural Port of an Object or an Activity, and sets the value of the structural feature to null.


Resembles AddStructuralFeatureValue, except that the value Port is not necessary.

In a simulation, if the Object's Port has no value at run time, the simulation will pause at the Action.


Similar to ClearStructuralFeature except that it invokes a value ActionPin to input a value and, if that value matches the value of the specified structural feature, it sets the value to null.

If the values do not match, the Action does not clear the structural feature value.


Identical to AddStructuralFeatureValue. In a simulation, the value Port must be set up to capture the input value when the simulation runs the Action.

Set a StructuralFeature




Right-click on the Action element and select 'Advanced | Set Structural Feature: Add'.


On the 'Select Property' dialog (a variant of the 'Select <Item>' dialog), browse or search for the appropriate structural feature, and double-click on it.

The feature name and location displays in the 'structuralFeature' field of the 'Set Structural Feature' dialog.


Click on the OK button to save the setting.


A ReadSelf Action reads its own host object name into its result Port. You must set an output ActionPin for the result.

A UML ReadSelfAction element with OutputPin.

The Action must be within a Class, which is instanced during run time. When a simulation passes the Action, it puts the name of the instance of the Class into the result Port.

ReadSelf is one of a group of Object Actions, with CreateObject and DestroyObject.

Learn more