UML状态图的正确方法

UML状态图的正确方法,uml,state-machine,Uml,State Machine,在UML中对子状态机的终止进行建模的正确方法是什么 假设我有一个子状态机,用于处理传入事件的某种代理。 假设这个状态机叫做“处理” 仅仅画一条从“处理”机器到父状态机器的另一个状态的转换线是否有效 e、 g 当“用户已取消”触发器发生时,我如何显示处理状态机终止?您的建模正常。当处理处于活动状态且用户取消为当前事件时,将激活从处理到完成的转换处理在其任何子状态(即子机器中的任何状态)处于活动状态时处于活动状态。因此,事件user cancelled将停止子机的执行,执行将转到done 注意:如果

在UML中对子状态机的终止进行建模的正确方法是什么

假设我有一个子状态机,用于处理传入事件的某种代理。 假设这个状态机叫做“处理”

仅仅画一条从“处理”机器到父状态机器的另一个状态的转换线是否有效

e、 g


当“用户已取消”触发器发生时,我如何显示处理状态机终止?

您的建模正常。当
处理
处于活动状态且
用户取消
为当前事件时,将激活从
处理
完成
的转换<代码>处理在其任何子状态(即子机器中的任何状态)处于活动状态时处于活动状态。因此,事件
user cancelled
将停止子机的执行,执行将转到
done

注意:如果您只允许取消执行
处理
(子机器)的部分(但不是全部)子状态,那么您的状态机需要更多地参与。事件
用户取消
如果按照您的图表中的方式进行建模,则功能将过于强大。

看起来还可以,但这里(在您的图表中)
用户取消
是一种触发器(事件),作为事件定义,它意味着如果用户取消操作并完成处理,它将转换为
完成
,我指的是您(是)的触发器上述事件并不意味着终止剩余的工作,您需要将此事件指定为外部事件。
+SUB----------+                          +-----------+
| processing  |---user cancelled  ------>| done      |
+-------------+                          +-----------+