A flat finite-state machine has one node for every combination of every independent fact. Add a feature and the diagram explodes. Add another feature and the explosion compounds. By the time the model describes a real system, the drawing itself is the bottleneck.
David Harel’s 1987 statechart introduced four ideas that keep the diagram linear while the system grows exponentially: hierarchy (states inside states), orthogonality (independent regions running in parallel), broadcast communication (events emitted and reacted to across regions), and history (remembering where you left off).
Interactive field notes
The original explainer below is interactive — toggle the watch features, step through door-and-light examples, and pause the washing machine.
Statecharts are not just nicer diagrams. They are a formalism for reactive systems: a precise, executable model of how a system reacts to events over time. That is why they show up in the control layer of any serious runtime.