State machines and statecharts #

FicusJS provides a set of functions for extending components to use state machines and statecharts.

What is a state machine? #

A finite state machine is an alternative way of modeling program state; instead of defining independent variables, a machine is crafted specifically to handle what states are possible, and when a machine is a given state, what next state is allowed.

What are statecharts? #

Statecharts are the "bigger brother" of state machines, designed to overcome the limitations of state machines. A statechart is essentially a state machine that allows any state to include more machines, in a hierarchical fashion.

Find out more #

You can find out more about state machines and statecharts at