   solutions force the developer to design the state machine either
    graphically or in a specialized language. All or part of the code is then
    generated</li>

    <li>allow for easy transformation of a UML statechart (defined in
      <a href="http://www.omg.org/cgi-bin/doc?formal/03-03-01">http://www.omg.org/cgi-bin/doc?formal/03-03-01</a>)
      into a working state machine. Vice versa, an existing C++
      implementation of a state machine should be fairly trivial to transform
      into a UML st