目标集的 SCXML 表示法

标签 scxml

如何根据 https://www.w3.org/TR/scxml/#LegalStateConfigurations 定义“合法状态配置” .我想指定一个目标集 (!),而不是单个目标。目标集可以在 initial 中定义<scxml> 的属性和 <state>元素,以及 target <transition> 的属性元素。但我似乎无法在上述属性中找到任何不止一种状态的符号示例。他们必须空间分隔吗?还是根据 JavaScript 的数组表示法?还是对象表示法?还是逗号分隔? 感谢您的任何提示。

但无论如何我想知道,我在标准中遗漏了什么,以确保与解释器无关。

这是一个小测试代码:

<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0">
    <initial>
        <transition target="State_3_2 State_4_2" />
    </initial>
    <parallel id="Parallel_1">
        <history id="hist" type="deep">
            <transition target="State_1_2 State_2_2" />
        </history>
        <state id="State_1">
            <state id="State_1_1" />
            <state id="State_1_2" />
        </state>
        <state id="State_2">
            <state id="State_2_1" />
            <state id="State_2_2" />
        </state>
    </parallel>
    <parallel id="Parallel_2">
        <transition target="hist" event="switch_hist" />
        <state id="State_3">
            <state id="State_3_1" />
            <state id="State_3_2" />
        </state>
        <state id="State_4">
            <state id="State_4_1" />
            <state id="State_4_2" />
        </state>
    </parallel>
</scxml>

要测试:在进入时,状态 State_3_2State_4_2必须处于事件状态(initial 元素正确执行),在事件 switch_hist 之后, 状态 State_1_2State_2_2必须处于事件状态(正确执行 transition 属性)。 如果有人除了 SCION 之外还有一个解释器,你能在那里测试吗? 前 4 行替换为

的替代语法
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="State_3_2 State_4_2">

谢谢。

最佳答案

它是用空格分隔的。您可以在 SCXML test test suite 中看到这方面的示例.例如 test364 的第 9 行.

希望这对您有所帮助。谢谢。

关于目标集的 SCXML 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49711002/

相关文章:

java - Apache SCXML : add a custom action

qt - 如何测试 Qt SCXML 状态机

xml - 视觉状态图编辑器

Qt 5.8 如何使用带有子状态机的 SCXML 框架?

java - Apache Commons SCXML - 找不到 JexlContext

c - C语言的有限状态机编译器模拟网络协议(protocol)

java - Commons SCXML - 强制跳转到给定状态

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