CompilerTech

导航

状态机相关


在实际的应用中,根据有限状态机是否使用输入信号,设计人员经常将其分为Moore型有限状态机和Mealy型有限状态机两种类型。1 Moore型有限状态机 其输出信号仅与当前状态有关,即可以把Moore型有限状态的输出看成是当前状态的函数。2 Mealy型有限状态机 其输出信号不仅与当前状态有关,而且还与所有的输入信号有关,即可以把Mealy型有限状态机的输出看成是当前状态和所有输入信号的函数。

 


Finite State Machine:
  有限状态机(FSM)或有限状态自动机或简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型.
  简单说明一下,可以这样理解,系统的行为如果在不同的时间(环境)下,其工作不同,并且行为可以分成所谓的有限的状态以及不重叠的程序块时,系统显现出了状态行为。
  这其实说明了两件事情,如果是状态机(这篇文章所说的状态机是FSM的简称),肯定体现了两点:首先是离散的,然后是有限的。
  State:
  状态这个词有些难以定义,状态存储关于过去的信息,就是说它反映从系统开始到现在时刻的输入变化。
  Actions & Transitions:
  转换指示状态变更,并且用必须满足来确使转移发生的条件来描述它。
  动作是在给定时刻要进行的活动的描述。有多种类型的动作:
  1).进入动作  在进入状态时进行
  2).退出动作  在退出状态时进行
  3).输入动作  依赖于当前状态和输入条件进行
  4).转换动作  在进行特定转换时进行

  Guards:检测器出现的原因是为了检测是否满足从一个状态切换到另外一个状态的条件。
  Event:事件,又见事件,笼统说来,对系统重要的某件事情被称为事件。
  
  恩,就这些了,有些迷惑么:),恩,我们来理清一下思路:先从事件说起,事件是有生命的,它经历:
  1).被产生(被接受,等待被处理,一般放入事件队列)
  2).被分发(从事件队列取出,分发到响应的状态机处理)
  3).死亡(当状态机处理了该事件,它随之死亡)
  从一个状态切换到另外一个状态被称为状态转换,而引起它的事件称为触发事件.(可以看到,不是所有的事件都会引起状态的转换).
  提到状态转换,不能不提及检测器(Guards),只有当检测器的值为TRUE时候,才能启动转换


 

 

posted on 2012-01-05 10:29  compilerTech  阅读(370)  评论(0编辑  收藏  举报