- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(4)调用事件(Call Event) ?调用事件表示调用者对操作的请求,调用事件至少涉及两个以上的对象,一个对象请求调用另一个对象的操作。 ?调用事件一般为同步调用,也可以是异步调用。如果调用者需等待操作的完成,则是同步调用,否则是异步调用。 ?调用事件的定义格式为: 事件名(参数列表) ?参数的格式为: 参数名:类型表达式 ?例:调用事件示例,如图7.12 所示。 Home 7.4.1 事件 图7.12 调用事件示例 (5)信号事件(Signal Event) ?在状态机图中,可以使用信号发送构造型图标和信号接收构造型图标表示信号事件。 ?信号发送构造型图标是一个矩形的一侧为尖角,它代表一个信号的发送,其中含有发送子句。 ?信号接收构造型图标是一个矩形的一侧为凹角,它代表一个信号的接收,其中含有事件名称。 ?例:信号发送与接收的构造型图标,如图7.13所示。它是一个微波炉工作的状态机图。 Home 7.4.1 事件 图7.13 信号发送与接收的构造型图标示例 (6)改变事件(Change Event) ?改变事件表示一个通知信息,通知某个条件已为“真”, 以触发一个转移。 ?改变事件用关键字“when”说明,后面带有括在圆括号中的布尔表达式,并且跟有动作,意指当该布尔表达式为真时,执行规定的动作,引起状态的转移。 ?改变事件与保安条件不同。 ?保安条件在事件触发时求值,而改变事件是在条件为真时被触发。当一个对象发生改变时,二者连续被检查。 Home 7.4.1 事件 (7)时间事件(Time Event) ?时间事件表示一个通知信息,通知自从进入状态以来某个时间期限已到,或者已经到了某个特定的日期/时间,以触发一个转移。 ?时间事件用关键字“after”说明,带有括在圆括号中的时间表达式,并且后跟动作。 ?例:时间事件与改变事件的示例,如图7.14所示。 Home 7.4.1 事件 图7.14 时间事件与改变事件示例 (8)延迟事件(Deferred Event) ?延迟事件是在本状态不处理、推迟或排队等到另外一个状态才处理的事件。 ?延迟事件需要在状态的图标中列出延迟事件名,其后跟一个斜杠“/”和特定的动作“defer”。 ?例:在图7.6的状态“键入口令”中的事件“setTest / defer”是一个延迟事件,说明事件“setTest”(设置测试)在本状态中不响应,推迟到另外一个状态才处理。 ?在建立状态机图时,将会发现许多事件,其中有些事件可以作为状态转移的事件触发子;另一些事件意义不大,可以忽略;还有一些事件可以延迟到以后再起作用。 Home 7.4.1 事件 ?条件(保安条件)是为触发转移必须满足的条件。 ?一个状态的转移可能是自动发生的,也可能是在满足某个条件的情况下发生的。当转移按照判定而分支时,条件是判定的依据。 ?条件一般用一个布尔表达式表示,可能涉及到正在触发的事件的参数和属性。 ?在事件发生时,一个条件对于一个转移只求值一次。如果该转移再次被触发,则该条件可以再次求值。 ?例:条件示例,如图7.15所示。 Home 7.4.2 条件 图7.15 条件示例 ?动作是一组可执行语句或计算过程。一个动作可以包括操作调用,创建或销毁另一个对象,发送一个信号给另一个对象等。 ?动作是原子的、不可被中断的。 ?动作可以有一个动作表达式,它由用逗号分隔的动作子句表构成。 ?动作子句的格式为: 动作子句 返回表 := 操作名 [变量表] ?动作子句是一个调用动作(Call Action),它引起对一个操作的调用,当转移被触发时执行。 ?操作的返回值组成返回表,该值应是随后的操作的实在参数。 Home 7.4.3 动作 ?动作的类型有:入口动作,出口动作,调用动作,延迟动作,创建动作,销毁动作,返回动作,终止动作,发送动作,本地调用动作,例外动作等。 ?入口动作和出口动作是在内部转移框中规定的,当进入或离开该状态时执行的动作。 ?标有关键字“defer”的动作称为延迟动作,用于延迟一个事件。 ?创建动作创建一个对象类的实例(对象),它没有目标对象。 ?销毁动作销毁一个对象类的实例(对象),它必须有目标对象。 ?返回动作返回一个值或值集给调用者。 ?终止动作引起对象的自析构(Self-Destruction),即自动销毁,结束对象的生存。 Home 7.4.3 动作 ?发送动作异步发送一个信号。发送动作可用专门发送子句表示,其图形形式如图7.16所示。 ?发送动作还可以利用信号发送与接收的构造型图标,如图7.13 所示。 ?本地调用动作调用本地的操作,不产生调用
文档评论(0)