Class UML 2.4.1::StructuredActivityNode
Description:
A structured activity node is an executable activity node that may have
an expansion into subordinate nodes as an activity group. The subordinate
nodes must belong to only one structured activity node, although they may
be nested.Because of the concurrent nature of the execution of actions
within and across activities, it can be difficult to guarantee the consistent
access and modification of object memory. In order to avoid race conditions
or other concurrency-related problems, it is sometimes necessary to isolate
the effects of a group of actions from the effects of actions outside the
group. This may be indicated by setting the mustIsolate attribute to true
on a structured activity node. If a structured activity node is "isolated,"
then any object used by an action within the node cannot be accessed by
any action outside the node until the structured activity node 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
node.
Direct Superclasses: Action,
Namespace,
ActivityGroupDirect Subclasses: SequenceNode,
LoopNode,
ExpansionRegion,
ConditionalNodeClass Precedence List: StructuredActivityNode,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
Namespace,
ActivityGroup,
NamedElement,
ElementProperties:
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 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 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
ActivityGroupGroups immediately contained in the group.
{
composite,
readonly}
Derived union with sources: ()
Subsets: Element.ownedElement
Opposite: ActivityGroup.superGroup
superGroup :
ActivityGroup (0 1); -- source
ActivityGroup 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:
Signature: output_pin_edges() : Boolean;
Description: The outgoing edges of the output pins of a StructuredActivityNode must
have targets that are not within the StructuredActivityNode.
Expression: true
Signature: input_pin_edges() : Boolean;
Description: The incoming edges of the input pins of a StructuredActivityNode must have
sources that are not within the StructuredActivityNode.
Expression: true
Signature: edges() : Boolean;
Description: The edges owned by a structured node must have source and target nodes
in the structured node, and vice versa.
Expression: true
Operations:
No additional operations.
Send questions or comments to
[email protected].