Software Disclaimer

Class UML 2.4.1::Variable

Description:

A variable is considered a connectable element.Variables are elements for passing data between actions indirectly. A local variable stores values shared by the actions within a structured activity group but not accessible outside it. The output of an action may be written to a variable and read for the input to a subsequent action, which is effectively an indirect data flow path. Because there is no predefined relationship between actions that read and write variables, these actions must be sequenced by control flows to prevent race conditions that may occur between actions that read or write the same variable.

Direct Superclasses: MultiplicityElement, ConnectableElement

Direct Subclasses:

Class Precedence List: Variable, MultiplicityElement, ConnectableElement, TypedElement, NamedElement, ParameterableElement, Element

Properties:

activityScope : Activity (0 1); -- source Variable
scope : StructuredActivityNode (0 1); -- source Variable
isOrdered : Boolean (1 1); -- source MultiplicityElement
isUnique : Boolean (1 1); -- source MultiplicityElement
lower : Integer (0 1); -- source MultiplicityElement
lowerValue : ValueSpecification (0 1); -- source MultiplicityElement
upper : UnlimitedNatural (0 1); -- source MultiplicityElement
upperValue : ValueSpecification (0 1); -- source MultiplicityElement
end : ConnectorEnd (0 *); -- source ConnectableElement
templateParameter : ConnectableElementTemplateParameter (0 1); -- source ConnectableElement
type : Type (0 1); -- source TypedElement
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
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement

The formal template parameter that owns this element.
Subsets: Element.owner, ParameterableElement.templateParameter
Opposite: TemplateParameter.ownedParameteredElement

ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: owned() : Boolean;
Description: A variable is owned by a StructuredNode or Activity, but not both.
Expression: true

Operations:

Signature: isAccessibleBy(a : Action; ) : Boolean;
Description: The isAccessibleBy() operation is not defined in standard UML. Implementations should define it to specify which actions can access a variable.
Expression: result = true



Send questions or comments to [email protected].