3

I was surprised seeing a BPMN diagram in which an Exclusive-Or decision ("XOR-Split") was "closed" with the same gateway symbol.

I'm really wondering what are the reasons that justify this approach. In my point of view, this is redundant.

What seems a fact is, that the use of a XOR-Join gateway is optional. I couldn't find a clear statement answering this question in the official specifications too: https://www.omg.org/spec/BPMN/2.0.2/PDF 10.6 Page286ff

To illustrate this: Illustration of XOR JOIN

Subsequent clarification regarding this Question:

I may have to clarify the alleged provocative question: At least in the German speaking area, there seem to be two different understandings of the handling of the XOR Join gateway. The Majority seems to state, that using this in general would be the best practise, whereas I think, that the logical aspect should be paramount. (Form follows function). That is why I was starting to research for an official explanation. Since the only logical reasons I was able to find where: "there may be situations where that is needed" - and certain tools direct their users to use this seemingly redundant element, I hoped to find somebody here, who would be able to clarify this with an example.

tuxaddict
  • 59
  • 1
  • 5

2 Answers2

2

Gateways are not only used for splitting flows (XOR-Split, AND-Split, OR-Split), but also for joining them some time later (XOR-Join, AND-Join, OR-Join).

While, as you point out in your diagram above, XOR-Joins are not really needed, they may make sense to visually express the fact that a flow may take one of a few possible branches (based on a state condition) and then later all of these possible branches merge again. Also, since AND-Joins are needed (for expressing the confluence of a set of parallel flows), it's good to also use XOR-Joins for having uniformity in the expression of Split-Join patterns.

However, there are also cases where using a XOR-Join just makes the diagram more complex and doesn't really add any clarity. Therefore, it should not be a modeling guideline to always use XOR-Joins.

Gerd Wagner
  • 5,481
  • 1
  • 22
  • 41
  • Thank you for your Answer. This could touch the root of the matter, you wrote: _they may make sense to visually express the fact that a flow may take one of a few possible branches (based on a state condition) and then later all of these possible branches merge again_ My question would be, what situation could it be, that would have a logical benefit from the fact, that the "join" element indicates that there was a decission made before? – tuxaddict Feb 26 '20 at 08:45
  • I've added an argument above: "since AND-Joins are needed (for expressing the confluence of a set of parallel flows), it's good to also use XOR-Joins for having uniformity in the expression of Split-Join patterns." – Gerd Wagner Feb 26 '20 at 13:42
  • again, thank you for your thoughts. From a strict logical syntactic perspective, i am not sure if the idea of a conformity to other splits (or/and) would justify this usage with the exclusive join. So, to sum it up, till this point we have: 1. Indicate that a split has happened before - Till this point no logical situation conceivable where that could be a benefit. 2. "Style": Conformity with other joins (AND) - Wouldn't disprove the idea of redundancy too. It would be really interesting what the OMG foundation would state. – tuxaddict Mar 03 '20 at 07:12
  • I edited the title of this question back to the initial meaning. (Are XOR Joins redundant) to avoid to mislead participants to answer in a manner of "good practice". I really desire to figure out if this element in BPMN makes sense at all. – tuxaddict Mar 03 '20 at 07:20
0

Strongly suggest DO NOT draw xor join which only cause confusion, add no value.