“Don't call us, we'll call you” (Hollywood Principle)
—Richard E. Sweet, The Mesa Programming Environment, 1985
When you start combining multiple UML state machines into systems, you'll quickly learn that the problem is not so much in coding the state machines—Part I of this book showed that this is actually a nonissue. The next main challenge is to generate events, queue the events, and write all the code around state machines to make them execute and communicate with one another in a timely fashion and without creating concurrency hazards.
Obviously, you can develop all this “housekeeping”1 Published estimates claim that anywhere from 60 to 90 percent of an application is common “housekeeping” code that can ...