Designing Hierarchical State Machines Using Frame Notation
In 1987 Dr. David Harel introduced a visual modeling technique for defining system behavior that he called Statecharts (see as an example the Citizen watch model above). His notation was subsequently adopted by Rational Software as part of its UML specification in the mid-90s, lending the approach a broad audience of software architects and engineers.
In his paper, Dr. Harel described the notation as a “Visual Formalism for Complex Systems” which extended traditional notation for modeling automata with some powerful additional concepts. Key among these were the ideas of states having enter and exit events for initialization and cleanup, hierarchical state machines, state histories and orthogonal machines running in parallel.