Previous | UML Classes | Table of Contents | UML Packages | Next |
An activity node is an abstract class for points in the flow of an activity connected by edges.
• NamedElement (from Kernel , Dependencies ) on page 99
• RedefinableElement (from Kernel ) on page 132
An activity node is an abstract class for the steps of an activity. It covers executable nodes, control nodes, and object
nodes.
(BasicActivities ) Nodes can be replaced in generalization and (CompleteActivities ) be contained in interruptible regions.
No additional attributes
Package FundamentalActivities
Issue 8215 - add subsets constraint
• activity : Activity[0..1] Activity containing the node. {Subsets NamedElement ::owner}
• /inGroup : Group [0..*] Groups containing the node. Multiplicity specialized to [0..1] for StructuredActivityGroup .
Package BasicActivities
• incoming : ActivityEdge [0..*] Edges that have the node as target. • outgoing : ActivityEdge [0..*] Edges that have the
node as source.
Issue 8215 -add redefines constraint 9090 -rename as ‘redefinedNode’ and adjust constraint
• redefinedNode : ActivityNode [0..*] Inherited nodes replaced by this node in a specialization of the activity. {Subsets
RedefinableElement ::redefinedElement}
Package IntermediateActivities
Issue 8215 -add subsets constraint
• inPartition : Partition [0..*] Partitions containing the node. {Subsets ActivityNode::inGroup}
Issue 8215 - move inStructuredNode to CompleteActivities package list (remove package header for
StructuredActivities) and add subsets constraints
Package CompleteActivities
• inInterruptibleRegion : InterruptibleActivityRegion [0..*] Interruptible regions containing the node. {Subsets ActivityNode::inGroup}
• inStructuredNode : StructuredActivityNode [0..1] Structured activity node containing the node. {Subsets ActivityNode::inGroup}
[1] Activity nodes can only be owned by activities or groups.
Package StructuredActivities
[1] Activity nodes may be owned by at most one structured node.
Nodes can be named, however, nodes are not required to have unique names within an activity to support multiple invocations
of the same behavior or multiple uses of the same action. See Action, which is a kind of node. The fact that Activity is a
Namespace , inherited through Behavior, does not affect this, because the containment of nodes is through ownedElement, the
general ownership metaassociation for Element that does not imply unique names, rather than ownedMember. Other than naming,
and functionality added by the complete version of activities, an activity node is only a point in an activity at this level
of abstraction. See the children of ActivityNode for additional semantics.
Package BasicActivities
Nodes inherited from more general activities can be replaced. See RedefinableElement for more information on overriding inherited
elements, and Activity for more information on activity generalization. See children of ActivityNode for additional semantics.
The notations for activity nodes are illustrated below. There are three kinds of nodes: action node, object node, and control
node. See these classes for more information.
Action node Object node Control nodes
Figure 12.50 - Activity node notation
This figure illustrates the following kinds of activity node: action nodes (e.g., Receive Order, Fill Order), object nodes
(Invoice), and control nodes (the initial node before Receive Order, the decision node after Receive Order, and the fork node
and Join node around Ship Order, merge node before Close Order, and activity final after Close Order).
[order
[order accepted]
Invoice
Figure 12.51 - Activity node example (where the arrowed lines are only the non-activity node symbols)
Activity nodes are introduced to provide a general class for nodes connected by activity edges.
ActivityNode replaces the use of StateVertex and its children for activity modeling in UML 1.5.