维基百科
有限状态机 (Finite State Machine)又称有限状态自动机 或简称状态机 ,是表示有限个状态 以及在这些状态之间的转移和动作等行为的数学模型 。
状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须满足来确使转移发生的条件来描述它。动作是在给定时刻要进行的活动的描述。有多种类型的动作:
-
进入动作(
Entry action )
- 在进入状态时进行 退出动作
- 在退出状态时进行 输入动作
- 依赖于当前状态和输入条件进行 转移动作
- 在进行特定转移时进行
FSM(有限状态机)可以使用上面图 1 那样的状态图 (或状态转移图)来表示。此外可以使用多种类型的状态转移表 。下面展示最常见的表示:当前状态(B)和条件(Y)的组合指示出下一个状态(C)。完整的动作信息可以只使用脚注来增加。包括完整动作信息的 FSM 定义可以使用状态表 。
-
-
状态转移表 当前状态 →
条件 ↓状态 A 状态 B 状态 C 条件 X … … … 条件 Y … 状态 C … 条件 Z … … …
-
除了建模这里介绍的反应系统之外,有限状态自动机在很多不同领域中是重要的,包括电子工程 、 语言学 、计算机科学 、哲学 、生物学 、数学 和逻辑学 。有限状态机是在自动机理论 和计算理论 中研究的一类自动机。在计算机科学中,有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。
百度百科
Finite State Machine:
有限状态机(FSM)或有限状态自动机 或简称状态机,是表示有限个状态以及在这些状态之 间的转移和动作等行为的数学模型. 简单说明一下,可以这样理解,系统的行为如果在不同的时间(环境)下,其工作不同,并 且行为可以分成所谓的有限的状态以及不重叠的程序块时,系统显现出了状态行为。 这其实说明了两件事情,如果是状态机(这篇文章说说的状态机是FSM的简称),肯定体现 了两点:首先是离散的,然后是有限的。 State: 状态这个词有些难以定义,状态存储关于过去的信息,就是说它反映从系统开始到现在时 刻的输入变化。 Actions & Transitions: 转换指示状态变更,并且用必须满足来确使转移发生的条件来描述它。 动作是在给定时刻要进行的活动的描述。有多种类型的动作: 1).进入动作 在进入状态时进行 2).退出动作 在退出状态时进行 3).输入动作 依赖于当前状态和输入条件进行 4).转换动作 在进行特定转换时进行 Guards: 检测器出现的原因是为了检测是否满足从一个状态切换到另外一个状态的条件。 Event: 事件,又见事件,笼统说来,对系统重要的某件事情被称为事件。 恩,就这些了,有些迷惑么:),恩,我们来理清一下思路:先从事件说起,事件是有生命 的,它经历: 1).被产生(被接受,等待被处理,一般放入事件对列) 2).被分发(从事件队列取出,分发到响应的状态机处理) 3).死亡(当状态机处理了该事件,它随之死亡) 从一个状态切换到另外一个状态被称为状态转换,而引起它的事件称为触发事件.(可以看 到,不是所有的事件都会引起状态的转换). 提到状态转换,不能不提及检测器(Guards),只有当检测器的值为TRUE时候,才能启动转 换