区域

Region(区域)指示了一个行为片段,它可能与它的正交区域并发执行。如果两个或更多的区域被相同的状态或状态机(位于顶层的时候)所拥有,那么它们彼此是正交的。当状态机执行进入区域所属的状态,那么区域变为活跃的(开始执行),或者当区域直接被状态机所拥有而所属的状态机可以执行时,区域也变为活跃的。每个区域拥有一组顶点和转变,它们决定了区域中的行为流。区域可能有自己的initial伪状态和FinalState。

如果区域被隐含地进入,那么它的缺省激活会出现,也就是说,它不是通过终止在自身拥有的顶点(例如,一个状态或一个history Pseudostate)上的一个传入转变而被进入的,而是:

  • 通过一个在所属状态上终结的(localexternal)转变,或
  • 当处于最顶层区域是,当状态机开始执行时。

缺省激活意味着源自该区域initial伪状态的转变开始执行,如果定义了一个的话。如果区域中没有initial伪状态,那么没有定义特定的方式。一种可能的方式是认为此模型是错误的。另一种是认为区域仍处于非活跃态,尽管包含它的状态是活跃的。换句话说,所从属的组合状态被视为一个简单(叶子)状态。

反过来,当区域是通过终止于它所包含的顶点的一条转变而被进入时,一个显式的激活会出现。当一个正交状态的一个区域被显式地激活时会导致它所有正交的区域被缺省激活,除非这些区域也是被显式得进入(多个正交的区域可以通过来自相同的fork伪状态的转变而显式地被并行进入)。

results matching ""

    No results matching ""