BPMN sequenceFlow 是否允许引用另一个 process/subprocess 中的特定活动?
Are BPMN sequenceFlow allowed to reference specific activities within another process/subprocess?
我正在使用 BPMN 2.0 为复杂流程建模
我已将进程拆分为多个全局进程,这些进程可以通过调用 activity.
相互引用
然而,在一两个特殊情况下,我想实际上直接调用到其他进程之一的中间。我不想创建一个完全重复的 [sub] 进程,只缺少前几个节点,也不希望将这些节点拆分成它们自己的小进程。
我认为常见的 BPMN 2.0 工具不支持这一点,但规范是否明确不允许这样做?例如,我通读了 http://www.omg.org/spec/BPMN/2.0.2/PDF 并且没有看到任何地方声称 sequenceFlow 的 targetRef 必须在同一个 FlowElementsContainer 中。也许只是暗示?
执行此操作的正确方法是在全局流程中创建多个 "none" 启动事件,然后通过传入调用的序列流的 targetRef 属性引用正确的事件 activity .规范在第 1 页上说。 239:
"If the Process is used as a global Process (a callable Process that
can be invoked from Call Activities of other Processes) and there are
multiple None Start Events, then when flow is transferred from the
parent Process to the global Process, only one of the global Process’s
Start Events will be triggered. The targetRef attribute of a Sequence
Flow incoming to the Call Activity object can be extended to identify
the appropriate Start Event."
我正在使用 BPMN 2.0 为复杂流程建模 我已将进程拆分为多个全局进程,这些进程可以通过调用 activity.
相互引用然而,在一两个特殊情况下,我想实际上直接调用到其他进程之一的中间。我不想创建一个完全重复的 [sub] 进程,只缺少前几个节点,也不希望将这些节点拆分成它们自己的小进程。
我认为常见的 BPMN 2.0 工具不支持这一点,但规范是否明确不允许这样做?例如,我通读了 http://www.omg.org/spec/BPMN/2.0.2/PDF 并且没有看到任何地方声称 sequenceFlow 的 targetRef 必须在同一个 FlowElementsContainer 中。也许只是暗示?
执行此操作的正确方法是在全局流程中创建多个 "none" 启动事件,然后通过传入调用的序列流的 targetRef 属性引用正确的事件 activity .规范在第 1 页上说。 239:
"If the Process is used as a global Process (a callable Process that can be invoked from Call Activities of other Processes) and there are multiple None Start Events, then when flow is transferred from the parent Process to the global Process, only one of the global Process’s Start Events will be triggered. The targetRef attribute of a Sequence Flow incoming to the Call Activity object can be extended to identify the appropriate Start Event."