|
Boost : |
Subject: [boost] [MSM] Meta State Machine Library Accepted
From: David Abrahams (dave_at_[hidden])
Date: 2010-01-12 22:56:58
I'm pleased to announce the acceptance into Boost of
the Meta State Machine library by Christophe Henry
The library got seven reviews, all thoughtful and in-depth, and was
unanimously accepted by all reviewers (conditionally, by three of
them). Reading through the reviews (not to mention all the other
commentary) was truly an overwhelming experience for me. The
thoroughness and depth of knowledge of the reviewers seemed to be a
cut well above what I'm used to seeing. That, along with the
unanimity of their votes, and Christophe's good-natured responsiveness
to questions and criticism during the review, make me very confident
in accepting MSM.
The reviews contain scads of feature requests, ideas, and other
valuable nuggets for Christophe to work on, so many that nobody other
than Christophe would find a full enumeration useful. So, sorry
Christophe, I'm going to leave it to you to troll for details in the
message archives. [I suggest taking a pass over all issues mentioned
and turning them into Trac tickets. Maybe you can get the review
authors to do that themselves for their own reviews.]
However, I can summarize some broad themes and issues of general
interest to Boosters (and a few things I feel strongly about but won't
demand):
* There was universal satisfaction with the performance of state
machines generated with MSM.
* Though the tutorial was generally praised, every conditional
acceptance was predicated on improving the documentation, in
particular on providing a library reference. This really must be
done. There were also several requests to break the tutorial
into multiple pages.
* One reviewer had problems reading the tutorial because it relies so
heavily on UML terms-of-art. I agree with him that people only
familiar with FSMs ought to be able to read the tutorial as well.
That may mean including documentation of some UML concepts in the
library docs.
* eUML is really cool but it is apparently still in flux; for now it
should probably be labelled as an experimental feature subject to
change.
* SimpleStates do not support internal transitions. They should.
* The name is a bit misleading. Now would be the time to come up with
something better if you're going to do it. StateChart is called
StateChart in part because of my insistence that any library called
Boost.FSM should be able to implement small, tight state machines
appropriate for embedded systems use. Even though this library has
those properties, I do not know whether the name would be
appropriate, for several other reasons I won't list but that you,
dear reader are probably thinking of right now.
Thank you to Christophe and all the reviewers for restoring my faith
in the Boost review process. And of course, congratulations to
Christophe. Now the fun is over and the hard work begins... :-)
-- Dave Abrahams Meet me at BoostCon: http://www.boostcon.com BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk