Rule
![]() | Mit dem |
DMN ist ein Standard zur Modellierung von Entscheidungen in Business Processes. Im Standard DMN ist auch die Simple Expression Language (S-FEEL) definiert, eine formale Ausdruckssprache zur Definition einer Entscheidungslogik.
DMN 1.1 mit S-FEEL ist online verfügbar unter https://www.omg.org/spec/DMN/1.1/.
Eigenschaften
| Beschriftung des Symbols im Prozessdiagramm |
Rules anlegen und definieren
Defaultwerte des Typs Integer und Decimal können nicht leer sein.
Bei den Typen Integer und Decimal kann nicht geprüft werden, ob der Wert leer ist.
Um Regeln für Entscheidungen in Business Processes besser abzubilden, können bei der Modellierung von Business Processes Rule-Bausteine verwendet werden. Diese lassen sich anschließend mit einer Entscheidungstabelle (.rule
) verknüpfen, in der die Definition der Regeln vorgenommen wird.
Verkettung von Entscheidungstabellen
Es können beliebig viele Entscheidungstabellen in einem Business Process verkettet werden. Ausgangswerte der einen Tabelle werden somit zu Eingangswerten der nachfolgenden. Dadurch lassen sich komplexe Entscheidungsbäume mit entsprechenden Verzweigungen modellieren.
Entscheidungstabellen (.rule
) werden unterhalb des Business Processes über das Kontextmenü New > Rules oder über die Symbolleiste
Nach dem Anlegen wird die Entscheidungstabelle im X4 Designer geöffnet.

Nr. | Element | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Werkzeugleiste | Funktionen zum Bearbeiten von Entscheidungstabellen, abhängig von Kontext und Auswahl | ||||||||||
2 | Kopfbereich | Einstellungen zur Definition von Input und Output, wobei mehrere Inputs und Outputs möglich sind. Folgende Zellen sind zur Definition des Inputs und Outputs verfügbar:
| ||||||||||
3 | Annotation | Freie Anmerkung, die nicht im Output ausgegeben wird | ||||||||||
4 | Regeln | Regeln für die Transformation von Inputs zu Outputs. Regeln werden pro Zeile definiert, wobei die Reihenfolge der Zeilen die Überprüfungsreihenfolge vorgibt. Eine Regel hat mindestens eine Spalte zur Verarbeitung der Eingangswerte (Input) und mindestens ein Entscheidungs-Ergebnis (Output). Die Regeln in der Entscheidungstabelle werden in der S-FEEL-Notation angegeben. Damit lässt sich die Entscheidungslogik in natürlicher Sprache "business-friendly" beschreiben. Gleichzeitig erlaubt sie als formale Auszeichnungssprache mit festgelegter Semantik, Grammatik und definierten Regeln die Interpretation und das Ausführen von Werten. S-FEEL kann Zeichenketten, Zahlen, einfache arithmetische Operationen und simple Vergleichsprüfungen interpretieren. Beachten Sie:
| ||||||||||
5 | Hit Policy | Einstellung zur Auswahl der Ergebnisse. Sie legt fest, wie viele Regeln einer Entscheidungstabelle zutreffen können und wie die Ergebnisse ausgegeben werden. Regeln können so definiert werden, dass die Anzahl und Auswahl der Ergebnisse gegen die Hit Policy verstößt. In diesem Fall müssen je nach Anwendungsfall die Regeln oder die Hit Policy korrigiert werden.
|
Der fertige BPMN-Prozess mit der Entscheidungstabelle kann im X4 Designer validiert, auf Fehler überprüft und auf dem X4 Server ausgeführt werden.
Entscheidungstabellen können zu drei Ergebnissen führen:
Icon | Beschreibung |
![]() | Der Rule-Baustein liefert ein oder mehrere Ergebnisse. Das Zwischenergebnis ist aufrufbar. |
![]()
| Der Rule-Baustein liefert keine Ergebnisse. Mögliche Ursachen:
|
| Der Rule-Baustein liefert einen Fehler, da die Entscheidungstabelle nicht konform zu S-FEEL ist. Ein Bericht mit einer Erklärung des Fehlers ist aufrufbar. |
S-FEEL-Ausdrücke zur Definition von Regeln
Operator / Ausdruck | Beschreibung | |
---|---|---|
Vergleich |
| Prüft, ob der Eingabewert gleich dem angegebenen Wert ist, z. B. |
| Führt eine Prüfung auf Basis einer Variablen, eines Features, eines Parameters oder eines Vorgangs-Statuswertes (Case State) durch Mit | |
| Prüft, ob der Eingabewert kleiner als der angegebene Wert ist, z. B. | |
| Prüft, ob der Eingabewert kleiner oder gleich dem angegebenen Wert ist, z. B. | |
| Prüft, ob der Eingabewert größer dem angegebenen Wert ist, z. B. | |
| Prüft, ob der Eingabewert größer oder gleich dem angegebenen Wert ist, z. B. | |
| Prüft, ob der Eingabewert nicht kleiner oder gleich dem angegebenen Wert ist, z. B. | |
Intervall |
| Prüft, ob der Eingabewert größer oder gleich dem Startwert und kleiner oder gleich dem Endwert ist |
| Prüft, ob der Eingabewert größer als der Startwert und kleiner oder gleich dem Endwert ist | |
| Prüft, ob der Eingabewert größer oder gleich dem Startwert und kleiner als der Endwert ist | |
| Prüft, ob der Eingabewert größer als der Startwert und kleiner als der Endwert ist | |
Disjunktion |
| Prüft, ob der Eingabewert 3,5 oder 7 ist |
| Prüft, ob der Eingabewert weniger als 2 oder mehr als 10 ist | |
| Prüft, ob der Eingabewert entweder 10 oder zwischen 20 und 30 ist | |
| Prüft, ob der Eingabewert entweder Meier, Müller oder Weber ist |
Eine umfangreiche Referenz zur Syntax der S-FEEL Notation finden Sie in der aktuellen Spezifikation zu DMN 1.1 (Kapitel 9) der Object Management Group. https://www.omg.org/spec/DMN/1.1