The newest DMN-version 1.3 has been published. We have taken a closer look at the extensions compared to DMN 1.2. Overall, the update is smaller than the one from DMN 1.1 to DMN 1.2.
What is DMN?
Decision Model and Notation, DMN, is a standard notation for decision logic defined by the Object Management Group (OMG). The standard provides diagrams to illustrate the relationships between decisions and the information needed to make them. It also defines a notation for decision tables and the associated execution logic.New in DMN 1.3: Visual grouping of DRD elements
Already since the first publication of DMN the wish for a grouping element analogous to BPMN was in the room. Now that wish has been granted. A group is a pure presentation element and does not play a role in the execution of decision logic.
This is what the new symbol looks like. It graphically corresponds to the grouping symbol known from BPMN.
The modeler is free as to which DRD elements he wants to group and also the meaning of the group is up to them. In the following example, a group has been used to provide additional information referring to several input facts.
New in DMN 1.3: Temporal Reasoning
The second innovation concerns the FEEL programming language defined by DMN. FEEL can be used to represent decision logic that cannot be expressed by a simple decision table.
FEEL has now been extended by a set of predefined function calls for comparing points in time and time intervals:
In the past, for example, if you wanted to specify the condition that two time intervals A and B overlap, you had to make it up of greater/smaller conditions, something like this:
A.end > B.start AND B.end > A.start
As a reader of this condition, it may take you a while to realize, it comes down to overlapping intervals. Now with DMN 1.3 you simply write:
overlaps(A,B)
Since DMN is aimed at both technicians and business experts, it is important that decision logic can be expressed as comprehensibly as possible. The newly defined functions are yet another step in that direction.
Compatibility problems?
The update from 1.2 to 1.3 is a minor update, as only the decimal place increased. All minor updates are backwards compatible. Thus, a model compatible to DMN 1.2 is also compatible to DMN 1.3.
Difficulties may arise if you are using a modeling tool that has already been upgraded to DMN 1.3 and your DMN engine only supports DMN 1.2 or older. If you update your tool for modeling and execution at the same time, you will be fine.
Back to blog overview