【发布时间】:2021-04-09 14:01:53
【问题描述】:
在状态机图中,动作可以在状态内执行,也可以在转换期间执行?
这个定义是真是假?
【问题讨论】:
-
我的回答能解决你的问题吗? (What should I do when someone answers my question?)
标签: uml state-diagram
在状态机图中,动作可以在状态内执行,也可以在转换期间执行?
这个定义是真是假?
【问题讨论】:
标签: uml state-diagram
是的,用“行为”替换“动作”更准确(在状态机中,“图表”在这里不相关)
来自formal/2017-12-05 §14.2.3.4.3 状态进入、退出和 doActivity 行为:
一个状态可能有一个关联的入口行为。此行为(如果已定义)在进入状态时执行 通过外部转换。此外,一个状态也可能有一个关联的退出行为,如果定义了,它是 退出状态时执行。
一个状态也可能有一个关联的 doActivity 行为。此行为在进入状态时开始执行 (但仅在 State entry Behavior 完成之后)并与任何其他可能的 Behaviour 同时执行 与国家相关联,直到:
- 完成(在这种情况下会生成完成事件)或
- 状态已退出,在这种情况下,doActivity 行为的执行将被中止。
一个状态的 doActivity 行为的执行不受该状态的内部转换触发的影响。
来自formal/2017-12-05 § 14.2.3.8 过渡:
一个过渡......它可能有一个 关联效果Behavior,在Transition被遍历(执行)时执行。
Behavior 可以是 OpaqueBehavior、Activity、StateMachine 或 Interaction(参见 formal/2017-12-05 § 13.4.2.4 专业化 关于抽象类Behavior)
【讨论】: