Blog Posts BPMN DMN

New DMN Boxed Expressions Editor

Blog: Drools & jBPM Blog

While working with the DMN editor, you may have noticed that a big amount of modeling logic lives on the expressions, boxed in a few kinds of DMN nodes. 

The Boxed Expressions are crucial for modeling decision logic. On that side, there is an ongoing effort from the engineering team to improve the user experience of the Boxed Expression Editor, which will be described in a series of articles that will clarify reasons, solutions, and the next steps.

This first article will briefly explore Boxed Expressions from their specification perspective, looking at how they are currently leveraged in the DMN editor.

WHAT ARE BOXED EXPRESSIONS

A Decision Requirements Diagram (DRD) is a graphical representation of the decision model structure. In such a diagram, you can define decision nodes and each of them has a value expression (or decision logic) that determines its output based on its current inputs. The logic defined in such expressions is expressed in tabular formats called boxed expressions.

The DMN editor supports a variety of decision logic types:

BOXED EXPRESSIONS IN THE CURRENT DMN EDITOR

I am sure you have already used the DMN Editor to edit a Boxed Expression. By the way, let’s take one step at a time.

First of all, let’s go to the well-known dmn.new website.

Here, there is a ready-to-use online version of the DMN editor:

You have two ways for editing a Boxed Expression:

  1. Edit a Business Knowledge Model node. In this case, you are able to edit only its Function definition.
  2. Edit a Decision Service node. In this way, it is possible to specify the desired expression logic type by using a selector.

Editor look & feel is very close to what the spec says. 

Let’s take, as an example, the Literal Expression, which is the most minimal logic type. 

You can navigate back to the DMN Diagram by clicking the link on the top.

The section below contains both the decision node name and the selected logic type. On the bottom, we have the boxed expression itself, with the header containing the value expression’s name and type ref, and a body containing the text field, that you can fill with FEEL code.

I suggest you play with the editor, trying to select other logic types.

For example, what happens if you need to represent a Context table, where one entry maps to a Literal Expression, and another maps to a List of Literal Expressions? Well, you can find out that there are several business cases where it is necessary to specify nested expressions and we have few logic types that suit such cases well.

CONCLUSION

We have covered just a few topics related to Boxed Expressions. The main goal here was to communicate how crucial they are for the DMN ecosystem.

You will find more information about DMN modeling and related use-cases on the official Kogito Documentation.

The existing Boxed Expressions editor already looks great, so what may you expect from the new one?

The answer will be part of the next article! We will talk about the state of the art for this editor, exploring rooms for enhancements, and how we’re improving the overall user experience in the new one.

The post New DMN Boxed Expressions Editor appeared first on KIE Community.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="https://www.businessprocessincubator.com/content/new-dmn-boxed-expressions-editor/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×