Concerning the "in" operator, what does Table 55, Grammar Rule 49.c mean in the DMN 1.3 Spec?

73 Views Asked by At

Page 124, Table 55, Grammar Rule 49.c in the Decision Model and Notation, v1.3 spec has a description that is cut off. What are the semantics of this use of the "in" operator?

  Grammar Rule:           49.c
  Feel Syntax:            e1 in e2
  Equivalent FEEL Syntax: { ? : e1, r : e2 }.r
  applicability:          e2 is a boolean expression that uses the special

The cell in the chart for "applicability" got cut off, so I have no idea what it is talking about, and can't find text outside of the chart that describes it either.

What is the missing text and what does it mean?

I am writing a FEEL Language compiler, so I need to understand all the semantics.

1

There are 1 best solutions below

0
On

what does it mean?

This is a formalisation of the Decision Table "extended unary test" form, specified in 8.3.3 Decision Rule metamodel, option d):

One of the expressions in the inputEntry is a boolean expressions using the special ‘?’ variable and that expression evaluates to true when the inputExpression value is assigned to ‘?’

In other words, for example you could specify a Decision Table using the special ? variable in the unary test:

Decision Table using the special ? variable

This is helpful when the decision table rule(row) logic cannot be expressed just with a simple unary test.

What is the missing text?

The OMG's DMN RTF group is aware the final edited version published at OMG website has some typographic issues. This is the convenience document which was submitted for the same (DMNv1.3) version showing Table 55 in full:

the convenience document which was submitted for the same (DMNv1.3) version showing Table 55 in full

Don't hesitate to submit a JIRA to the OMG issue tracker in the future: https://issues.omg.org/issues/create-new-issue?specification=DMN%231.3

Also don't hesitate to join the DMN TCK workgroup (community effort outside of OMG) if you want: website: https://dmn-tck.github.io/tck/ github: https://github.com/dmn-tck/tck/#readme