2017-07-21 51 views
4

我在建模一个特定用例时遇到了麻烦。BPMN - 等待一个事件一次

  • 任务1和任务2是并行产生的。
  • 基于条件重复多次任务1。
  • 第一个任务1完成后,我们必须等待任务2完成后才能继续。这意味着任务1的第一次迭代将等待(如果任务2尚未完成),但随后的迭代将继续,因为任务2已完成。

这是我尝试在造型:

enter image description here

我这个模型中看到的问题:

1-如果任务2是第一任务1完成前完成后,事件将被抛出,但没有捕捉到。一旦任务1完成,它将无限期地等待事件。

2-对于任务1的迭代2+,它将无限期地等待该事件,因为它仅被引发一次。

任何帮助如何建模这将不胜感激,谢谢!

回答

1

首先,消息事件不适合在同一池中通知。改用信号事件。

不理解任务1的真实语义& 2很难给出一个很好的答案。我建议展开循环,并在任务2中第一次出现任务1,然后与连接同步,然后循环其余任务1。

+0

谢谢你。我认为消息是在一个单独的流程实例中,并且信号遍布所有流程实例。 –

+0

这里描述的内容是简化的,因为真正的模型重复多个任务,而不仅仅是任务1.因此,展开第一个迭代作为不同的任务会导致太多的重复并且难以维护。 –