状态图讲授汇总.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. 调用事件(Call Event) 调用事件表示调用者对操作的请求,调用事件至少涉及两个及以上的对象,一个对象请求调用另一个对象的操作。 调用事件一般为同步调用,也可以是异步调用。如果调用者需等待操作的完成,则是同步调用,否则是异步调用。 调用事件的定义格式为: 事件名(参数列表) 参数的格式为: 参数名:类型表达式 如图所示,转换上标出了一个调用事件,其名称为“retrieve”,带有参数“Keyword”。当在状态“查询”中发生调用事件“retrieve”时,则触发状态转换到“数据操纵”,要求执行操作“retrieve(Keyword)”,并且等待该操作的完成。 3. 改变事件(Change Event) 改变事件指的是依赖与特定属性值的布尔表达式所表示的条件满足时,事件发生改变。改变事件用关键字when来标记,包含由一个布尔表达式指定的条件,事件没有参数。这种事件隐含一个对条件的连续的测试。当布尔表达式的值从假变到真时,事件就发生。要想事件再次发生,必须先将值变成假,否则,事件不会再发生。建模人员可以使用诸如when(time=8:00)的表达式来标记一个绝对的时间,也可以用如when(number100)之类的表达式来对其进行连续测试。 改变事件的定义格式为: when(布尔表达式)/动作 如图所示,“打印机暂停”状态有一个自转换,其上标出了改变事件的条件是“打印纸数量=0”,动作是“printTest”。 要小心使用改变事件,因为它表示了一种具有事件持续性的并且可能是涉及全局的计算过程。它使修改系统潜在值和最终效果的活动之间的因果关系变得模糊。可能要花费很大的代价测试改变事件,因为原则上改变时间是持续不断的。因此,改变事件往往用于当一个具有更明确表达式的通信形式显得不自然时。 注意改变事件与监护条件的区别:监护条件仅只在引起转换的触发器事件触发时或者事件接受者对事件进行处理时被赋值一次。如果为假,那么转换不激发并且事件被遗失,条件也不会再被赋值。而改变事件隐含连续计算,因此可以对改变事件连续赋值,直到条件为真激发转换。 4. 时间事件(Time Event) 时间事件是经过一定的时间或者到达某个绝对时间后发生的事件,用关键字after来标识,包含时间表达式,后跟动作。如果没有特别说明,表达式的开始时间是进入当前状态的时间。 时间事件的定义格式为: after(时间表达式)/动作 如图所示,在“打印就绪”状态和“打印”状态之间的转换上列出了一个时间事件“after(2 seconds)/ connectPrint”,说明若在“打印就绪”状态的时间达2秒钟就执行动作“connectPrint”,连接打印机,转换到“打印”状态。 5. 延迟事件(Deferred Event) 延迟事件是在本状态不处理、推迟或排队等到另外一个状态才处理的事件,用关键字defer来标识。 延迟事件的定义格式为: 延迟事件/defer 通常,在一个状态的生存期出现的事件,若不被立即响应,就会被丢失。这些未立即触发转换的事件,可以放入一个内部的延迟事件队列,直到它被需要或被撤销为止。如果一个转换依赖于一个事件,而该事件已在内部的事件队列中,则立即触发该转换。如果存在多个转换,则在内部的延迟事件队列中的首个事件将优先触发相应的转换。 例如图中的延迟事件是“Print/defer”,在当前状态下不执行打印,而将打印事件放进队列中排队,要求延迟到后面的状态中再执行。 3 组 成 状 态 组成状态(Composite State)是内部嵌套有子状态的状态。 1. 顺序组成状态 一个顺序组成状态最多可以有一个初始状态和一个终态,同时也最多可以有一个浅(Shallow)历史状态和一个深(Deep)历史状态。 2. 并发组成状态 在一个组成状态中,可能有两个或者多个并发的子状态机,称这样的组成状态为并发组成状态。 4 状态图的创建概述 4.1 创建状态图 4.2 创建初始和终止状态 初始状态和终止状态是状态图中的两个特殊状态。初始状态代表着状态图的起点,终止状态代表着状态图的终点。 4.3 创建状态 创建状态的步骤可以分为:创建新状态、修改新状态名称、增加入口和出口动作、增加活动。 1. 创建新状态 单击状态图工具栏中的图标,然后在绘制区域单击鼠标左键。 2. 修改新状态名称 创建新的状态后可以修改状态的属性信息。双击状态图标,在弹出对话框的General选项卡里进行名称Name和文档说明Documentation等属性的设置。 3. 增加入口和出口动作 在状态属性设置对话框中打开Actions选项卡,在空白处单击鼠标右键,在弹出的快捷菜单中选择Insert命令,双击出现的动作类型Entry,在弹出对话框的When下拉列表中选择On En

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档