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:

insertAt :
InputPin (0 1); -- source
AddVariableValueAction
isReplaceAll : Boolean (1 1); -- source
AddVariableValueAction
value :
InputPin (0 1); -- source
WriteVariableAction
variable :
Variable (1 1); -- source
VariableAction
context :
Classifier (0 1); -- source
Action
input :
InputPin (0 *); -- source
Action
isLocallyReentrant : Boolean (1 1); -- source
Action
localPostcondition :
Constraint (0 *); -- source
Action
localPrecondition :
Constraint (0 *); -- source
Action
output :
OutputPin (0 *); -- source
Action
handler :
ExceptionHandler (0 *); -- source
ExecutableNode
activity :
Activity (0 1); -- source
ActivityNode
inGroup :
ActivityGroup (0 *); -- source
ActivityNode
inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode
inPartition :
ActivityPartition (0 *); -- source
ActivityNode
inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode
incoming :
ActivityEdge (0 *); -- source
ActivityNode
outgoing :
ActivityEdge (0 *); -- source
ActivityNode
redefinedNode :
ActivityNode (0 *); -- source
ActivityNode
isLeaf : Boolean (1 1); -- source
RedefinableElement
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement
clientDependency :
Dependency (0 *); -- source
NamedElement
name : String (0 1); -- source
NamedElement
nameExpression :
StringExpression (0 1); -- source
NamedElement
namespace :
Namespace (0 1); -- source
NamedElement
qualifiedName : String (0 1); -- source
NamedElement
visibility :
VisibilityKind (0 1); -- source
NamedElement
ownedComment :
Comment (0 *); -- source
Element
ownedElement :
Element (0 *); -- source
Element
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].