Issue 9353: Which is it, (OR-Join) or (XOR) Gateway? (bpmn-ftf) Source: Capability Measurement (Mr. Karl Frank, Karl.Frank@ngc.com karl.frank@ngc.com karl.karolus@gmail.com karl.frank@capabilitymeasurement.com) Nature: Uncategorized Issue Severity: Summary: Issue summary: Which is it, (OR-Join) or (XOR) Gateway? Note: This issue is closely related to 9327 Details: See page 24, adopted spec 06-01-01 Table 8.3, BPD Complete Element Set row for "Merging (OR-Join)" Text tells how to use "A Merging (XOR) Gateway", but the name of the model element is given as "Merging (OR-Join)". Then in row "Gateway control types" on page 20 it bives the names as 'XOR' and 'OR' as names of distinct types of control It seems to me that the author of the text in the row for "Merging (OR-Join)" was thinking of xor as being a sort of specialization of inclusive or, and so mixed a discussion of the OR and XOR together, but this is inconsistent with defining OR as meaning inclusive or. This needs to be rewritten to be consistent. Resolution: Revised Text: Section 8.2, Table 8.3, page 20, second row ("Gateway Control Types"): a) Third Column: replace figure with figure below: b) Second Column, first bullet: Remove "XOR -- " from the begriming of the sentence. Capitalize the "E" in "Exclusive" c) Second Column, second bullet: Remove "OR -- " from the begriming of the sentence. Capitalize the "I" in "Inclusive" d) Second Column, fourth bullet: Replace "AND -- " from the begriming of the sentence with "Parallel ." Section 8.2, Table 8.3, page 22, second row ("Fork (AND-Split)"): e) First Column: Remove "(AND-Split)" from the sentence. f) second Column, fourth paragraph: Remove "(AND)" from the sentence. Thus, the beginning of the sentence should read "A Parallel Gateway is..." Section 8.2, Table 8.3, page 22, third row ("Join (AND-Join)"): g) First Column: Remove "(AND-Join)" from the sentence. h) second Column, second paragraph: Remove "(AND)" from the sentence. Thus, the beginning of the sentence should read "A Parallel Gateway is..." Section 8.2, Table 8.3, page 22, fourth row ("Decision, Branching Point; (ORSplit)"): i) First Column: Remove "; (OR-Split)" from the sentence. Section 8.2, Table 8.3, page 22, last row ("Exclusive"): j) Second Column: Remove "(XOR)" from the first sentence. Section 8.2, Table 8.3, page 24, first row ("Inclusive"): k) Second Column: Replace "OR" with "Inclusive" in the sentence. l) Second Column: Remove "usually in combination with other Gateways" from the first sentence. Section 8.2, Table 8.3, page 24, second row ("Merging (OR-Join)"): m) First Column: Remove "(OR-Join)" from the sentence. n) Second Column: Replace "(XOR)" with "Exclusive" in the second paragraph. Section 9.3.2, page 36, second to last paragraph: o) Remove "(AND-Split)" from the second sentence. Section 9.4.2, Sub-Section "Sub-Process Behavior as a Transaction," page 61, forth to last paragraph (above the last two bullets): p) Remove "(AND-Split)" from the second sentence. Section 9.4.3, Sub-Section "Sequence Flow Connections," page 68, first paragraph: q) Remove "(AND-Split)" from the second sentence. Section 9.5, page 69, second paragraph: r) Remove "OR-Split;" and "--XOR" and "--OR" and "(OR-Join)" and "(AND-Split)" and "(AND-Join)" from the first sentence. s) Replace Figure 9.15 with the following figure: Section 9.5.1, Table 9.25, page 70, first row and Section B.7.1, Table B.24, page 257, first row: t) First Column: Replace "XOR" with "Exclusive" in the sentence. This is done twice. u) First Column: Replace "OR" with "Inclusive" in the sentence. v) First Column: Replace "AND" with "Parallel" in the sentence. w) Second Column: Replace "XOR" with "Exclusive" in the sentence. x) Second Column: Replace "OR" with "Inclusive" in the sentence. y) Second Column: Replace "AND" with "Parallel" in the sentence. Section 9.5.2, page 71, section title and Section B.7.2, page 256, section title: z) Remove "(XOR)" from the title. Section 9.5.2, Sub-Section "Data-Based," page 74, second paragraph and Section B.7.2, Sub-Section "Data-Based," page 258, first paragraph: aa) Replace "XOR" with "Exclusive" in the second sentence. Section 9.5.2, Sub-Section "Data-Based," Table 9.26, page 74, first row and Section B.7.2, Sub-Section "Data-Based," Table B.25, page 258, first row: bb) First Column: Replace "XORType" with "ExclusiveType" in the sentence. cc) Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 9.5.2, Sub-Section "Data-Based," Table 9.26, page 74, second row and Section B.7.2, Sub-Section "Data-Based," Table B.25, page 258, first row: dd) Second Column: Replace "XOR" with "Exclusive" in the third sentence. Section 9.5.2, Sub-Section "Event-Based," page 77, first paragraph after the set of bullets and Section B.7.2, Sub-Section "Event-Based," page 259, first paragraph: ee) Replace "XOR" with "Exclusive" in the second sentence. Section 9.5.2, Sub-Section "Event-Based," Table 9.27, page 77, first row and Section B.7.2, Sub-Section "Event-Based," Table B.26, page 259, first row: ff) First Column: Replace "XORType" with "ExclusiveType" in the sentence. gg) Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 9.5.3, page 78, section title and Section B.7.3, page 259, section title: hh) Remove "(OR)" from the title. Section 9.5.3, page 79, fifth from the last paragraph (interior bullet): ii) Replace "AND (Parallel)" with "Parallel" in the first sentence. Section 9.5.3, page 79, second from last paragraph (before the last bullet) and Section B.7.3, page 259, first paragraph: jj) Replace "OR" with "Inclusive" in the first sentence. Section 9.5.3, page 80, caption for Figure 9.24: kk) Replace "OR" with "Inclusive" in the caption. Section 9.5.3, page 80, second paragraph: ll) Remove "OR " three times in the paragraph. Section 9.5.3, page 81, first paragraph: mm) Replace "OR" with "Inclusive" in the caption. Section 9.5.5, page 85, section title and Section B.7.5, page 262, section title: nn) Remove "(AND)" from the title. Section 9.5.5, page 86, first paragraph and Section B.7.5, page 262, first paragraph: oo) Replace "AND (Parallel)" with "Parallel" in the first sentence. Section 10.2.1, page 108, first paragraph (continuing from previous page): pp) Remove last sentence., which is "In addition, we will relate these BPMN terms to the terms OR-Split (for split), Or-Join (for merge), AND-Split (for fork), and AND-Join (for join), as defined by the Workflow Management Coalition." Section 10.2.1, Sub-Section "Splitting Flow," page 117: qq) Replace Figure 10.29 with the following figure Section 11.6.2, Sub-Section "Data-Based," Table 11.39, page 172, first row: rr) First Column: Replace "XOR" with "Exclusive" and Replace "XORType" with "ExclusiveType" in the sentence. ss) Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 11.6.2, Sub-Section "Event-Based," Table 11.40, page 173, first row: tt) First Column: Replace "XOR" with "Exclusive" and Replace "XORType" with "ExclusiveType" in the sentence. uu) Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 11.6.3, Table 11.41, page 173, first row: vv) First Column: Replace "OR" with "Inclusive" in the sentence. Section 11.6.5, Table 11.42, page 178, first row: ww) First Column: Replace "AND" with "Parallel" in the sentence. Section C, Sub-Section "D," item "Deferred Choice," page 276: xx) Replace "XOR-" with "exclusive" in the paragraph. yy) Replace "AND-Split" with "fork" in the paragraph. Section C, Sub-Section "M," item "Merge," page 278: zz) Replace "XOR" with "Exclusive" in the paragraph. Actions taken: February 2, 2006: received issue April 19, 2007: closed issue Discussion: The specification will modified to remove all references to terms such as OR, XOR, AND, etc. End of Annotations:===== ubject: BPMN adopted spec. Date: Thu, 2 Feb 2006 13:58:24 -0800 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: BPMN adopted spec. Thread-Index: AcYoQ8oKctkn+AxnTUSnNGTeHQ4XOA== From: "Karl Frank" To: X-OriginalArrivalTime: 02 Feb 2006 22:00:26.0269 (UTC) FILETIME=[12AA84D0:01C62844] Issue #? Issue summary: Which is it, (OR-Join) or (XOR) Gateway? Note: This issue is closely related to 9327 Details: See page 24, adopted spec 06-01-01 Table 8.3, BPD Complete Element Set row for "Merging (OR-Join)" Text tells how to use "A Merging (XOR) Gateway", but the name of the model element is given as "Merging (OR-Join)". Then in row "Gateway control types" on page 20 it bives the names as 'XOR' and 'OR' as names of distinct types of control Reply-To: From: "Conrad Bock" To: "'Frank McCabe'" , Subject: RE: An algorithm for or-join Date: Fri, 7 Apr 2006 19:04:17 -0400 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcZahhDDn7wCiSRARDiGLTtCqupNMQAEVAhw Frank, > One possible way of defining or-join is this: > > If there are *any* tokens upstream of the or-node then do > not proceed. Otherwise proceed. Doesn't work for loops. Conrad Cc: From: Frank McCabe Subject: Re: An algorithm for or-join Date: Fri, 7 Apr 2006 21:10:15 -0700 To: X-Mailer: Apple Mail (2.749.3) Depends or what you mean "doesnt work for loops" It is possible to detect all nodes that are upstream: Nds := [thisNode] while not done do{ done := true for N in Nds do for U in upstream(N) do if !U in Nds then{ Nds := U+Nds done := false } } Nds is the set of nodes (including the origin node) that are upstream of the origin node where upstream is the set of nodes that are upstream of a given node. It should really be slightly more elaborate: upstream on a particular link. This is bounded by the set of nodes in the diagram; and is therefore linear on the diagram. On the other hand, this is definitely a 'cruder' test than 'no further progress': there can be tokens upstream that will not arrive. But we know where *that* goes. Frank On Apr 7, 2006, at 4:04 PM, Conrad Bock wrote: Frank, One possible way of defining or-join is this: If there are *any* tokens upstream of the or-node then do not proceed. Otherwise proceed. Doesn't work for loops. Conrad To: bpmn-ftf@omg.org From: Frank McCabe Subject: An algorithm for or-join Date: Fri, 7 Apr 2006 13:57:45 -0700 X-Mailer: Apple Mail (2.749.3) One possible way of defining or-join is this: If there are *any* tokens upstream of the or-node then do not proceed. Otherwise proceed. The 'upstream' sub-graph of a given node can be computed in time & space that is linear on the number of nodes in the graph. The sub- graph could be computed beforehand also. Date: Fri, 07 Apr 2006 05:04:13 -1000 From: John and Keri Subject: Re: "Actionable" Issue To: SBVR-FTF Thread-topic: "Actionable" Issue Thread-index: AcZaVIfgxrsf+MZHEdqoJQARJM+Cgg== User-Agent: Microsoft-Entourage/11.2.1.051004 X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id k37Et1Bn015526 The one thing that jumps out is a difference in motivation about what the concept here is intended for. If we return to that perspective (focusing on the concept rather than the signifier --or signifier part) it may help. Where "is actionable" is positioned it serves to distinguish directives that are 'fuzzy' from those that are not. In the early days, that division was more basic (i.e., two-way) -- business policy (fuzzy) or 'not fuzzy' (which we could label 'business rule'). For varied reasons (not worth detailing here) we didn't pick 'fuzzy' to use in the signifier of the discriminator and opted for 'actionable' ... with a definition and explanation, because even back then it tended to evoke other, not-intended senses. As the richness on the 'not fuzzy' side evolved, the structure of it also evolved. And the term for the 'other half' of this level of the taxonomy became the rather bland (but not inaccurate) 'element of guidance' -- the non-fuzzy (i.e., 'actionable') notion -- and 'business rule' moved down in the taxonomy. And as the structure of concepts and terms grew richer, they had their own ways of being distinguished, one from another. Bottomline: the motivation for the concept under discussion here ('actionable') remains that of *unifying* everything that falls under it and to distinguish things of the concept at that level of generalization from those of its partner, 'business policy' -- the two categories of 'directive' in the segmentation being presented. If we retain that original motivation for the characteristic in question (the concept currently using 'actionable') then we appear to be faced with a binary choice: (1) retain 'actionable' and improve its explanation/definition so that the fact that 'action' appears within it does not conjure up the wrong picture (i.e., to be confused with 'execute' or 'automate' or the directive itself be something that is put into action) -or- (2) select some other signifier for this *unifying* discriminator -- say, 'moofbarkle', or In the writeup we submitted for this issue, we are taking approach (1) -- largely because (a) there is already a history of clarifying that it should not be so confused and we were simply trying to make that clarifying wording even better and (b) we haven't be able to come up with a better term (and 'moofbarkle' or some other non-baggage-carrying signifier is too much of a leap). John, Thanks for so clearly showing us where you are coming from in your write-up. In some of what I read in your write-ups -- snippets below from you more recent -- I get a sense for your desire to be able to divide and distinguish. Certainly we need to be able to do that. But I feel that we *can* already do that, in rich and varied ways. I'd just not like to use *this* concept to (also) accomplish that goal. hope this helps, - Keri On 4/6/06 6:30 AM, "John Hall" wrote: > ... > So, even though you have stated it indirectly, I read your proposal as > extending the meaning of actionable to include ... > > The underlying issue is that structural business rules are part of > definitions. They belong in the concepts and vocabulary that provide a common > base for all the business models. ... > > 1) The other models need ... > > 2) It should be possible to integrate the 3 models fairly cleanly, because a > major objective is that they shouldnąt interact very much. ... > > In other words, we should have (at least) three not-too-tightly coupled To: bpmn-ftf@omg.org Subject: Proposed Resolution for Issue 9353 X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Fri, 11 Aug 2006 15:45:11 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF269 | June 22, 2006) at 08/11/2006 16:45:14, Serialize complete at 08/11/2006 16:45:14 http://www.bpmn.org/FTF/Issues/Issue%209353.htm Description: See page 24, adopted spec 06-01-01 Table 8.3, BPD Complete Element Set row for "Merging (OR-Join)" Text tells how to use "A Merging (XOR) Gateway", but the name of the model element is given as "Merging (OR-Join)". Then in row "Gateway control types" on page 20 it gives the names as 'XOR' and 'OR' as names of distinct types of control It seems to me that the author of the text in the row for "Merging (OR-Join)" was thinking of xor as being a sort of specialization of inclusive or, and so mixed a discussion of the OR and XOR together, but this is inconsistent with defining OR as meaning inclusive or. This needs to be rewritten to be consistent. Suggested Resolution: Resolved: The specification will modified to remove all references to terms such as OR, XOR, AND, etc. Revised Text: Section 8.2, Table 8.3, page 20, second row ("Gateway Control Types"): Third Column: replace figure with figure below: Second Column, first bullet: Remove "XOR -- " from the begriming of the sentence. Capitalize the "E" in "Exclusive" Second Column, second bullet: Remove "OR -- " from the begriming of the sentence. Capitalize the "I" in "Inclusive" Second Column, fourth bullet: Replace "AND -- " from the begriming of the sentence with "Parallel ." Section 8.2, Table 8.3, page 22, second row ("Fork (AND-Split)"): First Column: Remove "(AND-Split)" from the sentence. second Column, fourth paragraph: Remove "(AND)" from the sentence. Thus, the beginning of the sentence should read "A Parallel Gateway is..." Section 8.2, Table 8.3, page 22, third row ("Join (AND-Join)"): First Column: Remove "(AND-Join)" from the sentence. second Column, second paragraph: Remove "(AND)" from the sentence. Thus, the beginning of the sentence should read "A Parallel Gateway is..." Section 8.2, Table 8.3, page 22, fourth row ("Decision, Branching Point; (OR-Split)"): First Column: Remove "; (OR-Split)" from the sentence. Section 8.2, Table 8.3, page 22, last row ("Exclusive"): Second Column: Remove "(XOR)" from the first sentence. Section 8.2, Table 8.3, page 24, first row ("Inclusive"): Second Column: Replace "OR" with "Inclusive" in the sentence. Second Column: Remove "usually in combination with other Gateways" from the first sentence. Section 8.2, Table 8.3, page 24, second row ("Merging (OR-Join)"): First Column: Remove "(OR-Join)" from the sentence. Second Column: Replace "(XOR)" with "Exclusive" in the second paragraph. Section 9.3.2, page 36, second to last paragraph: Remove "(AND-Split)" from the second sentence. Section 9.4.2, Sub-Section "Sub-Process Behavior as a Transaction," page 61, forth to last paragraph (above the last two bullets): Remove "(AND-Split)" from the second sentence. Section 9.4.3, Sub-Section "Sequence Flow Connections," page 68, first paragraph: Remove "(AND-Split)" from the second sentence. Section 9.5, page 69, second paragraph: Remove "OR-Split;" and "--XOR" and "--OR" and "(OR-Join)" and "(AND-Split)" and "(AND-Join)" from the first sentence. Replace Figure 9.15 with the following figure: Section 9.5.1, Table 9.25, page 70, first row and Section B.7.1, Table B.24, page 257, first row: First Column: Replace "XOR" with "Exclusive" in the sentence. This is done twice. First Column: Replace "OR" with "Inclusive" in the sentence. First Column: Replace "AND" with "Parallel" in the sentence. Second Column: Replace "XOR" with "Exclusive" in the sentence. Second Column: Replace "OR" with "Inclusive" in the sentence. Second Column: Replace "AND" with "Parallel" in the sentence. Section 9.5.2, page 71, section title and Section B.7.2, page 256, section title: Remove "(XOR)" from the title. Section 9.5.2, Sub-Section "Data-Based," page 74, second paragraph and Section B.7.2, Sub-Section "Data-Based," page 258, first paragraph: Replace "XOR" with "Exclusive" in the second sentence. Section 9.5.2, Sub-Section "Data-Based," Table 9.26, page 74, first row and Section B.7.2, Sub-Section "Data-Based," Table B.25, page 258, first row: First Column: Replace "XORType" with "ExclusiveType" in the sentence. Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 9.5.2, Sub-Section "Data-Based," Table 9.26, page 74, second row and Section B.7.2, Sub-Section "Data-Based," Table B.25, page 258, first row: Second Column: Replace "XOR" with "Exclusive" in the third sentence. Section 9.5.2, Sub-Section "Event-Based," page 77, first paragraph after the set of bullets and Section B.7.2, Sub-Section "Event-Based," page 259, first paragraph: Replace "XOR" with "Exclusive" in the second sentence. Section 9.5.2, Sub-Section "Event-Based," Table 9.27, page 77, first row and Section B.7.2, Sub-Section "Event-Based," Table B.26, page 259, first row: First Column: Replace "XORType" with "ExclusiveType" in the sentence. Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 9.5.3, page 78, section title and Section B.7.3, page 259, section title: Remove "(OR)" from the title. Section 9.5.3, page 79, fifth from the last paragraph (interior bullet): Replace "AND (Parallel)" with "Parallel" in the first sentence. Section 9.5.3, page 79, second from last paragraph (before the last bullet) and Section B.7.3, page 259, first paragraph: Replace "OR" with "Inclusive" in the first sentence. Section 9.5.3, page 80, caption for Figure 9.24: Replace "OR" with "Inclusive" in the caption. Section 9.5.3, page 80, second paragraph: Remove "OR " three times in the paragraph. Section 9.5.3, page 81, first paragraph: Replace "OR" with "Inclusive" in the caption. Section 9.5.5, page 85, section title and Section B.7.5, page 262, section title: Remove "(AND)" from the title. Section 9.5.5, page 86, first paragraph and Section B.7.5, page 262, first paragraph: Replace "AND (Parallel)" with "Parallel" in the first sentence. Section 10.2.1, page 108, first paragraph (continuing from previous page): Remove last sentence, which is "In addition, we will relate these BPMN terms to the terms OR-Split (for split), Or-Join (for merge), AND-Split (for fork), and AND-Join (for join), as defined by the Workflow Management Coalition." Section 10.2.1, Sub-Section "Splitting Flow," page 117: Replace Figure 10.29 with the following figure Section 11.6.2, Sub-Section "Data-Based," Table 11.39, page 172, first row: First Column: Replace "XOR" with "Exclusive" and Replace "XORType" with "ExclusiveType" in the sentence. Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 11.6.2, Sub-Section "Event-Based," Table 11.40, page 173, first row: First Column: Replace "XOR" with "Exclusive" and Replace "XORType" with "ExclusiveType" in the sentence. Second Column: Replace "XORType" with "ExclusiveType" in the first and second sentences. Replace "XOR" with "Exclusive" in the third sentence. Section 11.6.3, Table 11.41, page 173, first row: First Column: Replace "OR" with "Inclusive" in the sentence. Section 11.6.5, Table 11.42, page 178, first row: First Column: Replace "AND" with "Parallel" in the sentence. Section C, Sub-Section "D," item "Deferred Choice," page 276: Replace "XOR-" with "exclusive" in the paragraph. Replace "AND-Split" with "fork" in the paragraph. Section C, Sub-Section "M," item "Merge," page 278: Replace "XOR" with "Exclusive" in the paragraph. Reply-To: From: "Conrad Bock" To: "'Frank McCabe'" Cc: Subject: RE: An algorithm for or-join Date: Sun, 23 Apr 2006 22:32:22 -0400 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcZawmkYUoeK8T7XSbWY85qb7L9omAMa3Axg Frank, > It is possible to detect all nodes that are upstream: Sure, sorry for the short message, see below. > Depends or what you mean "doesnt work for loops" I meant it doesn't do what you want if the or-join is inside a loop. The tokens upstream of or-join would include ones that are downstream of or-join, but upstream of the node that goes back to the beginning of the loop. It seems to me that the author of the text in the row for "Merging (OR-Join)" was thinking of xor as being a sort of specialization of inclusive or, and so mixed a discussion of the OR and XOR together, but this is inconsistent with defining OR as meaning inclusive or. This needs to be rewritten to be consistent.