Boost Statechart vs. Meta State Machine

前端 未结 5 1031
隐瞒了意图╮
隐瞒了意图╮ 2021-01-29 18:13

Apparently boost contains two separate libraries for state machines: Statechart and Meta State Machine (MSM). The taglines give very similar descriptions:

  • Boost.St
5条回答
  •  温柔的废话
    2021-01-29 18:56

    As there seems to be much interest, please allow me to give my (obviously biased) opinion, which should therefore be taken with a grain of salt:

    • MSM is much faster
    • MSM requires no RTTI or anything virtual
    • MSM has a more complete UML2 support (for example internal transitions, UML-conform orthogonal regions)
    • MSM offers a descriptive language (actually several). For example, using the eUML front-end, a transition can be described as Source + Event [Guard] / Action == Target
    • MSM will make your compiler suffer for bigger state machines, so you will need a pretty recent compiler (g++ >= 4.x, VC >= 9)

    You can make yourself a better opinion by looking for comments posted during the review of MSM. This subject was much discussed on the developer list.

提交回复
热议问题