14.3.3 语义
状态机扩展
状态机是可泛化的。特化的状态机是泛化的状态机的一个扩展,从而:
- 可以添加新的区域、顶点和转变;
- 可以重定义区域和状态(例如,简单状态可以被重定义为组合状态,组合状态可以通过增加状态和转变来被重定义);
- 可以重定义转变。
这可以作为分类符特化的一部分来完成;也就是说,由一个泛化分类符所拥有的状态机行为和分类符行为可以按照状态机所规定的泛化分类符的行为特征的方法来被特化。
特化的状态机将具有泛化状态机的所有元素,它可以包括额外的元素。可以添加区域。继承的区域可以通过扩展来重定义:状态和顶点是继承的,区域中的状态和转变可以被重定义。
状态重定义
简单状态可以通过重定义(扩展)变为具有一个或多个区域的组合状态。组合状态可以通过如下来重定义(扩展):
- 增加新区域,
- 在继承区域中增加顶点和转变,
- 增加entry/exit/doActivity行为,如果泛化状态没有的话,
- 重定义状态和转变
状态的重定义应用于整个状态机。
子状态机状态也可以被重定义,被引用的状态机可以被替换为另一个状态机,只要它与原有被引用装机具有相同的入口/离开点。然而,它可以增加额外的入口/离开点。
在有多个泛化分类符的情况下,extension implies that the extension StateMachine gets orthogonal Regions for each of the StateMachines of the general Classifiers in addition to a distinct new Region.
转变重定义
转变可以替换原有的effect和目标状态,但要保留源状态和触发器。