在UML状态机中是否可以有多于一个活动状态
答
是的,只要运行完成步骤完成,就会有多于1个活动状态。实际上可以有一个活动状态的整棵树:
正如你所提到的,在复合状态的正交区域中可以有活动状态。复合状态也可以递归嵌套。这意味着如果嵌套状态处于活动状态,则其所有祖先也都处于活动状态。因此,正交区域和嵌套复合状态的组合可以导致整个活动状态树。
的UML上层建筑规范,V2.4.1解释像这样(564页的章节15.3.11州):
活动状态的配置
在分层状态机器多于 一个状态可以同时处于活动状态。如果状态机处于包含在组合状态中的简单状态,则所有组合状态(直接或间接包含 简单状态)也处于活动状态。此外,由于状态机为 ,该层次结构中的整体和一些组合状态可以是正交的(即,包含区域),所以当前活动的“状态”实际上由以状态树开始的一组树状态表示 根区域的最顶部状态直至最内层活动的 子状态。我们将这种状态树称为状态配置。
可以有,如果你是挑剔的一个例外:
如果终止状态机,当然还有的离开了不活动状态,因此不可能有多个活跃状态,在这一点上。
注意
的UML上层建筑规范,V2.4.1是的文件来检查,如果你有这样的问题。