Bre*_*ias 7 c++ comparison boost state-machine
我曾经沉迷于Miro Samek的"量子分层状态机",但我想知道它与Boost StateCharts的比较 - 正如曾与两者合作的人所说的那样.任何接受者?
我知道他们两个,虽然在不同的细节水平.但我们可以从我遇到的差异开始,也许还有更多:-).
首先,Quantum Platform为UML状态机提供了完整的执行框架,而boost :: statechart只能帮助实现状态机.因此,boost :: statechart提供与Quantum Platform(QEP)的事件处理器相同的机制.
这两种方法都符合UML标准.但是,Quantum平台在相应状态的退出操作之前执行转换操作.这与UML相矛盾,但实际上这很少是一个问题(如果开发人员知道它).
Boost :: statechart是根据UML 1.4设计的,但据我所知,UML 2.0中的执行语义没有以不兼容的方式改变(如果我错了请纠正我),所以这不应该是一个问题.
这两种实现都不支持完整的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实时功能(请参阅常见问题解答).
我知道的差异太大了,告诉我如果你找到更多,我会感兴趣!
| 归档时间: |
|
| 查看次数: |
4607 次 |
| 最近记录: |