State machines make implicit logic explicit

A computational model where behavior depends on current state plus input. Transitions between states are explicit, enumerable, predictable.

The power: you can't be in two states at once. Edge cases become visible. The diagram is the specification.

Variations: finite state machines, hierarchical state machines (statecharts), Petri nets for concurrency.

In practice: UI flows, protocol handlers, game logic, workflow engines. Anywhere "mode" matters.

See also: dygram, domain-specific-languages