问题标签 [boost-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.
c++ - Boost.Python 是否需要其他 boost 库的绑定代码?
我有一个继承自 boost::statechart 库的类。我需要在 Python 脚本中使用这个类,我想知道我是否需要为所有 boost::statechart 库编写包装代码(.def s)只是因为我的类继承自它?或者 boost.python 不需要任何包装代码来查看定义(它会自动处理其他 boost 库以在 python 中调用)?
c++ - Boost statechart interaction
I have two statecharts (FSM_A and FSM_B) implemented using boost::statechart.
Is it safe to process an event from FSM_A in order to trigger a transition in FSM_B?
Should I use two async_state_machine? Or maybe a common outermost state?
Here is an example:
c++ - 如何知道异步状态机何时终止。(升压::状态图)
我需要创建一个 boost::statechart::asynchronous_state_machine 并且我需要能够在外部“销毁”它。我在文档中发现我应该调用 destroy_processor 并终止执行它。问题是这些方法只是在机器事件队列中插入一个事件,因此,如果我在处理这些事件之前删除 fifo_scheduler<>,则会引发错误......(参见下面的示例)
问题是......我怎么知道 asynchronous_state_machine 何时“终止”并且“删除” fifo_scheduler<> 是安全的?
c++ - boost statechart 正交状态的并行执行
我有一个有几个正交状态的状态机。这些状态对同一事件作出反应。当事件通过 发送时process_event
,一个简单的基准告诉我它是按顺序处理的,即使状态彼此正交。
有没有办法让这些正交状态并行处理事件?
c++ - IVR 呼叫流状态机
我正在尝试实现一个状态机,它可以使用 Boost Statechart Library 处理 IVR 内的调用流,但我在 C++ 上非常绿色,需要一些基础知识。
假设我的呼叫流程如下所示:(关注前 2 个状态 USR_checkSubscription 和 USR_checkBalance)
我的问题很简单,但我只能找到如何让它发挥作用!我知道初始状态将是USR_checkSubscription,但是当我进入该状态时,我如何根据我在那里制作的东西去其他状态,假设我想去状态“USR_checkBalance”如果我有一个带有 value= 的变量1.
这是我的 SM_callModel.cpp
c++ - 关于 Boost Statechart 中状态变化的通知
是否有一种直接的方法可以在 Boost Statechart 中注册状态更改?
对于数码相机示例,假设我决定向应用程序添加一个 GUI。除了查询状态之外,是否有可能通知状态之间的转换?
c++ - boost.statechart 库中的转换与 custom_reaction
我已经阅读了 boost.statechart 库及其示例的教程,并且我有一个与转换及其操作相关的问题。
有两种方法可以使用定义过渡transition<>
,custom_reaction
但是它们之间的主要区别是什么以及何时使用其中的任何一种?
uml - UML 状态图:完成转换
在具有运行到完成模型的 UML 状态图的上下文中,如何处理“完成转换”?
- 状态的完成会在事件队列的开头插入一个“完成事件”,因此只有在状态机显式步进时才执行“完成转换”,或者
- 状态的完成立即触发“完成转换”(以及可能的后续“完成转换”),因此状态机可以为每个显式步进执行多个步骤。
这两种情况都表明,一个状态的未受保护的“完成转换”有效地使任何其他定义的转换(无论是事件触发的还是受保护的)都是多余的。
我是否正确理解这一点?
c++ - Boost Statechart 中的多个延迟事件
Boost Statechart 中的多个延迟事件如何表现?
假设我有 4 个状态和 3 个事件。非延迟转换如下所示:
S1--(E1)-->S2--(E2)-->S3--(E3)-->S4
状态机从 S1 开始。现在事件按以下顺序发布:E2、E3、E1。
我希望状态机由于这一系列事件而到达 S4。为了实现这一目标,我必须做什么?
- 我显然必须在 S1 中推迟 E2 和 E3。
- 我可能还必须在 S2 中推迟 E3?我想否则当到达 S2 时它将被丢弃。
我假设这部分文档: http: //www.boost.org/doc/libs/1_55_0/libs/statechart/doc/reference.html#process_event包含答案,但它是非常技术性的(而是对实现比语义 - 教程也不是更清晰),并且包含大量参考,因此很难确定。