c – Boost StateCharts与Samek的“量子状态图”的比较

前端之家收集整理的这篇文章主要介绍了c – Boost StateCharts与Samek的“量子状态图”的比较前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我曾经沉迷于Miro Samek的“量子分层状态机”,但我想知道它与Boost StateCharts的比较 – 正如曾与两者合作的人所说的那样.任何接受者?

解决方法

我知道他们两个,虽然在不同的细节水平.但我们可以从我遇到的差异开始,也许还有更多:-).

范围

首先,Quantum平台为UML状态机提供了完整的执行框架,而boost :: statechart只能帮助实现状态机.因此,boost :: statechart提供与Quantum Platform(QEP)的事件处理器相同的机制.

UML一致性

这两种方法都符合UML标准.但是,Quantum平台在相应状态的退出操作之前执行转换操作.这与UML相矛盾,但实际上这很少是一个问题(如果开发人员知道它).

Boost :: statechart是根据UML 1.4设计的,但据我所知,UML 2.0中的执行语义没有以不兼容的方式改变(如果我错了请纠正我),所以这不应该是一个问题.

支持的UML功能

两种实现都不支持完整的UML状态机功能集.例如,QP中不直接支持并行状态(也称为AND状态).它们必须由用户手动实现. Boost :: statechart不支持内部转换,因为它们是在UML 2.0中引入的.

我认为每种技术支持的确切功能很容易在文档中找到,所以我不在这里列出它们.

事实上,两者都支持最重要的状态图功能.

其他差异

另一个区别是QP适用于嵌入式应用程序,而boost :: statechart可能不是.常见问题解答说“它取决于”(见http://www.boost.org/doc/libs/1_44_0/libs/statechart/doc/faq.html#EmbeddedApplications),但对我来说这已经是一个很大的警告信号.

此外,您必须采取特殊测量才能获得boost :: statechart实时功能(请参阅常见问题解答).

我知道的差异太大了,告诉我如果你找到更多,我会感兴趣!

猜你在找的C&C++相关文章