Presenter: Denis Gagne, Trisotech.
Abstract: In this session Denis will present a summary of the work done by the DMN 1.4 Revision Task Force (RTF) and open discussion on what should come next for the Decision Model and Notation standard.
3. Trisotech.com
History of DMN
NEW IN DMN 1.4
2
0
1
5
Original release of the DMN
Specification
DMN 1.0
2
0
1
6
Addressing major issues with the
DMN XML interchange
DMN 1.1
2
0
1
9 - DMN Diagram Interchange (DI)
- Decision Service as Invokable
- Ellipsis Marker
- Decision Table annotations
DMN 1.2
2
0
2
1
- Group annotations
- Temporal functions
- Context FEEL functions
- Improvements to the typing
DMN 1.3
2
0
2
2
- Three new type of boxed
Expressions
- Collection marker on decisions
- New FEEL functions
DMN 1.4
4. Trisotech.com
DMN 1.4
Approved by the OMG’s Architecture Board in
December 2021
Should be published as an official specification in
Q1 2022
DMN 1.5 currently has a target date of March 2023
NEW IN DMN 1.4
5. Trisotech.com
Motivations behind DMN 1.4
Addressing grey areas of interpretation in previous
version of the documentation
Addressing shortcomings based on user feedback
and vendor experiences with the specification
NEW IN DMN 1.4
6. Trisotech.com
Three New Boxed Expression
Conditional
Graphical structure representing a conditional execution based
on a Boolean criteria
Iterator
Graphical structure representing the evaluation of a boxed
expression for each element of a collection
Filter
Graphical structure representing filtering in a collection based
on a criteria that can be expressed using another boxed
expression
NEW IN DMN 1.4
7. Trisotech.com
Conditional
Modeled after the if/then/else FEEL statements
Contains 3 blocks: if, then, else. Each of them able to contain various
boxed expression types
NEW IN DMN 1.4
8. Trisotech.com
Conditional - Example
NEW IN DMN 1.4
A literal expression that applies a different expression
depending on the current date to calculate a rate based
on a Number of Months can be transformed in a
conditional boxed expression that leverages decision
tables
9. Trisotech.com
Iterator
Modeled after the for/every/some FEEL statements
Contains 3 blocks: for, in, return OR every/some, in, satisfies. Each
of them able to contain various boxed expression types
NEW IN DMN 1.4
10. Trisotech.com
Iterator - Example
NEW IN DMN 1.4
A literal expression that iterate over different
Loans to calculate a rate on each one of them
can be transformed into an iterator boxed
expression that leverages an invocation boxed
expression
11. Trisotech.com
Filter
Modeled after the bracket operator of FEEL
Contains two blocks: a collection and a filter. Each of them able to
contain various boxed expression types
NEW IN DMN 1.4
12. Trisotech.com
Filter - Example
NEW IN DMN 1.4
A literal expression that filters Loans to keep only
the ones matching an Amount and Period criteria
can be transformed into a filter boxed expression
that leverages a context boxed expression.
13. Trisotech.com
Benefits of the new boxed expression
Allows to stay at the boxed expressions level of
abstraction for more use cases
Allows to reuse business-friendly constructs such as
decision tables in conditional, iteration and filters which
was nearly impossible to do using literal expressions
NEW IN DMN 1.4
15. Trisotech.com
Collection Marker on Decisions
A collection marker was added to decisions to depict that the output
of that decision is a collection
Like the input data collection marker but at the top of the shape
given that it is the output that is a collection
NEW IN DMN 1.4
16. Trisotech.com
New FEEL Functions – Current Date
Function Name Description
now Returns the current date and time
today Returns the current date
NEW IN DMN 1.4
These two functions were widely integrated as vendor extensions by most DMN engines already.
Models using these two functions are not guaranteed to always produce the same result given the
same inputs. It is often a good practice to provide the “current” date as an input.
17. Trisotech.com
New FEEL Functions – Context
Function Name Description
context Creates a new context based on a list of key and values
context put Creates a new context that includes the new entry, or overriding the existing
value
context merge Creates a new context that includes all entries from given contexts
NEW IN DMN 1.4
key 1: 1
key 2: 2
key 1: 1
key 2: 2
key 3: 3
key 1: 1
key 2: 2
key 3: 3
key 4: 4
18. Trisotech.com
New FEEL Functions – Rounding
Introduction of a second optional parameter called scale for
the existing floor and ceiling methods:
floor(n, scale), ceiling(n, scale)
Example: floor(1.56) = 1 but floor(1.56, 1) = 1.5
Introduction of additional rounding methods: round up,
round down, round half up, round half down
NEW IN DMN 1.4
19. Trisotech.com
New FEEL Functions – Rounding
Function Name Description
Ceiling Next integer moving toward positive infinity
Round up Next integer moving away from zero
Round half up Next integer moving away from zero if at least halfway or previous integer
otherwise
Floor Next integer moving toward negative infinity
Round down Next integer moving toward zero
Round half down Next integer moving toward zero if at least halfway or previous integer
otherwise
NEW IN DMN 1.4
ceiling(22.3) = round up(22.3) = 23 but round half up(22.3) = 22
floor(-5.2) = -6 but round down(-5.2) = round half down(-5.2) = -5
20. Trisotech.com
New FEEL Functions – Text
A new string join function was added
Uses two parameters:
oCollection of strings to join
oOptional delimiter character(s)
string join([“a”,”b”,”c”], “/”) = “a/b/c”
NEW IN DMN 1.4
22. Trisotech.com
Already in DMN
Decisions Requirements via DRDs
Simplification of decision logic via Boxed Expressions
Uniformity of execution via FEEL
Invocation
oUser functions
oPredictive Models (PMML)
oJava
Temporal Reasoning
BEYOND DMN 1.4
23. Trisotech.com
Looking forward for DMN 1.5
Correcting the compliance categories
oBruce Silver’s Blog post
oDMN OnRamp
Allowing external Library of Built-in functions
oDealing with mathematical linear algebra (matrix
manipulation)
oPredictive analytics functions (e.g. R library)
oEtc.
Range as inputs
Dealing with units of measure
Dealing with temporal granularity (Common sense)
oe.g. comparing 1 Jan 2022 16:30hrs with 3 Feb 2022
BEYOND DMN 1.4
24. Trisotech.com
What Value does DMN provide?
1. Visually Specified Decision
Requirements and Logic
oEasy to quickly visually grasp
requirements and logic of decisions
2. Uniform Skill Set
oAny skilled DMN person can read/write
and understand a DMN compliant model
3. Uniform File Format
oAny DMN tool can open/edit an DMN
compliant file
4. Uniform Execution
oAny DMN engine will provide the same
outputs given the same inputs
BEYOND DMN 1.4
26. Trisotech.com
Is DMN 2.0 on the Horizon?
RTFs are limited to dot versions (e.g. DMN 1.5)
oMaintain backward compatibility
New version requires and RFP process
oNormally preceded by an RFI
oAll together normally a 2 to 3 year cycle
BEYOND DMN 1.4