Class UML 2.5::LoopNode
Description:
A LoopNode is a StructuredActivityNode that represents an iterative loop
with setup, test, and body sections.
Direct Superclasses: StructuredActivityNodeDirect Subclasses: Class Precedence List: LoopNode,
StructuredActivityNode,
Namespace,
ActivityGroup,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
bodyOutput :
OutputPin (0 *); -- source
LoopNode bodyPart :
ExecutableNode (0 *); -- source
LoopNode decider :
OutputPin (1 1); -- source
LoopNode isTestedFirst : Boolean (1 1); -- source
LoopNode loopVariable :
OutputPin (0 *); -- source
LoopNodeA list of OutputPins that hold the values of the loop variables during
an execution of the loop. When the test fails, the values are moved to
the result OutputPins of the loop.
{
composite,
ordered}
Subsets: Element.ownedElement
loopVariableInput :
InputPin (0 *); -- source
LoopNode result :
OutputPin (0 *); -- source
LoopNode setupPart :
ExecutableNode (0 *); -- source
LoopNode test :
ExecutableNode (1 *); -- source
LoopNode activity :
Activity (0 1); -- source
StructuredActivityNode edge :
ActivityEdge (0 *); -- source
StructuredActivityNode mustIsolate : Boolean (1 1); -- source
StructuredActivityNode node :
ActivityNode (0 *); -- source
StructuredActivityNode variable :
Variable (0 *); -- source
StructuredActivityNode elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
NamespaceReferences the PackageableElements that are members of this Namespace as
a result of either PackageImports or ElementImports.
{
readonly,
derived}
Subsets: Namespace.member
member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace containedEdge :
ActivityEdge (0 *); -- source
ActivityGroup containedNode :
ActivityNode (0 *); -- source
ActivityGroup subgroup :
ActivityGroup (0 *); -- source
ActivityGroup superGroup :
ActivityGroup (0 1); -- source
ActivityGroup 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 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
NamedElementSpecifies the Namespace that owns the NamedElement.
{
readonly}
Derived union with sources: ()
Subsets: Element.owner
Opposite: Namespace.ownedMember
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:
No additional constraints.
Operations:
Signature: sourceNodes() : ActivityNode;
Description: Return the loopVariable OutputPins in addition to other source nodes for
the LoopNode as a StructuredActivityNode.
Expression: result = (self.StructuredActivityNode::sourceNodes()->union(loopVariable))
Signature: allActions() : Action;
Description: Return only this LoopNode. This prevents Actions within the LoopNode from
having their OutputPins used as bodyOutputs or decider Pins in containing
LoopNodes or ConditionalNodes.
Expression: result = (self->asSet())
Send questions or comments to
[email protected].