My software engineering presentation explores Statecharts and why traditional finite state machines become unwieldy as features grow.
I explain how hierarchy and orthogonality help manage complexity while preserving clarity and executable semantics.
The presentation covers transitions, guards, history states, timeouts, and determinism as tools for modeling reactive behavior.
I also compare Statemate, UML 2.0, and Stateflow, and discuss Statecharts’ use in embedded and safety-critical systems.

