Finite State Machine:
有限状态机(FSM)或有限状态自动机或简称状态机,是表示有限个状态以及在这些状态之
间的转移和动作等行为的数学模型.
简单说明一下,可以这样理解,系统的行为如果在不同的时间(环境)下,其工作不同,并
且行为可以分成所谓的有限的状态以及不重叠的程序块时,系统显现出了状态行为。
这其实说明了两件事情,如果是状态机(这篇文章说说的状态机是FSM的简称),肯定体现
了两点:首先是离散的,然后是有限的。
State:
状态这个词有些难以定义,状态存储关于过去的信息,就是说它反映从系统开始到现在时
刻的输入变化。
Actions & Transitions:
转换指示状态变更,并且用必须满足来确使转移发生的条件来描述它。
动作是在给定时刻要进行的活动的描述。有多种类型的动作:
1).进入动作
在进入状态时进行
2).退出动作
在退出状态时进行
3).输入动作
依赖于当前状态和输入条件进行
4).转换动作
在进行特定转换时进行
Guards:
检测器出现的原因是为了检测是否满足从一个状态切换到另外一个状态的条件。
Event:
事件,又见事件,笼统说来,对系统重要的某件事情被称为事件。
恩,就这些了,有些迷惑么:),恩,我们来理清一下思路:先从事件说起,事件是有生命
的,它经历:
1).被产生(被接受,等待被处理,一般放入事件对列)
2).被分发(从事件队列取出,分发到响应的状态机处理)
3).死亡(当状态机处理了该事件,它随之死亡)
从一个状态切换到另外一个状态被称为状态转换,而引起它的事件称为触发事件.(可以看
到,不是所有的事件都会引起状态的转换).
提到状态转换,不能不提及检测器(Guards),只有当检测器的值为TRUE时候,才能启动转
换