加入并合并活动图

Aze*_*Jum 6 uml activity-diagram

统一建模语言活动图中的Join和Merge有什么区别.举个例子来更清楚地理解.

Gho*_*ani 9

加入节点(参见参考文献1):

Join节点是一个控制节点,具有多个传入边和一个传出边,用于同步传入的并发流.引入了Join节点以支持活动中的并行性.

合并节点(参见参考文献2):

合并节点是一个控制节点,它将多个传入的备用流汇集在一起 以接受单个传出流.没有加入令牌.不应使用合并来同步并发流.


例如,在下图中:

在fork之后使用决策,来自决策的两个流需要在进入连接之前合并为一个.

为什么?:否则,连接将等待两个流.

所以,Activity 2Activity 3是我们可选的流程,只有其中一个将抵达.而且它们不会同步传入.

然而,在Concurrent_Activity之间决定,并结果Activity 1Activity 2(即合并为一个输出)是同步传入并发流.连接等待执行和继续.

在此输入图像描述

  • TL;DR 和更简单的版本:JOIN 需要完成两个即将到来的活动。MERGE 只是等待传入活动之一完成。JOIN 块,MERGE 没有。 (5认同)