Boost logo

Boost :

Subject: [boost] [msm] Version 2.0 available
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2009-11-10 05:27:08

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
- 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 (
- the boost sandbox (

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

Best regards,


Boost list run by bdawes at, gregod at, cpdaniel at, john at