如何用活动图模拟N个线程做同样的事情?

时间:2012-11-15 13:21:05

标签: uml activity-diagram

我想绘制表示我的光线跟踪器过程的uml-correct活动图。 我知道我应该使用黑色矩形来模拟fork / join。但是在我的应用程序中,我生成N个线程做同样的事情(这不简单,将通过多个活动元素建模)。如果不知道线程数,我怎么能在没有相同的情况下绘制这样的活动图?

我的解释很差,图片可能有助于理解我想用活动图建模的内容

enter image description here

2 个答案:

答案 0 :(得分:3)

您可以使用扩展区域元素。

答案 1 :(得分:2)

我无法模拟N 控制流的分支,我在三本UML2书籍和UML2.4.1正式规范(http://www.omg.org/spec/UML/2.4.1/Superstructure)中都没有找到。

也就是说,使用带有'parallel'关键字的扩展区域,您可以分叉N 对象流,并行处理N个对象。

但是,我对这个解决方案并不完全满意,因为我怀疑你没有创建N个线程,因为你有N个对象需要处理,但因为你有N个处理器核心并且每个线程处理很多帧(或者任何需要处理的对象。)

当然,您可以通过将处理器核心用作对象来解决此问题。