SCXML 复合状态

2021-01-02  本文已影响0人  寻找无名的特质

SCXML基于Harel 状态机标记,其引入的强大概念之一就是状态中可以包含内部结构,简单地说就是状态中可以包含其它状态。包含其它状态的状态成为复合状态(Compound States),我们称为父状态,其所包含的状态称为子状态,子状态也可以是复合状态。最终不包含子状态的状态我们称为原子状态(atomic state)。当一个复合状态处于活动时,有且只有一个子状态也是活动的。反过来说,如果一个子状态是活动的,那么它的父状态也是活动的。因此,在任何时候,有一组活动状态,包括一个原子状态和它关联的父状态。

复合状态在选择转移时按照下面的顺序:首先检查活动的原子状态,看是否有合适的转移,如果没有,转到它的父状态,看是否有合适的转移,依次类推,如果没有找到匹配的转移,这个事件就被抛弃。

上一篇下一篇

猜你喜欢

热点阅读