Welcome to the world of Statecharts
What is a statechart?
A statechart can be explained in many ways, and we’ll get to those explanations, but essentially, a statechart is a drawing. Here’s a simple statechart:
However, this drawing isn’t very useful for software engineers who want to reap the benefits outlined elsewhere on this site, so let’s dive into some other ways of describing what a statechart is. The original paper that defines statecharts bills them as “A visual formalism for complex systems” (Harel, 1987). With that out of the way, let’s try to explain statecharts.
Introduction to statecharts
Put simply, a statechart is a beefed up state machine. The beefing up solves a lot of the problems that state machines have, especially state explosion that happens as state machines grow. One of the goals of this site is to help explain what statecharts are and how they are useful.
Why should you use statecharts?
Statecharts offer a surprising array of benefits
It’s worth noting that you’re already coding state machines, except that they’re hidden in the code.
Why should you not use statecharts?
... continue reading