saved
Statecharts: A visual formalism for complex systems
Hraness wrote this summary from a saved copy of the source. Quotations are taken word for word from the source.
gist
David Harel's 1987 paper introduces statecharts as a visual extension of flat state diagrams for complex reactive systems. Hierarchy (depth), orthogonality (concurrency), and broadcast communication let small diagrams express large event-driven behavior without enumerating every state combination. The formalism is meant as the behavioral specification itself, not a sketch that later becomes text, and was already used on large industrial systems such as avionics.
ideas
- Reactive is not transformational. Event-driven systems that continuously respond to stimuli need a different specification backbone than input/output functions.
- Depth collapses shared transitions. Clustering states into XOR superstates records common exits once instead of copying arrows across every leaf state.
- Orthogonality encodes concurrency. Independent AND components let subsystems change without an exponential product of combined states.
- Broadcast couples concurrent parts. Concurrent regions communicate by broadcasting events rather than wiring every pairwise channel.
- The diagram is the formal object. With precise graphical semantics, statecharts are the description; textual forms are aids, not the source of truth.
quotes
“Reactive systems differ from transformational systems, and require different approaches to their specification.”
“enabling clustering, orthogonality (i.e., concurrency) and refinement, and encouraging ‘zoom’ capabilities”
“Statecharts are thus compact and expressive—small diagrams can express complex behavior—as well as compositional and modular.”
“one uses statecharts as the formal description itself, with each graphical construct given a precise meaning.”