Die neue DMN-Version 1.3 ist veröffentlicht. Wir haben uns die Erweiterungen gegenüber DMN 1.2 einmal im Detail angesehen. Insgesamt fällt das Update kleiner aus als das von DMN 1.1 zu DMN 1.2.
Was ist DMN?
Decision Model and Notation, kurz DMN, ist ein Notationsstandard für Entscheidungsregeln, der von der Object Management Group (OMG) definiert wurde. Der Standard bietet Diagramme zur Darstellung der Zusammenhänge zwischen Entscheidungen und dafür notwendigen Informationen. Und er definiert eine Notation für Entscheidungstabellen und die dazugehörige Ausführungslogik.Neu in DMN 1.3: Gruppierung von DRD-Elementen
Bereits seit der ersten Veröffentlichung von DMN stand der Wunsch nach einem Gruppierungselement analog zu BPMN im Raum. Jetzt wurde er umgesetzt. Eine Gruppe ist ein reines Darstellungselement und spielt bei der Ausführung von Entscheidungslogik keine Rolle.
So sieht das neue Symbol aus. Es entspricht grafisch der aus BPMN bekannten Gruppe.
Der Modellierer hat freie Hand, was er gruppieren möchte und welche fachliche Bedeutung er damit verbindet. In folgendem Beispiel wurde eine Gruppe verwendet, um eine zusätzliche Information zu geben, die sich auf mehrere Input-Fakten bezieht.
Neu in DMN 1.3: Temporal Reasoning
Die zweite Neuerung betrifft die von DMN definierte Programmiersprache FEEL. Mit FEEL kann Entscheidungslogik abgebildet werden, die sich nicht mit einer einfachen Entscheidungstabelle ausdrücken lässt.
FEEL wurde nun erweitert um einen Satz vordefinierter Funktionsaufrufe, mit denen sich Zeitpunkte und Zeitintervalle vergleichen lassen:
Wollte man früher beispielsweise die Bedingung formulieren, dass sich zwei Zeitintervalle A und B überschneiden, musste man sich das aus Größer/Kleiner-Bedingungen zusammensetzen, etwas so:
A.ende > B.anfang AND B.ende > A.anfang
Als Leser dieser Bedingung denkt man einen Augenblick darüber nach, bis sich einem erschließt, dass es schlicht um Intervallüberschneidung geht. Jetzt in DMN 1.3 schreibt man banal:
overlaps(A,B)
Da DMN sich sowohl an Techniker als auch an Fachexperten richtet, ist es wichtig, dass Entscheidungslogik möglichst verständlich ausgedrückt werden kann. In diese Richtung zielen die neuen Funktionen.
Kompatibilitätsprobleme?
Das Update von 1.2 auf 1.3 ist ein Minor Update, denn es wird nach dem Komma hochgezählt. Grundsätzlich sind alle Minor Updates von DMN rückwärtskompatibel. Ein DMN 1.2-kompatibles Modell ist auch kompatibel zu DMN 1.3.
Zu Schwierigkeiten könnte es kommen, falls man zur Modellierung ein Tool verwendet, welches bereits auf DMN 1.3 umgestellt wurde, und die eigene DMN Engine gleichzeitig bloß DMN 1.2 oder älter unterstützt. Wenn man Modellierung und Ausführung zusammen updatet, geht nichts schief!
zurück zur Blogübersicht