Software Disclaimer

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, ActivityGroup

Direct Subclasses: SequenceNode, LoopNode, ExpansionRegion, ConditionalNode

Class Precedence List: StructuredActivityNode, Action, ExecutableNode, ActivityNode, RedefinableElement, Namespace, ActivityGroup, 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
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 ActivityGroup
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

Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility.

ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

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