基本原理:
状态机常用于解决某些类型的控制问题,其中控制流可以描述为在多个不同状态间的转换。状态机有多种不同的定义和实际描述;从理论层面来说,它就像一个自动机,通过改变自身状态来响应特定的刺激。为了给出一个具体而通用的表达,例如,可以将其视为一个通过遍历一系列状态来响应输入字符串的自动机。如果达到期望状态,则输入字符串等价于该通用表达式。
在控制软件中,通常将状态机的有限性和确定性作为其计算模型的基础。这从根本上意味着可能的状态或状态组合的数量是有限的,并且状态机在任何给定时间只能处于一个状态。我们稍后会看到,一次只能处于一个状态的规则可以放宽,但关键在于状态流的状态是一个确定性属性。