前页 后页

复合状态

描述

在StateMachine图中,通过扩展State元素,添加Region(如果适用)并在其边界内拖动其他State元素,相关元素和连接器来组成组合状态。内部状态元素于是被称为子状态。

(您还可以将State元素(与许多其他类型的元素一样定义为复合元素);然后,它具有指向子图的超链接,该子图可以是模型中的另一个StateMachine图或其他类型的图。)

如果创建了区域,则复合状态可以是正交的。如果Composite State是正交的,则其输入表示单个Substate在每个Region中同时处于活动状态。复合状态的层次嵌套,再加上区域使用,会导致多个状态同时活动的情况;这种情况称为活动状态配置。

An example of using a Composite State and a History State in a StateMachine modeled in Sparx Systems Enterprise Architect.

学到更多

OMG UML规范:

OMG UML规范( UML上层结构规范,v2.1.1,第478页)指出:

复合状态包含一个区域或分解为两个或多个正交区域。每个区域都有一组互斥的不相交的子顶点和一组过渡。给定状态只能以这两种方式之一进行分解。

包含在复合状态区域内的任何状态都称为该复合状态的子状态。当它不被任何其他状态包含时,称为直接子状态。否则,它称为间接子状态。

复合状态的每个区域可以具有初始伪状态和最终状态。到封闭状态的过渡表示在每个区域中到初始伪状态的过渡。新创建的对象采用其最顶层的默认过渡,该过渡源于每个区域的最顶层初始伪状态。

过渡到最终状态表示在封闭区域中活动的完成。在所有正交区域中的活动完成表示通过封闭状态完成活动,并在封闭状态上触发完成事件。对象最顶部区域的完成对应于其终止。