复合状态包含一个或多个状态图;如果它们包含多个状态图,则状态图并行执行。换句话说, 复合状态是包含一个或多个状态图的状态。每个图表属于一个区域,区域用虚线划分。区域中的状态称为复合状态的子状态。
UML 状态图与您可能熟悉的其他非 UML 状态图之间的一个关键区别是 UML 允许并发状态,或同时允许多个状态。复合状态使这成为可能。
子机的关键概念,正交区域
复合状态是包含一个区域或分解为两个或多个区域的状态。复合状态包含它自己的一组状态和区域。
子机作为状态插入到另一个状态机中。同一台子机可以多次插入。
Submachine vs 复合状态
子机状态在语义上等同于复合状态。子机状态机的区域是复合状态的区域。进入、退出和行为动作和内部转换被定义为状态的一部分。子机器状态是一种分解机制,允许分解常见行为及其重用。
正交区域是复合状态或子机的一部分,每个区域都有自己的一组互斥状态和转换。
使用在线示例了解有关状态图的更多信息