问题标签 [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.
scxml - 如何在scxml中定义一个子程序
我试图弄清楚如何在 SCXML 中编码子例程。作为子程序,我的意思是可以从不同的进程(状态)调用并返回给调用者的进程/例程/函数。
起初我尝试使用历史状态,但返回时调用者状态将重新启动,因此进入循环。那是草图。
c++ - 如何在 Qt SCXML 状态图中使用条件转换
我目前正在尝试了解 Qts scxml 状态图,以及如何将它们正确集成到我的应用程序中。我偶然发现的一个问题是条件转换。为了解释我如何在这里使用条件以及出了什么问题,我做了一个最小的可行示例:
初始状态s_initial
有两个转换到状态s_false
和s_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 应该能够根据其规范选择正确的转换。我究竟做错了什么?
vxml - 如何将预先录制的音频(wav)发送到 vxml 中的 api?
目前在我们的 vxml 中,我们正在分配录制的音频并调用 api (assign name="utterance" expr="application.lastresult$.recording" )。但相反,我必须发送预先录制的音频 wav 文件。有人可以帮忙吗?
java - 使用 Java 通过 SCXML2 并行执行状态
我有一个最初采用这种方式的 scxml 文件
并在这些状态下执行,我有一个像这样的java代码
现在,我正在尝试引入一些并行性并将 scxml 文件更改为如下所示
现在,我在执行这些并行包含的状态 Issue_1 和 Issue_2 时遇到了一些麻烦。
我试过的
但这从根状态开始,我无法按顺序或并行运行像 Issue_1 和 Issue_2 这样的父状态。
我尝试使用
我期望知道什么?
- 实现并行可执行状态机的巧妙方法是什么
- 或者,至少,我怎样才能从给定状态启动 SCXMLExecutor(如 "Issue_1" ... )
先谢谢各位