欢迎来到天天文库
浏览记录
ID:59010834
大小:1.41 MB
页数:46页
时间:2020-09-26
《第十章 状态机图ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章状态机图10.1状态机图概述10.2状态机图基本元素10.3建立状态机图10.4状态机图应用范围小结110.1状态机图概述状态机图用来对系统的动态行为建模;描述单一对象在其生命期内受各种事件的影响而发生的状态变化;状态机图是展示状态与状态转换的图,可以描述对象的行为,也可以描述用例、协作和方法甚至整个系统的动态行为。210.2状态机图基本元素图10-1状态机图初始状态终止状态中间状态事件转换监护条件活动动作分支3一、状态(state)1、状态对象生命周期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。说明:对象在任何时候都会处于某种状态中,所有对象都
2、有状态。对象所处的状态决定了它如何响应所检测到的事件或所接受的消息。通常,事件使对象从一种状态转向另一种状态(即状态的转移)。4例:CD播放器5一、状态(state)2、状态的表示状态名称入口动作出口动作内部转换内部活动可推迟事件状态示例6动作(Action)可执行的原子计算。不可中断,其执行时间可忽略不计。两种特殊动作:进入动作(entryaction):进入某状态时执行的动作,用“entry/要执行的动作”表示。退出动作(exitaction):退出某状态时执行的动作,用“exit/要执行的动作”表示。7活动对象处于某个状态时,对象进行的一些列动作。表示活动的格式为“do/动作名”
3、8一、状态(state)3、状态的分类初态终态简单状态(中间状态)组合状态历史状态9显示状态图中状态机的执行(execution)的开始。一个状态机只能有一个初态。如果一个状态机用多张图描述,则多张图用同一个初态。如果用了组合状态,则组合状态中可有初态。(1)初始状态(StartState)10表示一个最后的或者终端状态。(2)终止状态(EndState)一张图中终态可以有多个,也可以没有。11(3)简单状态组成:状态名进入/退出动作内部转移----不导致状态改变的转换,不会执行entry和exit动作。内部活动延迟事件----延迟到下一状态处理的事件。12例:状态示例13含有子状态的
4、状态称为组合状态。(4)组合/嵌套状态14两种类型:顺序子状态—复合状态包含的多个子状态之间是互斥的;—复合状态只包含一个状态机。并发子状态—复合状态包含两个或多个并发的子状态机。(4)组合/嵌套状态15两种类型:并发子状态顺序子状态(4)组合/嵌套状态16复合状态的表示法有2两种:(1)将子状态机嵌入表示状态的圆角矩形中(2)在圆角矩形中加入加分解指示符(4)组合/嵌套状态17(5)历史状态使用历史状态,则可以存储退出组合状态时所处的子状态,则返回组合状态时可以直接回到相应的子状态。18二、转换(transition)1、转换两个状态之间的一种关系,表示对象在第一个状态中执行一定
5、的动作,并在某个特定事件发生而且满足某个条件时进入第二个状态。转换进入的状态称为活动状态,转换离开的状态变变为非活动状态。19二、转换(transition)2、转换的格式事件(参数)[条件]/动作Help[len(PSW)<>6]/verifyPSW.help()每个转移只允许一个事件,一个事件只允许一个动作。20二、转换(transition)3、转换的分类外部转换内部转换自动转换复合转换21一种改变对象状态的转换,用从源状态到目标状态的箭头表示。(1)外部转换22有一个源状态但没有目标状态,转换后的状态仍是它本身。(2)内部转换23在没有外部事件的作用下,对象执行了某些活动后,自
6、然而然地完成的转换。自动转换是离开某个状态后重新进入原先的状态,它会激发状态的入口动作和出口动作的执行。(3)自动转换24复合转换由简单转换组成,通过分支判定,把多个简单转换组合在一起。(4)复合转换25三、事件(Event)1、事件是对一个时间和空间上占有一定位置的有意义的事情的规格说明。2、事件的类型信号事件调用事件变化事件时间事件延迟事件26所谓信号,是指由一个对象异步地发送、并由另外一个对象接收的一个已命名的对象。信号事件表示对象接收到某个信号。(1)信号事件(signalevent)信号可以作为状态机中一个状态转换的动作而被发送,也可作为交互中的一个消息发送。27一个对象请求
7、调用某个对象的成员方法;是一种同步机制。(2)调用事件(callevent)28某个指定属性值为真时,事件得到触发。用关键字When,后面跟布尔表达式。When(temperature>120)/alerm()(3)变化事件(changeevent)29满足某一时间表达式的情况的出现。例如到达某时间或经过了某一时间段。用关键字After或When表示。(4)时间事件(timeevent)30对象处在某状态时外部事件产生了,但没有执行事件,要推迟
此文档下载收益归作者所有