DMN 1.5 RTF Avatar
  1. OMG Issue

DMN15 — Underspecified when ranges may include a qualified name for the endpoint, which resolves to null

  • 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