fork/join 节点与 Activity 图中其他节点的令牌行为之间的差异
Difference between behavior of fork/join nodes toward tokens with other nodes of Activity diagrams
与 Thomas Kilian described 一样,Activity 图表节点的正常行为是:
A node becomes active when at all of its incoming InformationFlow connectors
a token has arrived. When the node finalizes it sends single tokens along all its outgoing InformationFlow connectors.
但他还补充说:
There are special nodes like fork and merge which behave a bit different
我知道 "merge" 节点的行为不同,因为它通过接收第一个令牌立即激活并接受几个备用流中的一个。但是 fork/join 节点的行为与具有正常行为的令牌有什么区别?
Merge
- 和 DecisionNode
看起来一样,但是是不同的元素:.
在图表中,您只能通过查看传入和传出 InformationFlow
来区分两者。第一个有多个传入和一个传出,而第二个具有相反的关系。 MergeNode
接受任何传入令牌并将其直接转发到其单个传出 InformationFlow
。所以不像 Action
s 它不会等待所有令牌。相比之下,DecisionNode
只接受一个标记,并让它只传递给它的一个传出 InformationFlow
。建模者有责任以一种只有一个评估为真的方式设置守卫。如果有更多(甚至无人看守)InformationFlow
,令牌将采用任意自由路线。
Fork
和 Join
也是两个看起来相同的不同元素:(或垂直)。
也可以通过in-/outgoingInformationFlow
的个数来区分。 Fork
一进多出,Join
反之亦然。一旦令牌到达其单个传入 InformationFlow
,Fork
将发送与传出 InformationFlow
一样多的令牌。 Join
将(如 Action
s)等待令牌到达其所有传入的 InformationFlow
s。只有这样,它才会在其单个传出 InformationFlow
处出现一个标记。
所以虽然Merge
-和DecisionNode
s控制单个令牌(执行路径)的流程Fork
和Join
用于启动和同步并行执行路径。
与 Thomas Kilian described
A node becomes active when at all of its incoming
InformationFlow connectors
a token has arrived. When the node finalizes it sends single tokens along all its outgoing InformationFlow connectors.
但他还补充说:
There are special nodes like fork and merge which behave a bit different
我知道 "merge" 节点的行为不同,因为它通过接收第一个令牌立即激活并接受几个备用流中的一个。但是 fork/join 节点的行为与具有正常行为的令牌有什么区别?
Merge
- 和 DecisionNode
看起来一样,但是是不同的元素:
在图表中,您只能通过查看传入和传出 InformationFlow
来区分两者。第一个有多个传入和一个传出,而第二个具有相反的关系。 MergeNode
接受任何传入令牌并将其直接转发到其单个传出 InformationFlow
。所以不像 Action
s 它不会等待所有令牌。相比之下,DecisionNode
只接受一个标记,并让它只传递给它的一个传出 InformationFlow
。建模者有责任以一种只有一个评估为真的方式设置守卫。如果有更多(甚至无人看守)InformationFlow
,令牌将采用任意自由路线。
Fork
和 Join
也是两个看起来相同的不同元素:
也可以通过in-/outgoingInformationFlow
的个数来区分。 Fork
一进多出,Join
反之亦然。一旦令牌到达其单个传入 InformationFlow
,Fork
将发送与传出 InformationFlow
一样多的令牌。 Join
将(如 Action
s)等待令牌到达其所有传入的 InformationFlow
s。只有这样,它才会在其单个传出 InformationFlow
处出现一个标记。
所以虽然Merge
-和DecisionNode
s控制单个令牌(执行路径)的流程Fork
和Join
用于启动和同步并行执行路径。