用C++设计状态机

sky*_*gle 7 c++ state design-patterns state-machine

我有一个涉及建模状态机的问题.

我设法做了一点知识工程和"逆向工程"一组原始确定性规则,确定状态和状态转换.

我想知道最佳做法是什么:

  • 如何严格测试我的状态和状态转换,以确保系统不会最终处于未确定状态.

  • 如何强制执行状态转换要求(例如,应该不可能直接从stateFoo转到StateFooBar,即向每个状态灌输关于它可以转换到的状态的'知识'.

理想情况下,我想尽可能使用基于模式的干净设计和模板.

我确实需要一个地方开始,我会感激任何指针(没有双关语意),这是我发送的方式.

gam*_*gul 7

请务必查看Boost状态图库.