Bruce Silver

What Is a Decision Service?

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.

FEEL Operators Explained

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 in DMN

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.

What Is Method and Style?

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,"

DMN Method and Style 3rd Edition Now Available

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.

Linear Regression in DMN

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.

Instance Alignment in BPMN

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.

DMN: Validating Data Input

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.

DMN 101

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.

More On DMN Data Validation

This month we return to a topic I've written about twice before, data validation in DMN models. This post, in which I will describe a third method, is hopefully the last word. Beginning decision modelers generally assume that the input data supplied at execution time is complete and valid. But that is not always the case, and when input data is missing or invalid the invoked decision service returns either an error or an incorrect result.