title: GUI for Creating Visual State Machine
body: <p>I want to create an application GUI that allows a user to create a visual state machine.  The interface would work similarly to Microsoft's Visio product, where the user adds blocks or circles (states) and then connects the states with arrow lines denoting a change of state or an event.  In the backend, I would like the GUI to create an SCXML file to describe the important connections.</p>
  
  <p>See: SCXML in wikipedia</p>
  
  <p>Here are some other requirements:</p>
  
  <ol>
  <li>Cross Platform (Linux/Windows/MAC OSX)</li>
  <li>Open Source</li>
  <li>User-friendly</li>
  <li>Qt implementation - (preferred, not required)</li>
  </ol>
  
  <p>Here are some related projects:</p>
  
  <ol>
  <li><a href="http://ostatic.org/fsme" rel="nofollow">http://ostatic.org/fsme</a> - Doesn't work with new version of Qt, not well-maintained</li>
  <li><a href="http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html" rel="nofollow">http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html</a> - very close, but missing some functionality such as multiple connections between two states.</li>
  </ol>
  
  <p>If there are no other alternatives, I am going to take Qt's Diagram Scene example (above) and modify it to suit my needs.</p>
  
  <p>I would love to know if anyone else knows of a well-supported and well-developed tool for dynamically creating visual state machines.</p>