-
Key: DMN15-78
-
Status: closed
-
Source: Red Hat ( Matteo Mortari)
-
Summary:
It is underspecified when the ranges may include a qualified name for the endpoint, which resolves to null.
This was identified by Greg McCreath and Octavian Patrascoiu during TCK contributions.
Ranges' Endpoints can be either a literal or a qualified name. If the qualified name resolves to null, and the endpoint inclusivity flag is false, it is semantically equivalent to the case of single-endpoint-range. This leads to ambiguity in Table 55: Semantics of decision table syntax
This also requires the typo fix in https://issues.omg.org/browse/INBOX-1337
Example
With reference to examples in Table 42: Examples of range properties values
Instead of (1..10]
do consider (x..10]
if x resolves to null
then this is semantically equivalent to <=10.However, Table 55, row 9, cites:
e1 in (e2..e3] is equivalent to e1 > e2 and e1<=e3 // exercise by hand.. e1 in (x..10] is equivalent to e1 > x and e1<=10 // if x resolves to null.. e1 in (null..10] is equivalent to e1 > null and e1<=10 e1 > null and e1<=10
which is NOT equivalent to e1<=10, hence the ambiguity.
-
Reported: DMN 1.3 — Sun, 5 Sep 2021 07:18 GMT
-
Disposition: Resolved — DMN 1.5
-
Disposition Summary:
Clarify edge cases and range options
Clarify that ranges are defined based on a combination of comparison and conjunction operators and therefore the result of an comparison with a range containing a null endpoint will be either false or null but never true.
Add text to the description of the range that mentions the possibility of using expressions.
-
Updated: Fri, 30 Jun 2023 20:31 GMT
DMN15 — Underspecified when ranges may include a qualified name for the endpoint, which resolves to null
- Key: DMN15-78
- OMG Task Force: Decision Model and Notation 1.5 RTF