• 您的位置我爱Aspx >> VC.Net >> 第6章 状态机视图
  • 第6章 状态机视图

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:49:24  关键字:
  • 内部转换有一个源状态但是没有目标状态。内部转换的激发规则和改变状态的转换的激发规则相同。由于内部转换没有目标状态,因此转换激发的结果不改变本状态。如果一个内部转换带有动作,它也要被执行,但是没有状态改变发生,因此也不需要执行入口和出口动作。内部转换用于对不改变状态的插入动作建立模型(如,记录发生的事件数目或建立帮助信息屏)。

    尽管入口动作和出口动作的执行是由进入或离开某状态的外部转换所引起的,除了使用保留字entry 和exit 代替触发事件名称之外,入口和出口动作使用与内部转换相同的表示法。

    一个自身转移会激发状态上的入口动作和出口动作的执行(从概念上来讲,自身转换从一个状态出发后又会到自身状态),因此,自身转换不等价于内部转换。图6-4 说明了入口动作、出口动作和内部转换。

    图6-4 内部转、入口动作和出口动作

    6.6 组成状态

    一个简单状态没有子结构,只带有一组转换和可能的入口和出口动作。组成状态是一个被分解成顺序的或并发的子状态的状态。表 6-4 列出了各种状态。

    表6-4 状态的种类

    将状态分解成互斥的子状态是对状态的一种专门化处理。一个外部状态被细分成多个内部子状态,每一个子状态都继承了外部状态的转换。在某一时间只有一个子状态处于激活状态。外部状态表达了每一个内部状态都具有的条件。

    进入或离开一个组成状态的转换会引起入口动作或出口动作的执行。如果有多个组成状态,跨越多个层次的转换会引起多重入口动作(最外层最先执行)和出口动作(最内层最先执行)的执行。如果转换带有动作,那么这个动作在入口动作执行后,出口动作执行前执行。

    组成状态也可能在其内部具有一个初始状态。组成状态边界上的转换隐含为初始状态上的转换。一个新对象起始于它的最外层的初始状态。如果一个对象到达了它最外层状态的终止状态,那么该对象将被销毁。初始状态、终止状态、入口动作和出口动作封装了状态的定义,使状态的定义与进出状态的转换无关。

    图6-5展示了一个状态的顺序分解,其中包括一个初始状态。这是售票系统的状态机模型。

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:使用ASP.NET加密口令
    下一篇:迎接CDMA时代吧
  • 相关文章