Source: Goldman Sachs ( Octavian Patrascoiu)
It looks like the logic definitions of functions overlaps and overlaps before do not produce the results expected in the Example column.
The expected results look correct to me. I believe we need to fix the second column for overlaps and overlaps before as follows:
For overlaps before:
(range1.start < range2.start or (range1.start = range2.start and (range1.start included and not(range2.start included))))
and (range1.end > range2.start or (range1.end = range2.start and range1.end included and range2.start included))
and (range1.end < range2.end or (range1.end = range2.end and (not(range1.end included) or range2.end included )))
or overlapsAfter(range1, range2),
or includes(range1, range2),
or includes(range2, range1)
and leave the implementation to optimize the formula if needed.
Reported: DMN 1.3 — Mon, 4 Jan 2021 11:36 GMT
Disposition: Resolved — DMN 1.4
less intrusive change to fix the "overlaps before", "overlaps" built-in functions
The less intrusive change to fix the "overlaps before" is to fix the typo at the 7th row of the formula to align it with being the analogous of the "overlaps after",
Then, the less intrusive change to fix the "overlaps" is to fix rows 5,6,7 of the formula.
This would keep the original request that each built-in is standalone if possible and not derived from other built-in.
I believe these are the minimal modifications required to fix the problem but keep the original format.
I believe in the previous cycle with all editorial discussions like the parameter renames, these things slipped through.
Big kudos to Octavian Patrascoiu for pointing it out!! +1
Updated: Thu, 31 Mar 2022 19:30 GMT
DMN14 — Definitions of overlaps functions
- Key: DMN14-125
- OMG Task Force: Decision Model and Notation 1.4 RTF