文档

转换

什么是过渡?

一个过渡是将一个图形对象链接到另一个图形对象的带箭头的线。在大多数情况下,转换表示系统从一种模式(状态)对象到另一种模式(状态)对象的传递。转换通常连接源对象和目标对象。的对象是转换开始的地方,而目的地对象是转换结束的地方。下表显示了从源状态,B,到目的地国家,一个

连接将过渡段划分为过渡段。在这种情况下,完整的转换由从源状态到目标状态的段组成。在确定完整转换的有效性的过程中,对每个段进行评估。

下面的示例有两个分段转换:一个来自状态另一个来自州本身:

默认转换是一种没有源对象的特殊类型的转换。看到默认的转换获取详细信息。

过渡的层次结构

转换不能像状态那样包含其他对象。但是,转换是由状态包含的。转换的层次结构是根据转换的父级、源级和目标级来描述的。父级是包含转换源和目标的最低级别。考虑以下例子中转换的父级:

下表解析了上例中每个转换的父级。的/字符代表图表。状态层次结构中的每一层都用句点(隔开。)字符。

过渡的标签

转变家长

转换源

过渡的目的地

switch_off

/

/Power_on

/Power_off

switch_high

/Power_on

/Power_on

/Power_on

switch_cold

/Power_on

/Power_on

/Power_on

过渡标签符号

过渡的特征是它的标签.标签可以由事件、消息、条件、条件操作和/或转换操作组成。的吗?字符是默认的转换标签。转换标签有以下通用格式:

event_or_message条件) {condition_action} /transition_action

标签的每一部分都是可选的。

过渡标签的例子

使用下面的示例来理解转换标签的各个部分。

事件触发。如果指定的条件为true,则指定导致进行转换的事件。指定事件是可选的。如果没有事件或消息,则表示在任何事件发生时进行转换。使用OR逻辑运算符(|).

在前面的例子中,事件的广播E触发从只要条件(off_count = = 0)是真的。

条件。指定一个布尔表达式,当为true时,验证要为指定事件或消息触发器采取的转换。将条件括在方括号内([]).看到条件有关条件符号的信息。

在上面的例子中,条件(off_count = = 0)必须计算为true,才能执行条件操作,并且从源到目标的转换有效。

条件的行动。后面是转换的条件,用花括号括起来({}).一旦条件被计算为true,并且在确定转换目的地有效之前,它就会立即执行。如果没有指定条件,则隐含条件的计算结果为true,并执行条件操作。

在上面的例子中,如果条件(off_count = = 0)是真的,条件作用吗Off_count = Off_count + 1;立即执行。

过渡的行动。如果条件(如果指定)为true,则在确定转换目标有效后执行。如果转换由多个段组成,则只有在确定到最终目的地的整个转换路径有效时才执行转换操作。在转换动作之前加上/

在上面的例子中,如果条件(off_count = = 0)是真的,而目的国呢是否有效,转换动作Light_off是执行。

有效的转换

在大多数情况下,当转换的源状态是活动的且转换标签有效时,转换是有效的。默认转换是不同的,因为没有源状态。假设超状态是活动的,则在存在到超状态的转换时评估默认转换到子状态的有效性。这个标记标准同时适用于默认转场和一般情况下的转场。下表列出了有效转换标签的可能组合。

过渡的标签

是有效的,如果……

活动只

这事件发生时

事件和条件

该事件发生,条件为真

消息只

这个消息发生

信息和条件

mgssage发生且条件为真

条件只

任何事件发生且条件为真

行动只

任何事件发生时

未指定

任何事件发生时

这个话题有帮助吗?