通过 BPMN 模型启动事件级联
Model Start Event Cascade through BPMN
我正在尝试为以下(简化的)工作流程建模。每个开始事件都有一条通往 Main Task
的路线以及一条将触发“上一个”开始事件的替代路线。
我的问题:如果 Start Event 2
是通过 Start Event 3
的路径触发的,则应该不可能再触发 Start Event 1
(红色路径): 3->2
是好的,2->1
可以,但是 不行 3->1
!
此处“正确”的解决方案是什么?当通过 Start Event 3
触发时,我是否应该创建一个替代 Start Event 2
(似乎是多余的)。或者我应该通过逻辑门 if triggered through Start Event 3 then ... else ...
以某种方式解决这个问题(似乎过于复杂)。或者有更好的解决方案吗?
PS。我试图找到一个更好的建模堆栈交换站点,但似乎 99% 的关于 BPMN 的问题都发布在这里。但我愿意接受建议。
首先,Start Events不能有传入的Edge。 BPMN 标准不允许这样做。因此,您应该将流程中的开始事件 2 和 3 替换为中间事件。
跳过或执行中间事件的决策逻辑现在代表开始事件 3 之前的事件可以在基于事件的网关中实现,描述在边缘上在什么条件下采取哪条路径。
根据 Simulat 的回答,我找到了一个我认为更合适的替代解决方案。红色路径应该是不可能的,因为有红色圆圈的逻辑门(上面的路径只有在Start Event 3
没有出现的情况下才可行)。
我在 Simulat 的回答中遇到的问题是中间事件和基于事件的门。由于这些点上没有“真实”事件,所以我认为它们应该是异或逻辑门,但我不确定。欢迎反馈:
我正在尝试为以下(简化的)工作流程建模。每个开始事件都有一条通往 Main Task
的路线以及一条将触发“上一个”开始事件的替代路线。
我的问题:如果 Start Event 2
是通过 Start Event 3
的路径触发的,则应该不可能再触发 Start Event 1
(红色路径): 3->2
是好的,2->1
可以,但是 不行 3->1
!
此处“正确”的解决方案是什么?当通过 Start Event 3
触发时,我是否应该创建一个替代 Start Event 2
(似乎是多余的)。或者我应该通过逻辑门 if triggered through Start Event 3 then ... else ...
以某种方式解决这个问题(似乎过于复杂)。或者有更好的解决方案吗?
PS。我试图找到一个更好的建模堆栈交换站点,但似乎 99% 的关于 BPMN 的问题都发布在这里。但我愿意接受建议。
首先,Start Events不能有传入的Edge。 BPMN 标准不允许这样做。因此,您应该将流程中的开始事件 2 和 3 替换为中间事件。
跳过或执行中间事件的决策逻辑现在代表开始事件 3 之前的事件可以在基于事件的网关中实现,描述在边缘上在什么条件下采取哪条路径。
根据 Simulat 的回答,我找到了一个我认为更合适的替代解决方案。红色路径应该是不可能的,因为有红色圆圈的逻辑门(上面的路径只有在Start Event 3
没有出现的情况下才可行)。
我在 Simulat 的回答中遇到的问题是中间事件和基于事件的门。由于这些点上没有“真实”事件,所以我认为它们应该是异或逻辑门,但我不确定。欢迎反馈: