据我所知,复合状态中的正交区域可以并行运行。 在UML状态机中可以随时有多个活动状态吗?
答案 0 :(得分:0)
是的,每当完成运行完成步骤时,可以有多于1个活动状态。实际上可能存在一整块活跃状态:
正如您所提到的,复合状态的正交区域中可能存在活动状态。复合状态也可以递归嵌套。这意味着如果嵌套状态处于活动状态,则其所有祖先也都处于活动状态。因此,正交区域和嵌套复合状态的组合可以导致整个活动状态树。
UML上层结构规范,v2.4.1 解释如下(第15.3.11章中的第564页):
有效状态配置
在分层状态机中超过 一个州可以同时活跃。如果状态机在 包含在复合状态中的简单状态,然后全部 复合状态直接或传递包含 简单的状态也很活跃。而且,由于状态机为 这个层次结构中的整体和一些复合状态可能是 正交(即包含区域),当前有效“状态”是 实际上由一组以国家开头的国家树木代表 根区域的最顶层状态直到最里面的活动状态 子状态。我们将这种状态树称为状态配置。
如果你挑剔可能有例外:
如果状态机终止,则当然没有剩余活动状态,因此此时不能有多个活动状态。
注意强>
UML超结构规范,v2.4.1是 文档,以检查您是否有这样的问题。