1

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

上下文:我的问题涉及嵌套状态机图的活动图的连续模拟。在活动图中,我有一个调用状态机图的调用行为操作。在这个呼叫行为动作之后,还有其他动作要执行。当我模拟活动图时,模拟切换到调用的状态机图没有任何问题。此状态机图的模拟也是完全正常的。

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

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

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

4

2 回答 2

1

在 UML 和 SysML 状态机中,达到终止伪状态意味着状态机定义的行为终止的范围(当它位于状态机图中的顶部范围时)。这在不同的工具中得到不同的处理。一些工具(默认情况下或始终)使用状态机作为模拟主机,当最上面的状态机进入终止伪状态时,模拟将停止,即使它是由活动触发的。

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

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

于 2020-06-29T16:16:15.020 回答
1

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

更新:已修复

于 2020-07-02T07:01:32.117 回答