Finite State Machine

Using finite state machines to model control logic

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®..

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