gpt4 book ai didi

uml - UML 状态机中 Fork 和 Join 的语义

转载 作者:行者123 更新时间:2023-12-04 18:07:34 25 4
gpt4 key购买 nike

谁能告诉我下面的两个模型(来自 UML 上层结构规范的顶部模型)在语义上是否等效?
Fork & Join versus entering parent state
我希望将 Fork 和 Join 伪状态类型添加到我的状态机库中,这对我来说似乎是一种有用的实现方式。

最佳答案

这两个图并不等价。

用两个首字母代替 fork 是没有问题的:在上面的状态机中,A1 和 B1 同时激活,下面的也是如此。

但是,用两个最终状态替换 Join 是有问题的。在大写中,(Process, A2, B2) 是清理激活之前的最后一个状态配置。在每次运行中,在 Cleanup 处于事件状态之前,Process、A2 和 B2 处于事件状态。在小写中,它是 (Process, final, final) 必须处于事件状态。

换句话说,(Process, A2, B2) 和 (Cleanup) 是大写的“邻居”状态配置,但它们不是小写的。中间有(过程,最终,最终)。

“语义等价”取决于您定义为语义相关的内容。对我来说,清理是 (Process, A2, B2) 之后的下一步还是下一步是有区别的。

更多

在大写 A2 和 B2 必须同时处于事件状态,然后再离开 Process。在较小的情况下,没有这样的需要。一个trace可能是... (Process, final, B1), (Process, final B2), (Process, final, final),然后就剩下Process了。

关于uml - UML 状态机中 Fork 和 Join 的语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22974776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com