美文网首页
SCXML中状态机的基本概念

SCXML中状态机的基本概念

作者: 寻找无名的特质 | 来源:发表于2021-01-01 06:27 被阅读0次

状态机的最基本概念是state(状态),transition(转换)和event(事件)。每个状态包含若干转换,这些转换定义了如何响应事件。事件可以是状态机本身产生,也可以来源于外部实体。传统的状态机中,状态机总是处于唯一的状态,这个状态被称为活动状态。当有事件发生,状态机检测活动状态相关的转换,如果发现某个转换与发生的事件匹配,就会将活动状态转移到转换中定义的目标状态。这个目标状态就成为当前的活动状态。

SCXML基于Harel状态图,对这些概念进行了扩展。首先,每个状态不仅包括转换,还可以包括action(活动),这些活动在进入(onentry)和退出(onexit)状态时进行。转换也可以包含活动,这些活动在转换时执行。如果从状态S1通过转换T到状态S2,那么,首先执行S1的onexit活动,然后执行T的活动,最后执行S2的onentry活动。

第二个扩展是在转换中增加了条件(cond),如果转换没有关联事件,那么如果条件成立,就会发生转换。如果有关联事件,那么需要关联事件和条件同时成立时转换。如果有多个转换关联了相同的事件,那么按顺序执行第一个符合条件的转换。

相关文章

  • SCXML中状态机的基本概念

    状态机的最基本概念是state(状态),transition(转换)和event(事件)。每个状态包含若干转换,这...

  • SCXML 复合状态

    SCXML基于Harel 状态机标记,其引入的强大概念之一就是状态中可以包含内部结构,简单地说就是状态中可以包含其...

  • SCXML 事件

    事件是SCXML的基本概念之一,大部分转移都是由事件触发的。事件的内部结构与SCXML处理器构建平台相关,但外部接...

  • SCXML简介

    SCXML 是 State Chart XML 的简写,是W3C针对复杂有限状态机的推荐标准。它支持诸如子状态、并...

  • 数据模型

    数据模型提供了对状态机内部数据保存、读取和修改的能力。SCXML并不规定数据模型的具体实现,只是提出相关功能的抽象...

  • 界面上的有限状态机(二)

    前面介绍了Js开发的有限状态机,这里介绍一下这个有限状态机涉及的基本概念——状态(State)和转移(Transi...

  • SCXML 事件I/O处理器

    SCXML事件I/O处理器的目的是在SCXML的会话间传递消息。SCXML文档规定了发送会话和接收消息会话的事件之...

  • SCXML 解释器算法 —— 初步定义

    W3C文档中给出了一个SCXML解释器算法的原型,可以帮助我们对SCXML有更深入的理解。针对这些算法有一些初步的...

  • 无镜--kafka之控制器(二)

    分区状态机和副本状态机 分区状态机和副本状态机需要获取集群中的所有分区和所有副本,控制器上下文会从ZK中读取集群的...

  • SCXML 解释器算法 —— 原则与约束

    SCXML遵守下面的原则和约束: Encapsulation(封装):SCXML处理器是一个纯事件处理器,给SCX...

网友评论

      本文标题:SCXML中状态机的基本概念

      本文链接:https://www.haomeiwen.com/subject/ygtfoktx.html