Search code examples
umluml-decision-nodeuml-merge-node

UML a diamond as decision and merge node at the same time


For example an application asks password of user in two different unrelated places in a usecase and use the same algorithm for making decision after receiving answer. Can I use this in Activity diagram to show that informations:

enter image description here

Or the merge node doesn't exit until all flows have arrived at the merge node and I have to create a subactivity diagram and use call activity action?


Solution

  • From the UML 2.5 specs:

    15.7.12 DecisionNode [Class]

    A DecisionNode is a ControlNode that chooses between outgoing ActivityEdges for the routing of tokens.

    and

    15.7.21 MergeNode [Class]

    A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows.

    So both are different element which just look the same. However, as you found out yourself, there's a figure on p. 390:

    enter image description here

    The functionality of a MergeNode and a DecisionNode can be combined by using the same node symbol, as shown in Figure 15.34. At most one of the incoming flows may be annotated as a decisionInputFlow. This notation maps to a model containing a MergeNode with all the incoming edges shown in the diagram and one outgoing edge to a DecisionNode that has all the outgoing edges shown in the diagram.