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,
ActionDirect Subclasses: SequenceNode,
LoopNode,
ExpansionRegion,
ConditionalNodeClass Precedence List: StructuredActivityNode,
Namespace,
ActivityGroup,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
activity :
Activity (0 1); -- source
StructuredActivityNode edge :
ActivityEdge (0 *); -- source
StructuredActivityNode mustIsolate : Boolean (1 1); -- source
StructuredActivityNodeIf true, then any object used by an Action within the StructuredActivityNode
cannot be accessed by any Action outside the node until the StructuredActivityNode
as a whole completes. Any concurrent Actions that would result in accessing
such objects are required to have their execution deferred until the completion
of the StructuredActivityNode.
Default value: FALSE
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
ActionIf 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 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
ElementConstraints:
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].