Decisions and Rules Involving Expressions - Gnorion/BizVR GitHub Wiki
Suppose you have this table in your decision
Currently, VV will treat an expression such as A+B as if it were a single label with that name In DMN the label is just a plain string and expression is defined in a separate field.
That’s why a cell can contain any expression and we can still do (most) validation
Now at the moment if a user puts A+B in a condition cell BizVR won’t draw the correct decision diagram since it is also looking for the label “A+B” to match up an output from one table with the input to another table and not the individual variable name A and B. That’s why we need to parse out the variable names from expressions. Both for BizVR and VV
Example
The expression A+B (not in quotes) is BizVR expression (and also a FEEL expression)
VV will tell us
if A+B<>(C) then result not specified in ruleset DT1
Which is true regardless of whether A,B and C are strings, numbers, dates or elephants
If we put the A+B as an expression in a DMN-Like FEEL box:
Then the main DT now refers to the variable AplusB (the output from the FEEL box)
And we now have a feel box with
If we did this from scratch purely in BizVR (using function DTs instead of FEEL boxes it would look like this
function sum(A,B)
Effectively our function DT behaves a bit like a DMN Feel. The main difference is that FEEL sets the value of an actual variable whereas BIZVR function only returns the value. So the FEEL box approach actually fits better with backward chaining than the function DT approach since there is a named variable that we can backward chain for There's actually no reason we shouldn't all... by Mike Parish Mike Parish 3:21 PM There's actually no reason we shouldn't allow both approaches in BizVR - after all a FEEL box is just another DT as far as VV and BizVR are concerned - it just happens to have a single rule - but other than that its no different from any other decision table. Basically there is nothing special about FE... by Mike Parish Mike Parish 3:30 PM Basically there is nothing special about FEEL. It can be treated just like any other expression that you might see in any of our decision tables. The only reason for giving it special significance (with the FEEL prefix in its name) is so that we preserve a 1:1 mapping to the original DMN model. Everything would work just the same even if we didn't name those tables starting with "FEEL"
In the DMN model the DT box and the FEEL box use a different icon to distinguish them and their internal structure is different.
In BizVR its all just decision tables regardless of whether they started as tables or FEEL boxes
A DMN FEEL box is just a DT with ONE rule that's always executed
Here's an example where two tables use DMN ... by Mike Parish
Here's an example where two tables use DMN expressions to create collections (listA and listB) which are then used by the main decision table.
The conditions in the main table are also DMN-syntax expressions
has context menu