Rise of the (State) Machines
In 2002, Jonathan Kaye and David Castillo wrote the book Flash MX for Interactive Simulations: How to Construct and Use Device Simulations. It was published by Delmar Thomson Learning in November, 2002.
The book was a methodology book disguised as an advanced Flash book. One of the core methodologies that the book brought to the Flash world was David Harel's Hierarchical State Machines. As well, the book contained numerous sections about developing effective product simulations, not just technical aspects of state machine development.
Over the course of the years, we have developed versions for AS1, AS2, and now, AS3. When AS2 came out with Flash MX 2004, we made a transition (no pun intended) from the original book code into a more Flash-centric approach, which we called version 1.5.
Since there are significant differences between AS2 and AS3, we have made another transition in our AS3 implementation, particularly around making the event handling consistent with the model of AS3. Other important improvements are:
- Automatic transition path detection, enabling developers to say "transition to state X", without having to specify the path as to how the engine should get there
- Flexible support for UML 2.0 internal and external transitions
- More verbose methods and property names
- Detailed class documentation produced directly from the source code.
We invite you to join us in spreading the word about this important subject.