UML状态机-具有条目活动的复合状态中的显式条目

时间:2019-04-22 15:11:49

标签: uml state-machine

我对UML状态机图有疑问。

根据UML 2.5规范,“ 14.2.3.4.5进入状态”,第19页。 307f。

  

显式条目:如果传入的Transition或其延续在组合状态的直接包含的子状态上终止,则该子状态变为活动状态,并且其条目Behavior在执行包含组合状态的条目Behavior后执行。如果Transition在间接(深度嵌套)子状态处终止,则此规则将递归应用。

e 为我们的显式输入,这意味着在给定情况下,将执行 A1 (即 x )的输入活动在 A (是 y )进入活动之前,对吗?还是相反?

Diagram

谢谢。

2 个答案:

答案 0 :(得分:4)

  

让我们作为显式输入,这意味着在给定情况下,A1(即x)的输入活动在A(即y)的输入活动之前执行,对吗?还是相反?

否,这是相反的情况(其条目行为是在执行包含组合状态的条目行为之后执行的),因此 x y

之后执行

这是合乎逻辑的,您先输入 A ,然后再输入 A1 (先进入建筑物,然后再将公寓进入建筑物)。在退出时,这当然是相反的,您先从 A1 退出,再从 A

退出

答案 1 :(得分:3)

子状态输入活动在包含状态输入活动完成后运行。因此,最外部的状态进入活动首先运行,最后内部的运行。

因此,如果我们具有状态x,y,z,其中x包含y且y包含z和Ax,则Ay和Az分别是x,y和z的输入活动,那么当转换终止于z时,执行顺序为Ax => Ay => Az。

请注意,退出活动的执行顺序相反(从最里面的状态开始,从最外面的状态开始)