问题标签 [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 投票
14 回答
12479 浏览

programming-languages - 有没有内置状态机结构的编程语言?

我只是好奇是否有一种以状态机(类似于 boost::statechart)作为主要语言结构的编程语言。

类比 - c# 有委托,其中 java 使用观察者模式,而 C 有回调。Perl 和 python 具有内置哈希,而 C++ 和 java 需要一个库。

更新:

这应该是 C++、C#、Java、Lisp 意义上的通用编程语言......

我的意思是“成熟的”状态机,在 Harel 形式主义或 UML 状态图或 boost::statechart 级别上具有所有的花里胡哨。

0 投票
2 回答
2338 浏览

c# - 具有代码生成的分层状态图设计器

什么是最好的免费和最好的商业工具,可以让我绘制 uml 分层状态聊天,如下图所示。如果它可以生成 c# 源代码存根,那也很酷。

在此处输入图像描述

0 投票
4 回答
64113 浏览

uml - 状态图和活动图的区别

我真的无法理解这两个图表之间的真正区别。我的意思是这两个交易都是“状态”,但我不确定什么处理什么?

0 投票
1 回答
1755 浏览

.net - .NET 的状态或工作流程图组件

我正在寻找 .NET 的组件或库,它允许我进行可视化编辑,或者至少可视化简单的状态或工作流程图或图表。

最好是免费的,但商业也可以。

有人有什么建议或经验吗?

0 投票
2 回答
351 浏览

c++ - 在 boost::statechart 中记录状态变化

对于单元测试,我试图在启动状态机事件后记录所有状态事务。
例如,如果我将事件 A 发布到 async_state_machine 的 fifo_scheduler,状态机将经过状态 B、C,然后返回 D。由于无法记录所有事件状态,我只能检查它是否在之后进入状态 D它是在进行单元测试时完成的:-(

我唯一能想到的就是修改我创建的所有状态(从 simple_state 派生)的所有反应方法或构造函数,以便它们进行记录。当我真的想在它调用状态的 react() 方法之前挂钩到 async_state_machine 时,这似乎有点骇人听闻......

0 投票
5 回答
924 浏览

javascript - 像 Sproutcore 的状态图这样的 JavaScript 状态图?

在 Sproutcore 中有一个状态图框架,我可以使用它来提供应用程序状态,该状态包含您可以在不同状态下执行的操作。

我想知道是否有类似的独立状态图框架可以在 Sproutcore 之外使用,例如。与 YUI3 结合使用。

0 投票
2 回答
552 浏览

state-machine - IAR VisualState 需要为状态内的每个表达式触发

我使用基于状态机的设计工具已经有一段时间了,并且已经看到 UML 建模工具允许您在状态内执行逻辑(调用函数、执行其他操作)。但是,在使用 IAR VisualState 几天后,您似乎无法在没有触发器的状态下执行您的逻辑。我很困惑,因为对状态内的每一个动作都有一个触发器是没有意义的!

这是我对状态图工具的期望:如果我进入 StateA,在进入状态后,我在 entry 部分设置我的值,然后我想调用一个函数(我只想调用它,NO TRIGGER),然后在里面那个函数,我想根据一些逻辑触发一个事件,那个事件会触发从StateA到StateB或StateC的状态转换。

这种期待有问题吗?在 VisualSTATE 中可能吗?

非常感谢您的帮助。

0 投票
2 回答
3303 浏览

c++ - 使用转换提升状态图传递参数

我正在尝试学习 boost::statechart。

我想制作一个加载文件的小应用程序。

但是我如何将参数传输到状态,例如文件名?如果我将文件名存储在 EvLoad 中,我可以轻松访问它以进行状态反应

但是当我处于 Unloaded 状态时,我正在调用 Loaded 的构造函数,我无法将参数传递给它。我想出的唯一解决方法是在转换之前重新发布事件,但这对我来说看起来有点脏。

有更好的选择吗?

0 投票
1 回答
2344 浏览

c++ - 如何在 boost::statechart state_machine 对象中获取当前最衍生的状态?

我正在使用 boost::state_chart 库。出于调试目的,我想在任何给定时间知道我的状态机的状态。如何在 state_machine 对象中获取当前(最衍生的)状态?

0 投票
4 回答
4073 浏览

javascript - 更多 Javascript 状态图框架

我正在使用 ExtJS,并认为这是一个了不起的框架。但是,他们没有内置状态图,这使得依赖于状态的应用程序开发非常痛苦。

我最近发现了这个:

https://github.com/jakesgordon/javascript-state-machine

对于 JS 应用程序来说,这似乎是一个非常可靠的状态图。

我想知道是否还有其他类似的框架,以便我可以在确定使用哪个框架之前进行比较。

谢谢!