SysML/UML 在 Activity 图中模拟嵌套状态机图

SysML/UML Simulating a nested State Machine Diagram in an Activity Diagram

我对 SysML 和 UML 以及这些图的模拟仍然是新手。我正在使用 Cameo Systems Modeler 19.0.

上下文:我的问题涉及 activity 图的连续模拟,其中嵌套了状态机图。在 activity 图中,我有一个调用状态机图的调用行为操作。在此调用行为操作之后,还有其他操作要执行。当我模拟 activity 图时,模拟切换到调用的状态机图没有任何问题。此外,此状态机图的模拟功能齐全。

现在解决我的问题:当我通过选择状态、路径及其触发器来完成状态机图的模拟以便到达最终状态节点时,它终止了状态机图的模拟(如预期的那样). 但是模拟不会继续在父子 activity 图中执行。

我是不是做错了什么?难道你不应该能够模拟像那样嵌套的这些图表吗?我是否期待 Cameo Systems Modeler 的一些功能,而这个程序无法做到?

感谢您的帮助!如果我的描述不够充分,我很乐意提供一个 .mdzip 作为最小示例!

在 UML 和 SysML 状态机中,达到终止伪状态意味着状态机定义的行为终止的范围(当它位于状态机图中的顶部范围时)。这在不同的工具中有不同的处理方式。一些工具(默认或始终)使用状态机作为模拟的主控器,当最顶层的状态机进入终止伪状态时,模拟停止,即使它是由 activity.

触发的

状态机还有另一种结束伪状态,称为退出点。退出点触发当前作用域离开。由于您不想停止模拟,因此您可以使用它。出口点由带十字的空心圆圈表示。

想法:很多工具都偏离了 UML 和 SysML 中定义的内容,尤其是在模拟动态行为时。因此,Cameo 中可能有一些特殊选项需要考虑。一些工具的一种解决方案是您创建一个主状态机,它会触发您的主 activity.

这绝对是一个错误。我发布了一个问题,支持团队将其确定为问题。

更新:已修复