Why You Should Use BizVR to Analyze DMN Models - Gnorion/BizVR GitHub Wiki

Why You Should Use BizVR to Analyze DMN Models

Consider this DMN model

image

It looks just fine and even provides two ways to get the average that is used in the main table (Determine Classification)

image

One way to get the average uses DMN expression boxes like this

image

The other way is to use a standard decision table like this

image

This allows you to use a rule to ensure the list is not empty - you could also add another rule to cover the case where its missing.

image

In fact VV will suggest this

image

Both of these make use of the same expression mean(filtered_scores) and filtered_scores is supplied by the lower boxes on the diagram

The main DRD shows how variables from a lower table or expression box feed the next level up.

However, just because you draw an arrow from one box to another does not mean that's what will actually happen.

If you look closely at the table for Calculate Average Score you can see that the table is testing an input named "filtered_score" yet the expression is operating on a variable named "filtered_scores". As a result this will never execute properly.

Fortunately if you analyzes the model with the Validator it will tell you (among other things) that:

image

Validator will also identify the possible misspelling that caused the problem

image

When modeled (or imported into) BizVR the DRD will immediately show if something is not connected

With the misspelled variable we will see

image

But once its spelled correctly you will see that everything connects.

image

This does not happen in a DMN DRD. The arrows do not necessarily reflect what is actually happening.