2017-07-21 42 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.因此,展開第一個迭代作爲不同的任務會導致太多的重複並且難以維護。 –