gpt4 book ai didi

UML 状态图深入与内部转换

转载 作者:行者123 更新时间:2023-12-04 08:21:37 24 4
gpt4 key购买 nike

我对下面的状态图有疑问;
enter image description here
我想,在 UML 中,这是可能的。在这种情况下,执行顺序是 S1 进入,S3 进入。我对吗?
在下图中,发生从“任何其他状态”到 s1 的转换时的执行顺序是什么?
enter image description here

最佳答案

对于第一张图:

execution order is S1 enter, S3 enter. Am I right?


是的,您是对的,来自标准 formal/2017-12-05第 14.2.3.4.5 节
进入状态页面310:

Explicit entry: If the incoming Transition or its continuations terminate on a directly contained substate of thecomposite State, then that substate becomes active and its entry Behavior is executed after the execution of theentry Behavior of the containing composite State.


对于第二个图表:
  • 它似乎使用了一个 entryPoint 伪状态(绘制得不好),但是从任何其他状态的转换都不是它,而是 S1,因此对于初始伪状态,执行是 entryActS1 然后是 entryActS2。
  • 如果它不是入口点,而是从边界的本地转换,不会改变任何其他状态,并且执行也是 entryActS1,则 entryActS2。

  • 关于过渡指示内部
    从可能的 entryPoint 伪状态或从边界的转换是内部指示的,但内部转换是自转换,其中源和目标处于相同状态,如标准 formal/2017-12-05 中所述。 §14.2.3.8.1
    相对于源页面 314 的转换类型:

    kind = internal is a special case of a local Transition that is a self-transition (i.e., with the same source andtarget States), such that the State is never exited (and, thus, not re-entered), which means that no exit or entryBehaviors are executed when this Transition is executed. This kind of Transition can only be defined if thesource Vertex is a State.


    所以第二张图是非法的:
  • 如果是入口伪状态而不是内部状态,则从它的转换是本地的,如标准 formal/2017-12-05 中所述§ 14.5.11.8 约束第 361 页:

  • state_is_local

    A Transition with kind local must have a composite State or an entry point as its source.


  • 如果从边界过渡,它可以是局部的或外部的,但在绘制时它是局部的,参见标准 formal/2017-12-05第335页图14.34局部转换和图14.35外部转换看图的区别
  • 关于UML 状态图深入与内部转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65474542/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com