ABSTRACT

Implementing state machines is not as easy as it looks. Even with classical nonhierarchical FSMs, you must make an amazing number of design decisions and trade-offs:

• How do you represent events? How about events with parameters? • How do you represent states? • How do you represent transitions? • How do you dispatch events to the state machine?