UML状态机中是否可以有多个活动状态

时间:2016-07-26 10:51:29

标签: state-machine

据我所知,复合状态中的正交区域可以并行运行。 在UML状态机中可以随时有多个活动状态吗?

1 个答案:

答案 0 :(得分:0)

是的,每当完成运行完成步骤时,可以有多于1个活动状态。实际上可能存在一整块活跃状态:

正如您所提到的,复合状态的正交区域中可能存在活动状态。复合状态也可以递归嵌套。这意味着如果嵌套状态处于活动状态,则其所有祖先也都处于活动状态。因此,正交区域和嵌套复合状态的组合可以导致整个活动状态树。

UML上层结构规范,v2.4.1 解释如下(第15.3.11章中的第564页):

  

有效状态配置

     

在分层状态机中超过   一个州可以同时活跃。如果状态机在   包含在复合状态中的简单状态,然后全部   复合状态直接或传递包含   简单的状态也很活跃。而且,由于状态机为   这个层次结构中的整体和一些复合状态可能是   正交(即包含区域),当前有效“状态”是   实际上由一组以国家开头的国家树木代表   根区域的最顶层状态直到最里面的活动状态   子状态。我们将这种状态树称为状态配置。

如果你挑剔可能有例外:

如果状态机终止,则当然没有剩余活动状态,因此此时不能有多个活动状态。

注意

UML超结构规范,v2.4.1是 文档,以检查您是否有这样的问题。