首页 文章

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

提问于
浏览
0

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

1 回答

  • 0

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

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

    UML Superstructure Specification, v2.4.1 解释如下(第15.3.11章中的第564页):

    活动状态配置在分层状态机中,可以同时激活多个状态 . 如果状态机处于包含在复合状态的简单状态,则直接或传递包含简单状态的所有复合状态也是活动的 . 此外,由于整个状态机和该层次中的一些复合状态可以是正交的(即,包含区域),因此当前活动的“状态”实际上由从最顶部开始的一组状态树表示 . 根区域的状态直到最里面的活动子状态 . 我们将这种状态树称为状态配置 .

    如果你挑剔可能有例外:

    如果状态机终止,则当然没有剩余活动状态,因此在该点不能有多个活动状态 .

    Note

    UML上部结构规范,v2.4.1是 the 文件,用于检查您是否有这样的问题 .

相关问题