Dmn

DMN List and Table Basics

DMN List and Table Basics Beginners in DMN often define a separate variable for every simple value in their model, a string, for example, or a number. But it’s often far better to group related values within a single variable, and the FEEL language in DMN has multiple ways to do that: structure, sometimes called a context, identifies each component value with a name. For example, the structure …

BPM+ : The Enduring Value of Business Automation Standards

While it no longer has the marketing cachet it once enjoyed, the fact that the foundations of the Trisotech platform are the three business automation standards from the Object Management Group - BPMN, CMMN, and DMN - remains a key advantage, with enduring benefits to users. In this post we’ll discuss what these standards do, how we got them, and their enduring business benefits. In the Beginning …

Make Way for B-FEEL

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 – …

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 …

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 …

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 …

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 …

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 …

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 …

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 …