主要内容

在并行状态广播本地事件

定向事件使用发送广播

此示例显示使用定向事件广播的行为发送(event_name.endy_name.的)转换中的语法。该图表使用并行状态隐式排序(参见隐式排序并行状态)。

最初,图表睡着了。并联变形物A.A1B.B1处于活动状态,这意味着并行(和)售货机一种B.也是活跃的。条件[data1 == 1]是真的。事件e_one.属于图表,两者都可见一种B.

醒来后,图表检查各级层次结构的有效转换:

  1. 图表根检查以查看事件结果是否存在有效的转换。没有有效的过渡。

  2. 状态一种根据事件检查任何有效转换。因为条件[data1 == 1]是真的,有一个有效的州过渡A.A1到国A.A2

  3. 那个行动发送(e_one,b)执行:

    1. 活动的广播e_one.到达状态B.。因为州B.处于活动状态,该状态接收到事件广播并检查是否存在有效转换。有效的过渡B.B1B.B2

    2. 状态B.B1出口行动(exitB1())执行和完成。

    3. 状态B.B1变得不活跃。

    4. 状态B.B2变得活跃。

    5. 状态B.B2入口行动(ENTB2())执行和完成。

  4. 状态A.A1出口行动(exita1())执行和完成。

  5. 状态A.A1变得不活跃。

  6. 状态A.A2变得活跃。

  7. 状态A.A2入口行动(Enta2())执行和完成。

该序列完成了使用定向事件广播到并行状态的图表的执行。

定向事件使用合格的事件名称广播

此示例显示了在转换中使用合格的事件名称的定向事件广播的行为。该图表使用并行状态隐式排序(参见隐式排序并行状态)。

图表中唯一的差异定向事件使用发送广播是:

  • 事件e_one.属于国家B.并且只能看到这种状态。

  • 那个行动发送(e_one,b)就是现在发送(b.e_one)

    使用合格的事件名称是必要的,因为e_one.州不可见一种

醒来后,图表检查各级层次结构的有效转换:

  1. 图表根检查以查看事件结果是否存在有效的转换。没有有效的过渡。

  2. 状态一种根据事件检查任何有效转换。因为条件[data1 == 1]是真的,有一个有效的州过渡A.A1到国A.A2

  3. 那个行动发送(b.e_one)执行并完成:

    1. 活动的广播e_one.到达状态B.。因为州B.处于活动状态,该状态接收到事件广播并检查是否存在有效转换。有效的过渡B.B1B.B2

    2. 状态B.B1出口行动(exitB1())执行和完成。

    3. 状态B.B1变得不活跃。

    4. 状态B.B2变得活跃。

    5. 状态B.B2入口行动(ENTB2())执行和完成。

  4. 状态A.A1出口行动(exita1())执行和完成。

  5. 状态A.A1变得不活跃。

  6. 状态A.A2变得活跃。

  7. 状态A.A2入口行动(Enta2())执行和完成。

此序列完成使用定向事件广播的图表执行,使用限定事件名称到并行状态。

也可以看看

相关话题