The FEEL language has been criticized for not being quite as business-friendly as its originators hoped.
One particular target of this criticism has been FEEL’s use of the value null to mean both a missing value and an execution error. Now DMN 1.6 tries to improve things with the introduction of a new dialect of FEEL called B-FEEL, for “Business-Friendly Expression Language”. The B-FEEL grammar – the formal rules of parsing the language in a compiler – are the same as for regular FEEL, but the semantics – the computed value – of certain expressions involving null or invalid arguments are different, more in line with what most users expect.
By:
Bruce Silver
September 4, 2024
dmn
Read More
Beginning DMN modelers might describe a decision service as that rounded rectangle shape in a DRD that behaves similarly to a BKM. That's true, but it is a special case. Fundamentally, a decision service is the unit of execution of DMN logic, whether that is invoked by a decision in the DRD, a business rule task in BPMN, a decision task in CMMN, or an API call in any external client application or process.
Although DMN's expression language FEEL was designed to be business-friendly, it remains intimidating to many. That has led to the oft-heard charge that "DMN is too hard for business users". That's not true, at least for those willing to learn how to use it. Although the Microsoft Excel Formula language is actually less business-friendly than FEEL, somehow you never hear that "Excel is too hard for business users." One key reason why FEEL is more business-friendly than the Excel Formula language, which they now call Power FX, is its operators.
Lookup tables are a common logic pattern in decision models. To model them, I have found that beginners naturally gravitate to decision tables, being the most familiar type of value expression. But decision tables are almost never the right way to go. One basic reason is that we generally want to be able to modify the table data without creating a new version of the decision model, and with decision tables you cannot do that.
By:
Bruce Silver
February 29, 2024
dmn
Read More
This year marks the fifteenth anniversary of Method and Style, and over the years it has held up well. Method and Style is a set of conventions layered on top of the BPMN standard - and, more recently, DMN and CMMN as well - intended to make the meaning of the model clear and complete from the printed diagrams alone. As a standard based on diagrams, BPMN promises "What you see is what you get,"
It's been over five years since DMN Method and Style 2nd Edition was published and a lot has changed since then. So I'm pleased to announce that DMN Method and Style 3rd Edition is now available. You can get the print edition on Amazon and other online bookstores, and you can order the e-book edition right here on my website. The new edition is based on the draft DMN 1.6 spec, which contains many features unavailable in the second edition of the book, which was based on DMN 1.
DMN is not optimized for machine learning algorithms, but it's good enough for simple problems such as fitting a straight line to a set of data points, known as linear regression. In this post we'll look at two ways to do it. Consider the table Dataset, a list of x-y pairs. Here x represents the number of members in a group health insurance plan, and y represents the administrative cost of the plan as a percentage of claim value.
By:
Bruce Silver
December 14, 2023
dmn
Read More
One of the most common mistakes beginners make with BPMN stems from lack of clarity as to what exactly BPMN means by a process. A BPMN process is a defined set of sequences of activities, performed repeatedly in the course of business, starting from some triggering event and leading to some final state. The key word here is "repeatedly". The same process definition is followed by each instance of the process.
Last month we discussed a valuable low-code implementation pattern using Business Automation Services to create event-driven database apps in the cloud. Upon receipt of a business event - a REST API call - the pattern involves a straight-through process that retrieves various database records, calls a decision service to generate additional records, and then inserts the new records in the database. The beauty of this pattern is that by using BPMN, DMN, and OData, subject matter experts can create executable implementations themselves without developer resources, greatly increasing business agility.
Most of my past posts about DMN have assumed that the reader knows what it is and may be using it already. But there is undoubtedly a larger group of readers who have heard about it but don't really understand what it's all about. And possibly an equally large group that have heard about it from detractors and have some misconceptions. So in this post I will try to explain what it is and how it works.