Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Tags and keywords Topic level ESSENTIAL UML keywords Activity Activity Diagram MergeNode DecisionNode Slide kind UML Activity Diagram Click on the image to view it full size Up next AND with ForkNode and JoinNode Notes Snippets (quotes/extracts) [UML-2.5.1] A DecisionNode is a ControlNode that chooses between outgoing ActivityEdges for the routing of tokens. [UML-2.5.1] 15.3.3.6 Decision Nodes - A DecisionNode is a ControlNode that chooses between outgoing flows. [UML-2.5.1] A DecisionNode shall have at least one and at most two incoming ActivityEdges, and at least one outgoing ActivityEdge. [UML-2.5.1] If it has two incoming edges, then one shall be identified as the decisionInputFlow, the other being called the primary incoming edge. If the DecisionNode has only one incoming edge, then it is the primary incoming edge. [UML-2.5.1] A DecisionNode accepts tokens on its primary incoming edge and offers them to all its outgoing edges. However, each token offered on the primary incoming edge shall traverse at most one outgoing edge. Tokens are not duplicated. [UML-2.5.1] DecisionNode::edges The ActivityEdges incoming to and outgoing from a DecisionNode, other than the decisionInputFlow (if any), must be either all ObjectFlows or all ControlFlows. [UML-2.5.1] DecisionNode::incoming_outgoing_edges A DecisionNode has one or two incoming ActivityEdges and at least one outgoing ActivityEdge. [UML-2.5.1] a predefined guard “else” (represented as an Expression with “else” as its operator and no operands) may be used for at most one outgoing edge. This guard evaluates to true only if the token is not accepted by any other outgoing edge from the DecisionNode [UML-2.5.1] A MergeNode is a control node that brings together multiple flows without synchronization. [UML-2.5.1] A MergeNode shall have exactly one outgoing ActivityEdge but may have multiple incoming ActivityEdges. [UML-2.5.1] If the outgoing edge of a MergeNode is a ControlFlow, then all incoming edges must be ControlFlows, and, if the outgoing edge is an ObjectFlow, then all incoming edges must be ObjectFlows. [UML-2.5.1] All tokens offered on the incoming edges of a MergeNode are offered to the outgoing edge. There is no synchronization of flows or joining of tokens. Visit also Visit also (backlinks) Related slides (includes other tutorials) Related slides (backlinks, includes other tutorials) Flags Book traversal links for OR with DecisionNode and MergeNode Previous Up Next