解决方法
范围
首先,Quantum平台为UML状态机提供了完整的执行框架,而boost :: statechart只能帮助实现状态机.因此,boost :: statechart提供与Quantum Platform(QEP)的事件处理器相同的机制.
UML一致性
这两种方法都符合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实时功能(请参阅常见问题解答).
我知道的差异太大了,告诉我如果你找到更多,我会感兴趣!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。