Previous UML Classes Table of Contents UML Packages Next


11.3.42 RemoveVariableValueAction

StructuredActions


   RemoveVariableValueAction is a write variable action that removes values from variables.

*Generalizations

   

    WriteVariableAction (from StructuredActions ) on page 305

*Description

   One value is removed from the set of possible variable values.

*Attributes

   • isRemoveDuplicates : Boolean = false [1..1] Specifies whether to remove duplicates of the value in non-unique variables.

*Associations

Issue 8186 -add subsets constraint

• removeAt : InputPin [0..1] Specifies the position of an existing value to remove in ordered non-unique variables. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited. {Subsets Action::input}

*Constraints

   [1] Actions removing a value from ordered non-unique variables must have a single removeAt input pin if isRemoveDuplicates is false. It must be of type UnlimitedNatural with multiplicity of 1..1, otherwise the action has no removeAt input pin.

*Semantics

   Variables are potentially multi-valued. Removing a value succeeds even when it violates the minimum multiplicity. Removing a value that does not exist has no effect. Variables are potentially multi-valued and ordered, and may support duplicates, so the action supports specification of removal points for new values. It also supports the removal of all duplicate values.

   Values of a variable may be duplicate in non-unique variables. The isRemoveDuplicates attribute indicates whether to remove all duplicates of the specified value. The removeAt input pin is required if isRemoveDuplicates is false in ordered non-unique variables. It indicates the position of an existing value to remove. It must be a positive integer less than or equal to the current number of values. The semantics is undefined for zero, for an integer greater than the number of existing values and for unlimited.

*Notation

   No specific notation

   RemoveVariableValueAction is introduced to remove variable values.

*Changes from previous UML

   RemoveVariableValueAction is unchanged from UML 1.5.