Software Disclaimer

Class UML 2.5::LoopNode

Description:

A LoopNode is a StructuredActivityNode that represents an iterative loop with setup, test, and body sections.

Direct Superclasses: StructuredActivityNode

Direct Subclasses:

Class Precedence List: LoopNode, StructuredActivityNode, Namespace, ActivityGroup, Action, ExecutableNode, ActivityNode, RedefinableElement, NamedElement, Element

Properties:

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 LoopNode

A 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 Namespace
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

A Constraint that must be satisfied when execution of the Action is started.
{composite}
Subsets: Element.ownedElement

output : OutputPin (0 *); -- source Action
handler : ExceptionHandler (0 *); -- source ExecutableNode
inGroup : ActivityGroup (0 *); -- source ActivityNode

ActivityGroups containing the ActivityNode.
{readonly}
Derived union with sources: (inStructuredNode, inPartition, inInterruptibleRegion)
Opposite: ActivityGroup.containedNode

inInterruptibleRegion : InterruptibleActivityRegion (0 *); -- source ActivityNode
inPartition : ActivityPartition (0 *); -- source ActivityNode
inStructuredNode : StructuredActivityNode (0 1); -- source ActivityNode
incoming : ActivityEdge (0 *); -- source ActivityNode

ActivityEdges that have the ActivityNode as their target.
Opposite: ActivityEdge.target

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 Element

Constraints:

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].