问题标签 [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 回答
86 浏览

scxml - 如何在scxml中定义一个子程序

我试图弄清楚如何在 SCXML 中编码子例程。作为子程序,我的意思是可以从不同的进程(状态)调用并返回给调用者的进程/例程/函数。

起初我尝试使用历史状态,但返回时调用者状态将重新启动,因此进入循环。那是草图。

0 投票
1 回答
262 浏览

c++ - 如何在 Qt SCXML 状态图中使用条件转换

我目前正在尝试了解 Qts scxml 状态图,以及如何将它们正确集成到我的应用程序中。我偶然发现的一个问题是条件转换。为了解释我如何在这里使用条件以及出了什么问题,我做了一个最小的可行示例:

状态图可视化

初始状态s_initial有两个转换到状态s_falses_true。两个转换都是由同一个事件触发的t_button_clicked。根据变量test_var,任何时候都可能只有一个转换。当另一个t_button_clicked事件发生时,状态机返回到s_initial

为了测试状态机,我创建了一个简单的 Qt-Widgets 应用程序,其中一个按钮触发t_button_clicked,一个复选框更改变量test_var

(主窗口.cpp)

(testchart.scxml)

从 scxml 文件中可以看出,我将日志输出添加到每个 state-onentry 以查看该状态是否已进入。此外,我向按钮和复选框单击添加了调试输出。当我运行应用程序时,控制台输出不是我所期望的:

值是多少并不重要test_var。状态机总是首先转换到s_false,而不检查我添加的条件保护。据我所知,我在图表中使用了有效的 ecmascript 表达式,并且 scxml 应该能够根据其规范选择正确的转换。我究竟做错了什么?

0 投票
0 回答
29 浏览

vxml - 如何将预先录制的音频(wav)发送到 vxml 中的 api?

目前在我们的 vxml 中,我们正在分配录制的音频并调用 api (assign name="utterance" expr="application.lastresult$.recording" )。但相反,我必须发送预先录制的音频 wav 文件。有人可以帮忙吗?

0 投票
0 回答
32 浏览

java - 使用 Java 通过 SCXML2 并行执行状态

我有一个最初采用这种方式的 scxml 文件

并在这些状态下执行,我有一个像这样的java代码

现在,我正在尝试引入一些并行性并将 scxml 文件更改为如下所示

现在,我在执行这些并行包含的状态 Issue_1 和 Issue_2 时遇到了一些麻烦。

我试过的

但这从根状态开始,我无法按顺序或并行运行像 Issue_1 和 Issue_2 这样的父状态。

我尝试使用

我期望知道什么?

  • 实现并行可执行状态机的巧妙方法是什么
  • 或者,至少,我怎样才能从给定状态启动 SCXMLExecutor(如 "Issue_1" ... )

先谢谢各位