问题标签 [scxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
131 浏览

android - 秒表构造函数需要 URL scxmlDocument

我有个问题。我想在我的应用程序中添加秒表显示。我用这个页面作为参考。我下载并添加了必要的 commons-scxml-0.9.jar 库(带有源代码)。Eclipse 中没有错误,但是当我调试它时,在这个的超类(AbstractStateMachine)的构造函数中使用以下命令调用:

super(StopWatch.class.getClassLoader().getResource("org/apache/commons/scxml/env/stopwatch.xml"));

但是超类构造函数没有任何属性。它需要最终 URL scxmlDocument,但只出现null

我知道 stopwatch.xml 的外观,但我应该把它放在哪里,以及如何从中创建最终 URL scxmlDocument

我尝试了一切,但没有任何效果。

谢谢你们 !!

这是 stopwatch.xml,如果我添加它,eclipse 会因为id属性而报告错误:

`

0 投票
2 回答
1081 浏览

statechart - Automatic scxml code synthesis for statechart models

Can the w3c scxml specs be considered under model driven development? i.e statecharts as models for scxml which can be autogenerated using a tool instead of hand coding them. I'm looking for such a tool for tablet GUI interactions.

David Harel's tools generated c/c++ code from statechart of system behavior. IBM Statemate(ilogix Statemate Magnum) for hardware statecharts and IBM Rhapsody for embedded software statecharts.

0 投票
2 回答
326 浏览

ios - SCXML解析IOS

有人对在 IOS 中编写 SCXML 解析器有任何想法吗?

我浏览了这个http://www.w3.org/TR/scxml/并对 SCXML 有所了解。

我现在需要创建解析架构。

如果有人有想法,请告诉我。

提前致谢。

0 投票
1 回答
604 浏览

python - 同步 PySCXML

我目前正在研究 Python 的习语和库,以帮助我进行控制任务的状态机设计。

我在另一个 SO 问题中找到了很好的建议:Python state-machine design。在答案中,建议使用PySCXML来解释状态图 XML文件。

我关心 PySCXML 自述文件中的以下句子:

您可以使用 StateMachine 实例的 send 方法将事件发送到您的状态机 [...] 当然,您必须从不同的线程发送

这是否意味着我不能让状态机处理同步运行?

当我想象在我的控制任务中使用 PySCXML 时:

  1. 读入输入
  2. 将输入转换为状态机域中的抽象输入变量
  3. 将变量发送到 PySCXML 状态机实例
  4. PySCXML 状态机实例计算新状态,并设置抽象输出变量
  5. 将抽象输出变量转换为输出
  6. 写出输出
  7. 睡到下一个

(如果 PySCXML 完全可以做到这一点。这将允许我将整个排序逻辑完全分离到一个 SCXML 文件中。)我需要按顺序处理所有步骤,尤其是 4. 不允许异步运行。

0 投票
1 回答
1697 浏览

state-machine - 在 SCXML 状态机中创建超时

SCXML状态机中,我怎么能说“在我进入此状态 3 分钟后触发一个事件,但如果我在该状态下坐 2.9 分钟然后离开,则不会。如果我重新进入该状态,请重新启动计时器(不要不要在 0.1 分钟内关闭)”

0 投票
0 回答
327 浏览

python - 使用 PYSCXML 在 ROS 节点中集成 SCXML

在过去的几周里,我遇到了一个我仍然找不到解决方案的问题:

我执行一个从 pyscxml 启动 StateMachine 对象的 ROS 节点。该节点第一次收到来自另一个节点的消息时,会向 StateMachine 发送一个事件,并且一切正常。但是 SM 似乎仍然处于阻塞状态,并且下次当本地节点从另一个节点接收到新消息时,就没有机会将 SM 从之前的状态“移动”。好像SM对象总是一样的,但是ROS节点的thread id每次调用都会改变!!!??????我尝试了不同的选项来实例化 SM(@staticmethod、自己的线程等),但我找不到解决方案。

如果我使用创建匿名 Ros 节点的客户端并(例如每 3 秒)向运行 SM 的节点发送一条消息,它就可以工作!!SM 根据有任何问题的事件从一种状态更改为另一种状态。

当两个节点之间的连接关闭 x 秒并且我们想要向 SM 发送新事件时,问题就出现了。

这是我的 Ros 节点和 SM 模式定义。无论如何,scxml 模式似乎没有任何问题。

非常感谢您的帮助

这是 SCXML 文档

0 投票
2 回答
1036 浏览

fsm - 将有限状态机编译为 UML(-like) 图

每个 Python 开发人员都知道像Sphinx这样的工具。你用标记语言编写一些文本,make在 shell 中编写,然后让一些编译器完成他们的工作。最后你会得到漂亮的 HTML 或 PDF。

我正在寻找类似的东西,仅用于有限状态机,例如,我将SCXML放入文件中(使用 GUI 或根据需要手动使用 VIM)启动编译器,然后输出我可以使用的图片文件格式,但我请即使我不知道自己在做什么,这看起来也不错。例子:

到目前为止,我最接近的是使用各种 Eclipse 插件(几年前,不喜欢巨大的 IDE)、draw.io或我现在使用的:Umlet。不过,即使是 Umlet 也有问题。例如它不支持我习惯的工作流程(编写文本文件,启动编译器,查看漂亮的结果)。结果通常也不是最理想的,因为引擎实际上非常简单。但是我到处寻找更有用的替代方案(python wiki其他 SO 问题工具)我仍然找不到简单的编译器。

现在,如果有人知道这样的编译器,我会非常高兴。如果不可能的话,带有 PNG/SVG 导出功能的 FOSS GUI 编辑器也可以。

0 投票
0 回答
732 浏览

java - SCXML,我不能在事件中使用 fireEvent

我正在使用 Apache Commons SCXML 创建 FSM。使用来自 Apache 的示例 StopWatch,我创建了一个 FSM。

SCXML:

主程序:在主程序中,想法是不触发任何事件。

密克罗尼西亚联邦:

我的问题是,为什么在 FSM 类中,我无法执行该方法:

但是如果我在主程序中执行方法,我没有任何问题。

任何想法。

当前控制台:

0 投票
1 回答
302 浏览

java - 运行 Apache SCXML 引擎时出现异常。参数类型不匹配 -

我正在使用 apache commons scxml 引擎运行微波炉 scxml 。我有扩展 AbstarctStateMachine 的自定义类

现在当创建这个类的一个实例时,我得到一个异常

我知道这与我的数据模型有关,因为数据模型不被视为 XML 节点,

0 投票
2 回答
2849 浏览

statechart - 事件和状态之间是否有明显的区别

这个问题有点哲学,就像“数据和代码是否相同”。

事件(信号)和状态之间有什么明显的区别吗?

例子:

例如,有一辆汽车经过马路。当汽车按喇叭时,一个man_A过马路的人 ( ) 突然停下来。喇叭是信号,“man_A突然停止”是状态man_A

另一个人(man_B)也在同一时间,同一地点过马路。

让我们认为那man_B是聋子,所以他听不到喇叭。但意识到“man_A突然停止”对他来说是一个信号。他会突然停下来,仿佛听到喇叭声。

所以我会说“一个状态可能是另一个进程的信号。一个信号将一个进程置于另一个状态。这就是为什么它们完全相同的原因”

我错了,它们之间有明显的区别吗?

信号是状态变化。我们可以定义具有两种状态的任何信号。