Preface
Boost.Msm is the library that supports the implementation of the modelling machine corresponding to the UML 2.x. You can access all the relevant documents via the following URL.
http://www.boost.org/libs/msm/doc/HTML/index.html
This article's purpose is to indicate the guidelines for how UML
modelers can use Boost.Msm effectively.
This guideline is based on Functor front-end.
http://www.boost.org/libs/msm/doc/HTML/ch03s03.html
Boost.Msm supports basic front-end. It contains many transition table notation: (e.g. _row, a_row, g_row, and so on)
See http://www.boost.org/libs/msm/doc/HTML/ch03s02.html
They are rather complicated. I recommend that you should use the Functor front-end instead of them. Because Functor front-end is the most sophisticated and efficient approach. In the future, the Functor front-end might be replaced with eUML notation. It has been released as experimental for now. (version 1.51.0) http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html
Guidline
Simple state machine
Initial transition's action
Self transition and internal transition
Two different ways of implement internal transitions
Junction pseudo state
Choice pseudo state
Deferred events
Sub-machine state
comment test content.