A DMN BVR Validation Case Study - Gnorion/BizVR GitHub Wiki

Suppose you have this DMN model

image

Which contains these (artificial) rules

DT1: R1: if A = 'x' then C is 'x'    
DT1: R2: if B = 'x' then D is 'x'    
DT2: R1: if D = 'x' then E is 'x'    
DT3: R1: if X = 'x' then Z is 'z1'    
DT3: R2: if Y = 'y' then Z is 'z2'      

Do you see anything wrong with the model?

Lets look at it in BVR (which can be done simply by importing the DMN model)

image

  • Immediately you can see some of the tables are not actually connected
  • The original DMN diagram showed the tables are related as DT2->DT1->DT3.
  • However the BVR diagram shows this is not the case.
  • The DMN diagram is completely wrong! (in every way - there is not one thing that is correct)
  • DT3 is not connected at all to the other tables.
  • DT2 depends on DT1 (and not the other way around as the DMN diagram shows)
  • Inputs A and B do not go into DT2; they go into DT1.

But even that is not the whole story.

If we run the validator it will tell us

Not all of the attributes in the model are connected. There are 3 subgraphs.
Subgraph 1
A->C 
Subgraph 2
B->D 
D->E 
Subgraph 3
X->Z 
Y->Z 

So although DT1 contains these two rules

DT1: R1: if A = 'x' then C is 'x'    
DT1: R2: if B = 'x' then D is 'x'  

they are really not related and perhaps should be in different tables.

There is a dependency between DT1 and DT2, but it is only because of the attribute dependency B->D

The dependency A->C plays no part in the DT1->DT2 dependency

image

The validator can show this graphically as follows:

image