Mit Rule-Bausteinen bilden Sie Regeln für Entscheidungen innerhalb eines Business Processes ab. Die anzuwendenden Regeln werden dabei innerhalb von Entscheidungstabellen (.rule) nach DMN 1.1 definiert. Die Regeln können automatisiert geprüft und die Ergebnisse für die Weiterverarbeitung an den Business Process zurückgegeben werden.
Hinweis:
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
Warnung:
-
Defaultwerte des Typs
IntegerundDecimalkönnen nicht leer sein. -
Bei den Typen
IntegerundDecimalkann nicht geprüft werden, ob der Wert leer ist.
Um Regeln für Entscheidungen in Business Processes abzubilden, verwenden Sie bei der Modellierung von Business Processes sogenannte Rule-Bausteine. Diese Rule-Bausteine lassen sich anschließend mit einer Entscheidungstabelle (.rule) verknüpfen, in der die Regeln definiert sind.
Hinweis:
Sie können beliebig viele Entscheidungstabellen in einem Business Process verketten. Ausgangswerte der einen Tabelle werden somit zu Eingangswerten der nachfolgenden Tabelle. Dadurch lassen sich komplexe Entscheidungsbäume mit entsprechenden Verzweigungen modellieren.
Entscheidungstabelle (.rule) anlegen
Entscheidungstabellen (.rule) werden unterhalb des Business Processes über das Kontextmenü New > Rules oder über die Symbolleiste über
Nach dem Anlegen wird die Entscheidungstabelle im X4 Designer geöffnet.
Regeln anlegen
Sie legen Regeln in der Entscheidungstabelle (.rule) mithilfe der folgenden Bereiche des Editors fest.
|
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. Hinweis: 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. U (Unique): Nur eine Regel kann zutreffen und es wird genau ein Ergebnis ausgegeben. Möglicher Verstoß gegen die Hit Policy:
F (First): Eine oder mehrere Regeln können zutreffen, es wird aber nur das erste Ergebnis ausgegeben. Beachten Sie die Überprüfungsreihenfolge! Möglicher Verstoß gegen die Hit Policy:
A (Any): Eine oder mehrere Regeln mit demselben Ergebnis können zutreffen, es wird jedoch nur ein Ergebnis ausgegeben. Möglicher Verstoß gegen die Hit Policy:
C (Collect): Alle zutreffenden Ergebnisse werden ohne feste Ausgabereihenfolge ausgegeben. Möglicher Verstoß gegen die Hit Policy: Keine zutreffende Regel |
Ergebnisse der Entscheidungstabelle
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 |
Hinweis:
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