问题标签 [statechart]

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 投票
0 回答
343 浏览

qt - Qt 状态图:如何调用已编译的状态机?

阅读了SCXML 调用示例后,我问自己如果要调用使用qscxmlc. 我注意到可以通过使用标签src中的属性来调用另一个状态机。invoke我通过设置srcSCXML 文件的文件系统路径来完成这项工作。但是,我无法弄清楚如何在 Qt 资源中引用 SCXML 文件(使用qrc:///...不起作用)或如何调用已编译的状态机。

更新

我在 Qt 的文档中找不到任何内容,所以我查看了源代码(5.8 版):

加载qscxmlcompiler.cppQScxmlCompilerPrivate::DefaultLoader::load(..)(第 2447 行)中实现:

我注意到它使用 QUrl,因此应该能够使用我尝试使用的资源:/mystatemachinefile.scxml而不是rsc://mystatemachinefile.scxm它并且它有效:) 但是这应该添加到文档恕我直言。

我仍然想知道如果您想在使用状态图之前对其进行编译,应该如何实现它们,但我想这目前是不可能的?

0 投票
2 回答
144 浏览

database - UML 状态图 + 导航栏 + 多个退出操作

希望一切顺利!我正在为网站制作 UML 状态图。如果你有一个导航栏,你会/可以有代表每个链接的多个退出操作吗?

0 投票
1 回答
602 浏览

return - 如何在 UML 状态机中描述返回语句?

是否可以将返回语句显示为 UML 状态图中的转换描述?

是否有任何定义的语法或约定?

示例: int doSomething()

状态 1 --- 返回 doSomething() ---> 状态 2

我没有找到任何适合该主题的内容,如果要在其中编写 OMG UML 规范,我也没有资格阅读。我发现的唯一东西就是这个

关于使用 UML 状态图建模递归调用的论文

作者使用Methode 状态机来跟踪方法的状态。但我想知道如何将其编写为一个动作,例如使用具有返回值的函数而不是跟踪方法所处的特定状态。

0 投票
2 回答
166 浏览

uml - 在 UML 状态图中作为状态的动作

视频中,可以看到 UML 状态图的一部分:

在此处输入图像描述

但是,“提供资金”状态是一种行动。这有什么意义?

状态是否有可能成为动作(动词)?

“提供资金”行动不应该是一个过渡吗?

下面这样的事情不会更有意义吗?

在此处输入图像描述

0 投票
0 回答
192 浏览

c++ - 在状态机中提升状态图存储/检索数据不起作用

我想在状态之间共享一些东西,例如模式变量。我将它保存到状态机。但是,我什至无法访问它的值。

上面的 ctor 从不打印值。

上面的分配也失败了。有谁知道如何让它工作?

或者也许在状态之间共享变量的最佳方式是什么?

或者如果 boost::statechart 太糟糕而无法使用?Boost 的文档在解释其 API 时是如此无用。

0 投票
2 回答
607 浏览

conditional - AnyLogic - 为什么我的基于条件的转换不起作用?

在此处输入图像描述

我有一个与状态图中的转换有关的问题(见上图)。我有一个名为的变量palletInUse,它是一个布尔类型,在真假之间变化。对于状态图中的一个转换,我希望它在变量 PalletInUse 的值为 true 时发生变化。我已经尝试过,例如:

并且还尝试了不同的代码,例如 equals 和 contentEquals 等,但似乎没有任何效果。对于这个看似简单的问题,您有解决方案吗?

提前致谢

0 投票
1 回答
260 浏览

agent - 如何在 Anylogic 中同时运行代理?

如何在 Anylogic 中同时运行代理?当我在 Anylogic 中定义一些代理然后运行程序时,所有代理都没有同时运行。这意味着所有代理都保持在第一个状态,然后其中一个进入某个状态,其他人等到轮到他们。我的问题有解决方案吗?坦克。

0 投票
1 回答
51 浏览

gis - Anylogic CompareRuns 不执行主代理

我正在研究基于代理的模型,现在我正在尝试使用 CompareRuns。

当我执行实验时,它应该多次模拟模型,每次模拟后,应该填充一个样本数据集。Main 代理中还有一个状态图,每个状态都有一个traceln("..."). 所以在通过每个状态之后,必须打印一些东西。

问题是打印命令都没有返回任何内容,我存储数据的数据集也没有返回零。

PS:我的模型中还有一个 GIS 地图。这可能是 Anylogic 行为不端的原因吗?

0 投票
1 回答
1063 浏览

statechart - Xstate:导致相同状态的不同动作和守卫

我正在用 xstate 库编写状态图。

状态图代表一个中等复杂的 UI。

我有几个平行状态,但对于这个问题,我们只考虑两个:

SelectionStatus, 表示选择项,区分子状态SelectedNone, SelectedOne, SelectedMany.

Operation,表示当前正在进行的操作。它有一个名为Idle(当然还有其他一些)的子状态。

有一些事件会触发循环回到Idle子状态的动作,而不是去另一个状态。让我们将它们视为即时操作,例如removeSelected仅删除所选项目的操作(这就是问题的重点)。

removeSelected如果选择仅限于单个项目(实际上是树中的一个节点)或多个(树的一个分支),我将向事件添加条件以执行不同的操作。

用于描述事件的动作和条件的 xstate 语法将是:

问题是我Idle在同一对象嵌套级别编写了两个键,这是无效的。

我已经考虑重组状态图以将两个操作分支作为选择分支的子状态,但这似乎比问题更糟糕。

我也考虑过使用像RemovingOneand这样的中间虚拟状态,RemovingMany它只会触发返回到 的转换Idle,但我对它不太满意。

我可以通过删除保护条件来解决这个问题,在通用removeOneOrMany动作处理程序中进行测试,但是我会丢失状态图中不同处理的信息。

有人有类似的问题,可以提供一些建议吗?

(注:这里指的是当前版本的xstate,也就是3.1.1,3.2差不多了,不知道能不能更容易处理这种情况)

谢谢!

0 投票
5 回答
730 浏览

graph-theory - Is a statechart / finite state machine suitable for modelling a questionnaire

enter image description here

I'd like model the above questionnaire which I believe is a directed acyclic graph.

The two libraries I've been looking at are:

A couple of the issues I have are:

  1. The questionnaire relies on previous states e.g. the answers to previous questions are used to transition to another state (question). Am I right in thinking that "external state" could solve this problem?

  2. If I'm at Q6 and I want to transition to the previous question, then depending on the previous answers, this could be either Q1, Q4, or Q5. I think I could use a stack to push each state as the questionnaire progresses and then pop to get back to a previous state.

Does this all sound feasible or is there a better way to model this problem?