网站大量收购独家精品文档,联系QQ:2885784924

南理工泰科院UML06分析.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南理工泰科院UML06分析

复合状态 为何不在组合中加初态、终态? 可以将任一子状态作初态 去掉运行这个大的状态行吗? 行,但效果不好 隐藏子状态,简化模型复杂度,增强清晰性 伪状态 伪状态(pseudo state)是状态机中的一类顶点,某种瞬态的抽象。伪状态有10种。 始态:initial,表示一个缺省顶点,在复合状态内指明一个缺省起始状态。 分叉:fork将一个转换分开成为两个或多个转换,进入正交的多个目标顶点。分叉意味着某些行为并发执行。 “单入多出棒” 汇合:join将不同的正交区间中的源顶点发出的多个转换合并起来,形成一个转换。汇合可对多个状态之间控制同步。 “多入单出棒” 伪状态 分叉fork与汇合join 分叉的输出端没有触发事件,也没有条件。 分叉意味着可并发执行的行为。 汇合的输出端没有触发事件,也没有条件。 汇合用于在多个状态之间控制同步。 分叉与汇合可以合并为一个伪状态。 伪状态 接合:junction是一个点,用于将多个转换链接起来,在不同状态之间构建一个“组合转换”路径,实现“静态条件分支”。注意,不能有多条输出边上的条件同时为真。 伪状态 选择:choice 可实现“动态条件分支”,即在运行过程中动态计算触发器的不同条件,再转移到不同的路径上。 选择点表示为一个菱形,有一个输入多个输出路径,分别标注不同的条件,且允许有多条输出路径的条件同时为真 伪状态 复合状态的中断与恢复。 深历史:deepHistory表示为H*,记录了它所在复合状态的最近激活配置。能恢复到任意深层的子状态。 浅历史:shallowHistory表示为H,记录了同一层次的最近激活的子状态,但不包括更深层的子状态。 CD Player,running状态被打断到power on状态,再转回到running状态时,希望直接进入历史状态。 伪状态 入口点:entryPoint提供一种封装机制,在其内部定义了多个初始状态供外部转换使用。 出口点:exitPoint也是一种封装机制,在其内部定义了多个终态供外部转换使用。 入口点与出口点用来封装和引用子机状态。 终结:terminate。表示为X,终止状态机的执行,意味着持有状态机的对象被撤销。很少用。 终态 终态(final state)是一种特殊的状态,表示包含当前区间内的状态改变完毕,本质上反映了局部行为的终止。 终态不是伪状态。 终态不能有直接转出的转换。 图中,现处于B态,发生事件e,执行动作序列为_______,将进入_____态。 子机状态 子机状态(submachine state)是一种特殊的复合状态,在一个状态机内引用另一个状态机作为其一个状态,就是一个子机状态。 定义一个子状态机 子机状态 引用一个子状态机 先定义一个子状态机,明确入口点和出口点。 一个子机表示一种可复用的行为。 引用一个子机,相当于调用一个行为。 隐藏内部子机状态,可简化复杂的状态机 协议状态机 协议状态机protocol state machine。协议状态机用于表示使用协议,它表示一个类元可触发的合法的状态转换,可方便地定义一类对象的生命周期,或者对象的各个操作被调用的次序。 协议转换的表示语法 协议转换 协议状态机 状态机建模技术 标识出需要建模的对象或交互 寻找主要的状态 确定状态之间的转换 细化状态内的活动与转换 用组合/嵌套状态来展开细节 应用示例 应用示例 细化状态内的活动与转换 应用示例 使用复合状态 状态图小结 状态图为什么很重要? 它能帮助系统开发人员理解系统中各类对象的行为; 了解对象的状态,控制对象的状态变化,确保对象做用该做的事情; 它具有不可替代的、独特的作用。 状态图究竟描述了什么? 对象能响应什么事件 如何响应事件 过去的经历对当前行为有什么影响。 练习题 下面不是状态图组成要素的是 状态 (B)转换 (C)初始状态 (D)链 下列说法不正确的是 (A)触发器事件就是能够引起状态转换的事件,触发器事件可以是信号、调用等。 (B)没有明确标明触发器事件的转换是由状态中活动的完成引起的。 (C)内部转换只有源状态,没有目标状态,不会激发入口和出口动作,因此内部转换激发的结构不改变本来的状态。 (D)浅历史状态是保存在最后一个引起封装组成状态退出的显式转换之前处于活动的所有状态。 练习题 如果处于T态,当发生事件c时,将执行的动作序列是________,而后转到________态。 如果处于V态,当发生事件d时,将执行的动作序列是________,而后转到________态。 如果处于T态,当发生事件g时,将执行的动作序列是________,而后转到________态。 Chapter 1 - The Contex

文档评论(0)

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

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

1亿VIP精品文档

相关文档