Class UML 2.3::AddVariableValueAction
Description:
An add variable value action is a write variable action for adding values
to a variable.
Direct Superclasses: WriteVariableActionDirect Subclasses: Class Precedence List: AddVariableValueAction,
WriteVariableAction,
VariableAction,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png)
insertAt :
InputPin (0 1); -- source
AddVariableValueAction![](/se-interop/image/down-arrow.png)
isReplaceAll : Boolean (1 1); -- source
AddVariableValueAction![](/se-interop/image/down-arrow.png)
value :
InputPin (0 1); -- source
WriteVariableAction![](/se-interop/image/down-arrow.png)
variable :
Variable (1 1); -- source
VariableAction![](/se-interop/image/down-arrow.png)
context :
Classifier (0 1); -- source
Action![](/se-interop/image/down-arrow.png)
input :
InputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png)
isLocallyReentrant : Boolean (1 1); -- source
Action![](/se-interop/image/down-arrow.png)
localPostcondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png)
localPrecondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png)
output :
OutputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png)
handler :
ExceptionHandler (0 *); -- source
ExecutableNode![](/se-interop/image/down-arrow.png)
activity :
Activity (0 1); -- source
ActivityNode![](/se-interop/image/right-arrow.png)
inGroup :
ActivityGroup (0 *); -- source
ActivityNode Groups containing the node.
{
readonly}
Derived union with sources: (inStructuredNode, inPartition, inInterruptibleRegion)
Opposite: ActivityGroup.containedNode
![](/se-interop/image/down-arrow.png)
inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
inPartition :
ActivityPartition (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode![](/se-interop/image/right-arrow.png)
incoming :
ActivityEdge (0 *); -- source
ActivityNode Edges that have the node as target.
Opposite: ActivityEdge.target
![](/se-interop/image/down-arrow.png)
outgoing :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
redefinedNode :
ActivityNode (0 *); -- source
ActivityNode![](/se-interop/image/right-arrow.png)
isLeaf : Boolean (1 1); -- source
RedefinableElement Indicates whether it is possible to further redefine a RedefinableElement.
If the value is true, then it is not possible to further redefine the RedefinableElement.
Note that this property is preserved through package merge operations;
that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false)
must be preserved in the resulting RedefinableElement of a package merge
operation where a RedefinableElement with isLeaf=false is merged with a
matching RedefinableElement with isLeaf=true: the resulting RedefinableElement
will have isLeaf=false. Default value is false.
Default value: FALSE
![](/se-interop/image/down-arrow.png)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/right-arrow.png)
ownedComment :
Comment (0 *); -- source
Element The Comments owned by this element.
{
composite}
Subsets: Element.ownedElement
![](/se-interop/image/down-arrow.png)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: single_input_pin() : Boolean;
Description: Actions adding values to ordered variables must have a single input pin
for the insertion point with type UnlimtedNatural and multiplicity of 1..1,
otherwise the action has no input pin for the insertion point.
The OCL used here is not normative.Editor's notes: No multiplicity, extra close-paren
Expression: let insertAtPins : Collection = self.insertAt in
if self.variable.ordering = #unordered
then insertAtPins->size() = 0
else let insertAtPin : InputPin = insertAt->asSequence()->first() in
insertAtPins->size() = 1
and insertAtPin.type = UnlimitedNatural
and insertAtPin.is(1,1)
endif
Original: let insertAtPins : Collection = self.insertAt in
if self.variable.ordering = #unordered
then insertAtPins->size() = 0
else let insertAtPin : InputPin = insertAt->asSequence()->first() in
insertAtPins->size() = 1
and insertAtPin.type = UnlimitedNatural
and insertAtPin.multiplicity.is(1,1))
endif
Signature: required_value() : Boolean;
Description: A value input pin is required.
Expression: self.value -> notEmpty()
Operations:
No additional operations.
Send questions or comments to
[email protected].