【问题标题】:Is a BPMN XOR-Join gateway redundant?BPMN XOR-Join 网关是多余的吗?
【发布时间】:2020-02-18 08:45:06
【问题描述】:

我很惊讶地看到一个 BPMN 图,其中异或决策(“XOR-Split”)被“关闭”并具有相同的网关符号。

我真的很想知道证明这种方法合理的原因是什么。在我看来,这是多余的。

似乎一个事实是,使用 XOR-Join 网关是可选的。 我在官方规范中也找不到明确的声明来回答这个问题: https://www.omg.org/spec/BPMN/2.0.2/PDF10.6页286ff

为了说明这一点:

关于此问题的后续说明:

我可能需要澄清所谓的挑衅性问题: 至少在德语区,对于 XOR Join 网关的处理,似乎有两种不同的理解。 大多数人似乎说,一般来说使用它是最好的做法,而我认为,逻辑方面应该是最重要的。 (形式跟随功能)。这就是为什么我开始研究官方解释的原因。 由于我能够找到的唯一合乎逻辑的原因是:“可能在某些情况下需要这样做” - 并且某些工具会指导他们的用户使用这个看似多余的元素,我希望在这里找到能够澄清这一点的人举个例子。

【问题讨论】:

    标签: xor gateway bpmn


    【解决方案1】:

    网关不仅用于拆分流(XOR-Split、AND-Split、OR-Split),还用于稍后加入它们(XOR-Join、AND-Join、OR-Join)。

    虽然,正如您在上图中所指出的那样,XOR-Join 并不是真正需要的,但它们在视觉上表达一个流可能采用几个可能的分支之一(基于状态条件)和然后稍后所有这些可能的分支再次合并。此外,由于需要 AND-Join(用于表达一组并行流的汇合),因此最好也使用 XOR-Join 以使 Split-Join 模式的表达具有一致性。

    但是,在某些情况下,使用 XOR-Join 只会使图表更加复杂,并不会真正增加任何清晰度。因此,始终使用 XOR-Joins 不应成为建模指南。

    【讨论】:

    • 感谢您的回答。这可能触及问题的根源,您写道:它们可能有意义地直观地表达这样一个事实,即流可能采用几个可能的分支之一(基于状态条件),然后是所有这些可能的分支再次合并我的问题是,它会是什么情况,这会从“加入”元素表明之前做出决定的事实中产生合乎逻辑的好处?
    • 我在上面添加了一个论点:“由于需要 AND-Joins(用于表达一组并行流的汇合),因此最好使用 XOR-Joins 来保持表达式的一致性拆分连接模式。”
    • 再次感谢您的想法。从严格的逻辑句法的角度来看,我不确定是否符合其他拆分(或/和)的想法是否会证明这种使用排他连接是合理的。所以,总而言之,到目前为止,我们有: 1. 表明之前发生过分裂 - 到目前为止,没有任何合乎逻辑的情况可以想象,这可能是有益的。 2.“风格”:与其他连接的一致性(AND)——也不会反驳冗余的想法。 OMG 基金会会说什么真的很有趣。
    • 我把这个问题的标题改回了最初的意思。 (异或连接是否多余)以避免误导参与者以“良好实践”的方式回答。我真的很想弄清楚 BPMN 中的这个元素是否有意义。
    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 2016-01-07
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多