针对同一触发事件UML状态图的多个操作

时间:2015-09-21 11:34:05

标签: uml statechart

我是UML状态图表示法的新手,我试图模拟在同一个触发事件上有两个被触发的动作,但这些动作中的一个是可选的,具体取决于条件。

以下只是我需要的模拟,以下符号是真还是假?: enter image description here

2 个答案:

答案 0 :(得分:2)

在UML状态图中,每个转换都由一个且仅一个事件触发。在您的情况下,似乎一个事件将导致转换到两个不同的状态,或者,如您所述,具有可选路径。我个人建议如下:

An UML State Chart Showing a Pseudostate to branch on the conditional leading to an optional task being executed.

我所做的是使用Pseudostate在您提到的条件下进行分支。因此,如果您的条件成立,则转换到最底部的最终状态,如果不是,则转换到正确状态。虽然结束状态是相同的,但您的图表现在清楚地概述了每次转换的不同行为。

我为没有使用正确的圆形框而道歉,我使用的在线绘图工具没有提供这些。正如您所看到的,我使用了两个最终状态,但您只能使用一个,UML中都允许使用它们。

答案 1 :(得分:0)

事实上,根据UML psecification,只有一个"效果"或者行动可以通过给定的过渡来实现。因此,为了使你的两个动作模拟两个转换(内部或外部)。 对我来说,你的病情应该像你已经理解的那样表现为一个警卫。 所以你真的有两个可选的行动,或根据一个特定的警卫,你有一个或另一个行动!?你能描述一下你的用例吗?