问题标签 [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.

0 投票
1 回答
134 浏览

c++ - Boost.Python 是否需要其他 boost 库的绑定代码?

我有一个继承自 boost::statechart 库的类。我需要在 Python 脚本中使用这个类,我想知道我是否需要为所有 boost::statechart 库编写包装代码(.def s)只是因为我的类继承自它?或者 boost.python 不需要任何包装代码来查看定义(它会自动处理其他 boost 库以在 python 中调用)?

0 投票
0 回答
127 浏览

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:

0 投票
1 回答
1094 浏览

c++ - 如何知道异步状态机何时终止。(升压::状态图)

我需要创建一个 boost::statechart::asynchronous_state_machine 并且我需要能够在外部“销毁”它。我在文档中发现我应该调用 destroy_processor 并终止执行它。问题是这些方法只是在机器事件队列中插入一个事件,因此,如果我在处理这些事件之前删除 fifo_scheduler<>,则会引发错误......(参见下面的示例)

问题是......我怎么知道 asynchronous_state_machine 何时“终止”并且“删除” fifo_scheduler<> 是安全的?

0 投票
1 回答
183 浏览

c++ - boost statechart 正交状态的并行执行

我有一个有几个正交状态的状态机。这些状态对同一事件作出反应。当事件通过 发送时process_event,一个简单的基准告诉我它是按顺序处理的,即使状态彼此正交。

有没有办法让这些正交状态并行处理事件?

0 投票
1 回答
275 浏览

c++ - IVR 呼叫流状态机

我正在尝试实现一个状态机,它可以使用 Boost Statechart Library 处理 IVR 内的调用流,但我在 C++ 上非常绿色,需要一些基础知识。

假设我的呼叫流程如下所示:(关注前 2 个状态 USR_checkSubscription 和 USR_checkBalance) 呼叫流程

我的问题很简单,但我只能找到如何让它发挥作用!我知道初始状态将是USR_checkSubscription,但是当我进入该状态时,我如何根据我在那里制作的东西去其他状态,假设我想去状态“USR_checkBalance”如果我有一个带有 value= 的变量1.

这是我的 SM_callModel.cpp

0 投票
1 回答
425 浏览

c++ - 关于 Boost Statechart 中状态变化的通知

是否有一种直接的方法可以在 Boost Statechart 中注册状态更改?

对于数码相机示例,假设我决定向应用程序添加一个 GUI。除了查询状态之外,是否有可能通知状态之间的转换?

0 投票
1 回答
260 浏览

c++ - boost.statechart 库中的转换与 custom_reaction

我已经阅读了 boost.statechart 库及其示例的教程,并且我有一个与转换及其操作相关的问题。

有两种方法可以使用定义过渡transition<>custom_reaction但是它们之间的主要区别是什么以及何时使用其中的任何一种?

0 投票
1 回答
741 浏览

uml - UML 状态图:完成转换

在具有运行到完成模型的 UML 状态图的上下文中,如何处理“完成转换”?

  1. 状态的完成会在事件队列的开头插入一个“完成事件”,因此只有在状态机显式步进时才执行“完成转换”,或者
  2. 状态的完成立即触发“完成转换”(以及可能的后续“完成转换”),因此状态机可以为每个显式步进执行多个步骤。

这两种情况都表明,一个状态的未受保护的“完成转换”有效地使任何其他定义的转换(无论是事件触发的还是受保护的)都是多余的。

我是否正确理解这一点?

0 投票
1 回答
1394 浏览

c++ - Boost statechart - 使用 triggering_event 将事件数据传递给状态构造函数

我希望能够将数据从事件传递到由于转换而构建的状态。

从2009年的这篇文章和2010 年的这篇triggering_event()文章中建议使用。但是,我在任何地方都找不到演示如何使用它的示例。

任何人都可以帮忙吗?

0 投票
1 回答
794 浏览

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包含答案,但它是非常技术性的(而是对实现比语义 - 教程也不是更清晰),并且包含大量参考,因此很难确定。