A finite state machine is a model of a reactive system. The model defines a finite set of states and behaviors and how the system transitions from one state to another when certain conditions are true.

A finite state machine is used to model complex logic in dynamic systems, such as automatic transmissions, robotic systems, and mobile phones.

Examples of operations containing complex logic include:

- Scheduling a sequence of tasks or steps for a system
- Defining fault detection, isolation, and recovery logic
- Supervising how to switch between different modes of operation

A finite state machine can be represented by state charts. State charts provide additional capabilities beyond traditional finite state machines, such as:

- Modeling hierarchical states for large-scale systems
- Adding flow graphs to define complex decision logic
- Defining orthogonal states to represent systems with parallelism

For more information about modeling state machines, see Stateflow^{®.}.

- Stateflow Overview 1:58 (Video)
- Control Logic Made Easy with Stateflow 38:30 (Webinar)
- Introduction to Stateflow for Controls Applications 22:01 (Video)
- Modeling Logic in Communications Applications (Part 1) 8:20 (Video)
- Finite State Machine Concepts (Documentation)

- Fault Detection for an Aircraft Control System (Example)
- Develop Logic for a Launch Abort System 12:46 (Video)
- Spacecraft Automated Landing System 17:56 (Video)
- Requirements-Based Testing in Aircraft Control Design (AIAA Paper)

- Modeling a Fault-Tolerant Fuel Control Systems (Example)
- Automotive Powertrain Control System 17:21 (Video)
- Automatic Transmission Control (Example)
- Hybrid Electric Vehicle Modeling and Simulation 45:15 (Webinar)

*See also*: *control logic*,* control systems*, *embedded systems*, *state chart*, *state diagram*