有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,又称状态转移图,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

有限状态机可以将复杂的逻辑简化为有限个稳定状态,在稳定状态中判断事件。其中有限不是指有限次处理,而是有限个稳定状态,并且有限状态机是一个闭环系统,可以用有限的状态处理无尽的事务。

有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。在计算机科学中,有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。

当需要描述一个对象或系统的行为状态时,相比于直接的语言描述,更推荐使用状态机表或状态机图的形式。

做需求时,至少要了解以下四种元素:

  • 起始
  • 终止
  • 状态
  • 历史状态,再加上动作和条件,我们就可以完成一个状态机图。

于状态机图来说,基本要用到6个元素:

  • 起始
  • 终止
  • 状态
  • 历史状态
  • 动作
  • 条件

状态机简单的例子