首页 > 解决方案 > UML 2.X 活动图中的对象流是否作为前面动作的先决条件?

问题描述

在学习 UML 活动图时,我看到了一些关于对象流的不同解释,有点困惑。

在此处输入图像描述

考虑上面带有 UML 2.2 语义的天真图片。每次调用“Robot do sth”这个活动时,机器人应该去它的工作位置处理工件。之后,机器人将回到空闲位置,加工后的工件将通过输出参数送回。

这里的问题只是,除了上面的控制流之外,来自输入参数的对象流是否被视为动作“处理”的前提条件?或者类似地,如果输入控制流被令牌命中但输入对象流上没有准备好工件,是否会发生“处理”动作?

标签: umlactivity-diagram

解决方案


事情可以同时发生。Activity 启动时,机器人转动(第一个动作),然后等待工件到达,然后开始工作。可以有零到多个工件等待。机器人只会拿走一个工件并进行加工。然后再次转动后,活动停止。无论堆放多少工件。只有当活动开始时,机器人才会取走另一个工件。

所以是的,至少有一个工件是Action加工的先决条件,但不是Activity.


推荐阅读