
Dear Boosters, I'm happy to announce the review-ready new version of Msm (2.0). Msm is a framework which enables you to build a Finite State Machine in a straightforward, descriptive and easy-to-use manner. The generated code is optimized for speed and will force you to use neither RTTI nor anything virtual. Msm supports most of UML state machine features: - state entry/exit - transition actions/guards - composite states - history - orthogonal regions - terminate states - deferred events - explicit entry/fork - entry/exit pseudostates - anonymous transitions - transition conflicts and much more. Msm v2.0 is a redesign of Msm v1.20 and offers a separation beetween front- and back-ends. There is currently one backend and several frontends: - the same frontend as Msm v1.20 - a variation of this frontend based on functors for actions - eUML, a boost::proto-based compile-time language allowing you to use UML notations directly inside your code, thus making writing code from a state machine diagram easier. eUML also comes in with a functional programming library similar to Boost.Phoenix, adapted to state machines. I'll be happy for any comment. You can find Msm v2.0 in: - the vault (http://www.boostpro.com/vault/index.php?directory=Msm) - the boost sandbox (http://svn.boost.org/svn/boost/sandbox/msm/) The documentation can be found at libs/msm/doc/index.htm and the code in the boost/msm subdirectory. The 1.0 and 1.10 are now retired. To close up the 1.x path, I'll bring a 1.21 with the latest bugfixes and then retire the 1.20 from the vault. Best regards, Christophe