Class UML 2.3::StructuredActivityNode
Description:
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: ActivityGroup,
Action,
NamespaceDirect Subclasses: SequenceNode,
LoopNode,
ExpansionRegion,
ConditionalNodeClass Precedence List: StructuredActivityNode,
ActivityGroup,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
Namespace,
NamedElement,
ElementProperties:

activity :
Activity (0 1); -- source
StructuredActivityNode
edge :
ActivityEdge (0 *); -- source
StructuredActivityNode Edges immediately contained in the structured node.
{
composite}
Subsets: ActivityGroup.containedEdge
Opposite: ActivityEdge.inStructuredNode

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