Uml 2.5 Activity 图中标记的用途
purpose of tokens in Activity diagrams of Uml 2.5
UML specs 2.5
说:
The effect of one ActivityNode on another is specified by the flow of
tokens over the ActivityEdges between the ActivityNodes.
但是上面的定义是模糊的;特别是因为 令牌没有在 Activity.
中明确建模
阅读规范的 15.2.3.3 Activity Edges
部分后,我认为它们的目的是:
to capable the diagram to describe
it may wait for other token
or refuse flow
instead of entering next node immediately
这是真的吗?这也是代币的唯一目的吗?如果是这样,为什么我们不使用带有条件的 decision node
和 end flow
节点来显示该条件下的拒绝流,而不是 token
和 guard
s?或者将信息分组到更大的 objects node 中,它携带所有必要的数据而不是使用 weight?
Activity 图和状态机均源自 Petri nets。给出完整的描述会破坏这个答案,所以我试着把它归结起来。
令牌可以说是一点信息。它是原子的,不能拆分。相反,它是从上下文中定义的事件中的 "big bang" 创建的(通常用大黑点表示)。它沿着 InformationFlow
个连接器(最终在必须等待的地方被守卫阻挡)传播到节点。节点有 1 到许多 InformationFlow
个连接器。当令牌到达其所有传入 InformationFlow
连接器时,节点变为活动状态。当节点完成时,它会沿其所有传出 InformationFlow
连接器发送单个令牌(至少 UML 操作会这样做,这称为隐式分叉)。有一些特殊节点,例如 fork 和 merge,它们的行为有点不同(请参阅规范)。最后,代币会落入水槽(通常是一个圆圈,里面有一个圆点),它们在出现时就消失了。
因此,从一个起始节点出现的单个令牌(这里不打算解释 details/issues 多个起点)开始,该令牌在网络中传播,最终创建其他令牌,所有令牌都在循环,直到(通常)所有令牌已经消失了。在此期间,据说网络处于活动状态。
tl;dr 不,你的假设不正确。
UML specs 2.5
说:
The effect of one ActivityNode on another is specified by the flow of tokens over the ActivityEdges between the ActivityNodes.
但是上面的定义是模糊的;特别是因为 令牌没有在 Activity.
中明确建模阅读规范的 15.2.3.3 Activity Edges
部分后,我认为它们的目的是:
to capable the diagram to describe it may wait for other token or refuse flow instead of entering next node immediately
这是真的吗?这也是代币的唯一目的吗?如果是这样,为什么我们不使用带有条件的 decision node
和 end flow
节点来显示该条件下的拒绝流,而不是 token
和 guard
s?或者将信息分组到更大的 objects node 中,它携带所有必要的数据而不是使用 weight?
Activity 图和状态机均源自 Petri nets。给出完整的描述会破坏这个答案,所以我试着把它归结起来。
令牌可以说是一点信息。它是原子的,不能拆分。相反,它是从上下文中定义的事件中的 "big bang" 创建的(通常用大黑点表示)。它沿着 InformationFlow
个连接器(最终在必须等待的地方被守卫阻挡)传播到节点。节点有 1 到许多 InformationFlow
个连接器。当令牌到达其所有传入 InformationFlow
连接器时,节点变为活动状态。当节点完成时,它会沿其所有传出 InformationFlow
连接器发送单个令牌(至少 UML 操作会这样做,这称为隐式分叉)。有一些特殊节点,例如 fork 和 merge,它们的行为有点不同(请参阅规范)。最后,代币会落入水槽(通常是一个圆圈,里面有一个圆点),它们在出现时就消失了。
因此,从一个起始节点出现的单个令牌(这里不打算解释 details/issues 多个起点)开始,该令牌在网络中传播,最终创建其他令牌,所有令牌都在循环,直到(通常)所有令牌已经消失了。在此期间,据说网络处于活动状态。
tl;dr 不,你的假设不正确。