当前位置: 首页 > 软件库 > 程序开发 > 协议和规范 >

SCXML

有限状态机的规范
授权协议 未知
开发语言
所属分类 程序开发、 协议和规范
软件类型 开源软件
地区 不详
投 递 者 邵弘伟
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

State Chart XML(SCXML) 是 W3C 组织制定的一种有限状态机的规范,它提供了一个在 CCXML 和 Harel State Tables 基础之上演化而来的状态机执行环境。但此规范目前还处于 Working Draft,即修订当中,目前最新的修订版本是 W3C Working Draft 16 December 2010,相信随着时间的推移,此规范很快将会发布正式版。

SCXML 的概念源于 CCXML 和 Harel State Tables 的结合。CCXML 是一种用来支持具有呼叫中心功能特点的语音应用程序(例如 VoiceXML 但不仅限于此)基于事件驱动的状态机语言。CCXML 1.0 的说明书定义了状态机和事件处理的两种语法,以及标准化的一些呼叫控制基本单元。CCXML 和 Harel State Tables 的结合搭建起了一套表达了富有规则的、很有想法的语义,并具有精密的构架逻辑,例如:平行状态。它们定义了图形化的规范语言,然而却不再使用基本 XML 的呈现方式。

SCXML 是一种多元化、基于事件状态的机器语言,其用法主要有几个方面 :

  1. 它是在 VoiceXML 3.0 的基础之上发展而来的高级对话语言,可封装为不同的语言模块。
  2. 作为语言分析的应用开发程序,它在 VoiceXML 3.0 的基础功能之上,还具备了控制数据库连接的功能和商业业务逻辑模块。
  3. 作为一种多态的控制语言,在这种多形式的交互式构架中,SCXML 集成了 VoiceXML 3.0 的所有对话形式,这其中包括键盘鼠标,文字,视觉感官,触觉感受等多种交互形态。其可能包括一些综合技术如对口型的阅读(语音识别技术与视觉的结合表现)。语音的输入以键盘作为载体,并且引入多个键盘和多个用户同步编写的功能。
  4. SCXML 还是 CCXML 未来版本的基础构架。
  5. 作为一种高级的、可扩展的呼叫中心管理语言,CCXML 又称为被呼叫中心使用的具有控制功能的计算机电话集成系统。这种集成系统应用计算机屏幕弹出窗口,并提供其他方式的信息交互,例如,在线聊天,发送即时信息等。

图 1. Apache Commons SCXML 系统结构 

  •     最近接触了SCXML这个状态描述文本,简单来讲就是描述了整个状态的变迁过程的一种XML格式的表格。Qt labs中有一个项目就是QScxml,它基于QStateMachine上层制作,可以直接读取SCXML格式的文件生成内部状态对象和成员,可以直接在Qt中进行状态变迁,十分方便。     先来简单介绍一下SCXML的格式,以 <scxml initial="FirstState" vers

  • 有限状态机SCXML 简介 SCXML是一种多元化、基于事件状态的机器语言,其用法主要有几个方面: 它是在VoiceXML 3.0的基础上发展而来的高级对话语言,可封装为不同的语言模块 作为语言分析的应用开发程序,它在VoiceXML 3.0的基础功能之上,还具备了控制数据库连接的功能和商业业务逻辑模块 作为一种多态的控制语言,在这种多形式的交互式架构中,SCXML集成了VoiceXML 3.0的

  • 官网:http://commons.apache.org/proper/commons-scxml/index.html SCXML W3C规范:http://www.w3.org/TR/scxml/ pom.xml xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0

  • 这篇文档描述了SCXML,或者说是“状态图可扩展标记语言”。SCXML基于CCXML和Harel State Tables为状态机提供了一个一般性的可执行环境, 概述 这篇文档描述的SCXML,是一种基于事件的状态机语言。它是CCXML和Harel State Tables 结合的产物。CCXML是一种基于事件的状态机语言,被设计用来在语音应用中支持通话控制。CCXML1.0规范定义了一个状态机和

 相关资料
  • 概述 Javascript Finite State Machine函数库 参考链接 概述 有限状态机(Finite-state machine)是一个非常有用的模型,可以模拟世界上大部分事物。 简单说,它有三个特征: 状态总数(state)是有限的。 任一时刻,只处在一种状态之中。 某种条件下,会从一种状态转变(transition)到另一种状态。 它对JavaScript的意义在于,很多对象可

  • 概述 FSM (有限状态机) 可以mixin到akka Actor中,其概念在Erlang 设计原则中有最好的描述。 一个 FSM 可以描述成一组具有如下形式的关系 : State(S) x Event(E) -> Actions (A), State(S') 这些关系的意思可以这样理解: 如果我们当前处于状态S,发生了E事件,则我们应执行操作A,然后将状态转换为S’。 一个简单的例子 为了演示F

  • 我需要设计一个有效的决策过程来确定非确定性有限状态机接受的语言是否为空。 我知道,若从初始状态到最终状态并没有路径,机器就不会接受字符串。 但我正在努力证明这一点或设计程序。 谢谢

  • 每当你阅读一本关于解析的书,都有一个可怕的章节,关于有限状态机(FSM)。他们对“边”和“节点”进行了详细的分析,每个可能的“自动机”的组合被转换成其他自动机,坦率地说,它有点多了。FSM 有一个更简单的解释,使得它们实用并且可理解,而不会违背相同主题的纯理论版本。当然你不会向 ACM 提交论文,因为你不知道 FSM 背后的所有数学知识,但如果你只想在应用程序中使用它们,那么它们就足够简单了。 F

  • 这里的“自动机”指的是”确定有限状态自动机”。而自动机是信息学奥林匹克竞赛、计算机科学中被广泛使用的一个数学模型,其思想在许多字符串算法中都有涉及,学习自动机有助于理解上述算法,但是学习自动机前一定要先了解基础图论的相关知识,这样才更好理解自动机。 自动机(确定有限状态自动机)是由一个非空有限状态的集合Q、一个输入字母表 Σ(非空有限字符的集合)、一个转移函数(单值映射)、一个开始状态、一个接受状

  • 如果我必须用一个状态图来画一个确定性有限自动机,以接受一种语言,例如{λε{a,b}*:λ这个词包含a的偶数和b的奇数,我怎么知道我有多少个状态?

  • 所以,由于我是一个电工和程序员,我认为我对FSM设计模式非常了解。它是: 我们有一组, 每个都知道,当程序位于此节点时,要做什么, 每个的引用,并且知道在什么条件下,他应该继续到选定的节点。 在或节点后,到下一个选择的节点 我想,这对我来说很清楚。尽管最近,当我在实现一个状态机时,一个人告诉我,它实际上是一个稍微修改过的责任链(不确定他是否正确),并且,我所做的/所拥有的是: 一组(不表示线性或树

  • 本文向大家介绍Linux有限状态机FSM的理解与实现,包括了Linux有限状态机FSM的理解与实现的使用技巧和注意事项,需要的朋友参考一下 有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法,在服务器编程中,服务器可以根据不同状态或者消息类型进行相应的处