State Machines

A state machine is an abstract representation of a system's state at a given point in time. A transition is the change from one state to another given a set of inputs.

There are two types of state machines: Finite, and infinite. A finite state machine (FSM) has a finite number of states and actions whereas an infinite state machine has an infinite number of states and/or actions. Generally, the term "state machine" refers to a finite state machine.

State machines can be depicted formally in a visual format, which makes them useful for describing complex systems.

State Machine Resources

Deeper Knowledge on State Machines


A visual formalism for complex systems

XState (JavaScript Library)

A library to create state machines and state charts written in JavaScript

Broader Topics Related to State Machines


Fun with numbers

State Machines Knowledge Graph