DMN at BPMNext 2016
Blog: Collaborative Planning & Social Business
BPMNext is 2 and half days of intense examination and evaluation of the leading trends in the business process community, and Decision Modeling Notation was clearly highlighted this year.
This is the year for DMN
The Decision Modeling Notation standard was released mid 2015. There are several implementations, but none of them quite mature yet. If you are not familiar with DMN, here is what you need to know:
- You can think of it simplistically as a tree of decision tables. There is so much more to it than that, but probably 80% of usage will a tree of decision tables
- It has a specific expression language that allows the writing of conditions and results
- Actually it is a tree of block expressions. A block expression can be a decision table, a simple if/then/else statement, or a number of other types of expression.
- The results of blocks lower in the tree can be used in blocks further up.
The idea is to represent complicated expressions in a compact, reusable way.
In general, the market response to DMN has been very good. Some business rule purists say it is too technical, however is strikes a balance between what you would need to do in a programming language, and a completely natural language rule implementation. Like BPMN, it will probably tend to be used by specialists, but there is also a good chance, like BPMN, that the results will at least be readable by regular business users. In my talk, I claimed “This is the Year for DMN”
Demonstrations:
- Denis Gagne, Trisotech, demonstrated DMN modeling as part of his suite of cloud based process modeling tools. Execution is notably absent.
- Alvin To, Oracle, demonstrated their version, which only supports linear box expressions (as opposed to the more general tree structure) putting particular attention to their contribution to the spec: FEEL (Friendly Enough Expression Language).
- Larry Goldberg, Sapiens, demonstrated their ability to create DMN models and transform them into a large variety of execution formats.
- Jacob Feldman, Open Rules, demonstrates his rules optimization capability.
- Jacob Freund, Camunda, has an implementation that focuses on single decision tables.
Missing Run-time
Most of the demonstrations focused on the modeling of the decisions. This is a problem. The specification covers the modeling, however as with any software standard, the devil is in the details. You can model using several tools in exactly the same way, but there is no guarantee that the execution of the model will be the same. A similar situation existed with BPMN where different implementations treated things like the Inclusive-OR node completely differently. The model is meaningless unless you can show that the models actually produce the same decisions — and that requires a standard run time library that can execute the model and show that what they actually mean.
I don’t want to belabor this too much, but at the same time one needs to stress that the semantics are described in natural language using words that are ambiguous. SQL is a standard that involves only a handful of keywords and unambiguous syntax, but today, 35 years after SQL became a standard, it is still not completely exchangeable between the main DB engines. It would be like allowing people to write code i Java, without having a Java run-time to actually see if the written code makes sense. The problem occur in the pathological edge cases which are surprisingly more numerous than anyone anticipates.
Call To Action
For this reason I am calling for a standard implementation of the DMN evaluator that is widely available to everyone. I think it needs to be an open source implementation.
WfMC will be starting a working group to identify and promote the best open source implementation of DMN run-time. We don’t want to invent yet another run-time library, so we plan to identify the best existing and promote it. There are a couple of good examples out there.
If you believe you have a good open source implementation of DMN run-time then please leave a comment on this blog post.
If you are interested in helping identify and recognize the best implementation, leave a comment as well.
Resources
- Sandy Kemsley
- BPMNext 2016 part 3 – coverage of the DMN demos.
- Bruce Silver
Leave a Comment
You must be logged in to post a comment.