Software Disclaimer

Class UML 2.5::StructuredActivityNode

Description:

A StructuredActivityNode is an Action that is also an ActivityGroup and whose behavior is specified by the ActivityNodes and ActivityEdges it so contains. Unlike other kinds of ActivityGroup, a StructuredActivityNode owns the ActivityNodes and ActivityEdges it contains, and so a node or edge can only be directly contained in one StructuredActivityNode, though StructuredActivityNodes may be nested.

Direct Superclasses: Namespace, ActivityGroup, Action

Direct Subclasses: SequenceNode, LoopNode, ExpansionRegion, ConditionalNode

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

Properties:

activity : Activity (0 1); -- source StructuredActivityNode
edge : ActivityEdge (0 *); -- source StructuredActivityNode
mustIsolate : Boolean (1 1); -- source StructuredActivityNode
node : ActivityNode (0 *); -- source StructuredActivityNode
structuredNodeInput : InputPin (0 *); -- source StructuredActivityNode
structuredNodeOutput : OutputPin (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

If true, the Action can begin a new, concurrent execution, even if there is already another execution of the Action ongoing. If false, the Action cannot begin a new execution until any previous execution has completed.
Default value: FALSE

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

The contexts that this element may be redefined from.
{readonly}
Derived union with sources: ()

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: targetNodes() : ActivityNode;
Description: Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode.
Expression: result = (node->union(output.oclAsType(ActivityNode)->asSet())-> union(node->select(oclIsKindOf(Action)).oclAsType(Action).input)->asSet())

Signature: sourceNodes() : ActivityNode;
Description: Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode.
Expression: result = (node->union(input.oclAsType(ActivityNode)->asSet())-> union(node->select(oclIsKindOf(Action)).oclAsType(Action).output)->asSet())

Signature: containingActivity() : Activity;
Description: The Activity that directly or indirectly contains this StructuredActivityNode (considered as an Action).
Expression: result = (self.Action::containingActivity())

Signature: allOwnedNodes() : ActivityNode;
Description: Returns all the ActivityNodes contained directly or indirectly within this StructuredActivityNode, in addition to the Pins of the StructuredActivityNode.
Expression: result = (self.Action::allOwnedNodes()->union(node)->union(node->select(oclIsKindOf(Action)).oclAsType(Action).allOwnedNodes())->asSet())

Signature: allActions() : Action;
Description: Returns this StructuredActivityNode and all Actions contained in it.
Expression: result = (node->select(oclIsKindOf(Action)).oclAsType(Action).allActions()->including(self)->asSet())



Send questions or comments to [email protected].