Entscheidungslogik definieren

Um eine Entscheidungselement zu vervollständigen, müssen Sie in Ihrem DMN-Diagramm Entscheidungslogik definieren. Diese wird typischerweise in einer Entscheidungstabelle definiert. Grundsätzlich sind Entscheidungstabellen so aufgebaut, dass die Spalten in Eingabe- und Ausgabedaten unterteilt sind und die Zeilen für die jeweiligen Entscheidungsregeln genutzt werden.

In diesem Kapitel erfahren Sie, wie eine Entscheidungslogik definiert wird.

Um eine Entscheidungstabelle zu definieren, nehmen Sie die folgenden Schritte vor:

1. Ziehen Sie das Element Decision wie oben beschrieben aus der Elementauswahl auf die Zeichenfläche.

2. Um eine Entscheidungslogik zu hinterlegen, klicken Sie auf das Tabellen-Symbol in der oberen linken Ecke des Elements. Der Dialog Entscheidungslogik öffnet sich nun.

Öffnen des Entscheidungslogik-Dialogs.

3. Im Decision Table-Tab können Sie nun eine Entscheidungslogik hinterlegen, indem Sie Eingaben und Ausgaben definieren und diese durch Regeln zuordnen. Klicken Sie auf Neue Eingabe um eine Eingabe zu benennen.

Benennen einer Eingabe.

4. Legen Sie nun den Datentyp für Eingabe und Ausgabe fest, indem Sie auf das Feld Text klicken. In der Spaltenkonfiguration können Sie den gewünschten Datentyp (zum Beispiel Aufzählung) auswählen.

Dropdown-Menü zur Auswahl des Datentyps.

5. Falls Sie den Datentyp Aufzählung ausgewählt haben, können Sie nun mögliche Werte festlegen.

Definieren Sie mögliche Werte.

6. Eingabe- bzw. Ausgabewerte vom Typ Aufzählung können Sie mit Hilfe der nach oben und nach unten Buttons rechts vom Wert verschieben oder auch automatisch alphanumerisch sortieren. Dazu klicken Sie auf den Werte sortieren Button

Sortieren der definierten Werte.

7. Um weitere Eingaben und Ausgaben zu erstellen, klicken Sie auf Eingang hinzufügen beziehungsweise Ergebnis hinzufügen.

Hinzufügen von Eingang/ Ergebnis.

Sobald Sie einen neuen Input definiert haben, wird ein entsprechendes Input Data-Element automatisch auf der Zeichenfläche erstellt:

Das entsprechende Input-Element wird automatisch auf der Zeichenfläche erstellt.
  1. Klicken Sie auf Regel hinzufügen, um eine neue Regel zu erstellen.

    Hinzufügen einer neuen Regel.
  2. Nun können Sie den Zusammenhang zwischen Input- und Outputwerten festlegen: dazu werden Operatoren und Eingabewerte festgelegt. Führen Sie einen Doppelklick auf die betreffende Zeile aus.

    Definieren Sie die Relation von Eingabe zu Ausgabe.
  3. Wählen Sie einen Eingabewert aus.

Auswahl eines Eingabewerts.
  1. Optional können Sie eine textuelle Beschreibung der Regel in der Spalte Anmerkungen hinterlegen.
Beschreibung der Entscheidungsregel.

Entscheidungsregeln importieren

Möglicherweise haben Sie schon einige Entscheidungsregeln in einem Spreadsheet definiert. In diesem Fall können Sie diese Regeln in Ihre DMN-Entscheidungstabelle importieren, zum Beispiel als Liste Komma-separierter Werte.

1. Öffnen Sie den Entscheidungstabellen-Editor und klicken anschließend auf Import/Export - Text Import in der oberen rechten Ecke.

Klicken Sie auf 'Import/Export' - 'Text importieren'.
  1. Nun können Sie die Entscheidungsregeln einfügen, beispielsweise mit Copy&Paste.

In diesem Beispiel sehen wir ein Set von Regeln, das einen Kundenrabatt bestimmt:

Importieren von Entscheidungsregeln.

Importieren von Entscheidungsregeln.

Die Regeln müssen der folgenden Struktur entsprechen:

  • Abhängig vom gewählten Trennzeichen muss ein Feld in der Entscheidungstabelle/Regel mit einem Tab, Semicolon oder Komma getrennt werden. Vergleichsoperatoren wie = und <= sind Teil des Feldes, auf das sie sich beziehen.

  • Beginnen Sie jede Regel in einer neuen Zeile.

  • Es werden ausschließlich die folgenden Literal Expressions unterstützt:

    • not(value)
    • not(value1, ..., valueN)
    • !=value

    Zum Beispiel kann not(Premium, Gold, Platinum) alle Kunden mit den entsprechenden Kundenkarten ausschließen.

Bemerkung

Der Import überschreibt keine bereits bestehenden Regeln. Nachdem Sie die Regeln importiert haben, werden Sie zum Ende der Tabelle hinzugefügt.

Die importierten Regeln werden zur Tabelle hinzugefügt.

Die importierten Regeln werden zur Tabelle hinzugefügt.

Entscheidungslogik als Literal Expressions definieren

Als eine Alternative zu der Logik in der Entscheidungstabelle für erfahrenere Benutzer können Sie auch Literal Expressions definieren. Literal Expressions sind vordefinierte logische Algorithmen oder Regeln, die verwendet werden können, um automatisch Ausgabeergebnisse für Entscheidungen zu erzeugen.Oft, aber nicht notwendigerweise werden sie in einer formalen Ausdruckssprache erstellt. Sie kommen am häufigsten zum Einsatz, wenn die Ausgabe einer Entscheidung eine Folge von komplexen Berechnungen oder logischen Algorithmen ist, oder wenn die Logik der Entscheidung nicht viele Variationen in ihren Ausgaben in Bezug auf seine Eingänge aufweist.

Literal Expressions werden in FEEL (“Friendly enough expression language”) geschrieben. Diese Sprache zählt zu den DMN-Standards. Sie können Beispiele unter folgendem Link herunterladen: http://www.omg.org/spec/DMN/1.0/PDF.

Fügen Sie eine Beschreibung hinzu.

Lesen Sie mehr über Literal Expressions unter Literal Expressions anstelle von Entscheidungstabellen verwenden.

Wichtig

Wenn Sie eine Literal Expression hinterlegen, überschreibt diese die Logik in der Entscheidungstabelle.

Entscheidungslogik aus einem anderen DMN-Diagramm referenzieren

Sie haben auch die Möglichkeit, eine Entscheidungslogik aus einem anderen DMN-Diagramm zu referenzieren.

  1. Wechseln Sie in den Link-Tab. Der Dialog Verlinkung setzen öffnet sich.

    Der "Link" Tab.
  2. Wählen Sie aus dem Navigationsbaum das Diagramm und die gewünschte Entscheidungslogik aus.

    Referenz zu einem anderen DMN-Diagramm setzen.
  3. Klicken Sie auf die Schaltfläche Verlinkung setzen.

Warnung

In älteren Versionen des Process Managers war es möglich, ein Diagramm zu verlinken, ohne eine Entscheidung zu spezifizieren. Dies führt jedoch dazu, dass das verlinkende Diagramm semantisch unvollständig ist und nicht in der Simulation und im Testlabor ausgeführt werden kann.

Entscheidungsmodelle in Business Knowledge Models referenzieren

Wenn ein Business Knowledge Model eine Entscheidung verlinkt, kann eine referenzierende Entscheidung die entsprechende Entscheidungslogik wiederverwenden. Eine solche Referenz wird als Boxed Invocation bezeichnet.

Boxed Invocations ermöglichen das Verwenden von Entscheidungslogik und Datentypen-Informationen als eine generische Funktion, wohingegen Entscheidungen, die direkt in DMN Entscheidungselementen verlinkt werden, nicht nur die Typen der Eingabedaten der verlinkten Entscheidung, sondern die konkreten Eingabedatenobjekte übernehmen.

In dem folgenden Beispiel wird eine Versicherungsprämie auf Basis der Risikostufen des beantragenden Kunden und seines Partners berechnet. Für jede Person wird die Risikostufe getrennt bestimmt. Die Anwendung eines Business Knowledge Models ermöglicht es, das verlinkte Entscheidungsmodel mit unterschiedlichen Eingabedaten zu verwenden. Über eine direkte Verlinkung eines DMN-Diagramms wäre eine Differenzierung der Eingabedaten nicht möglich.

Über Business Knowledge Models können Sie Entscheidungslogik wiederverwenden.

Über Business Knowledge Models können Sie Entscheidungslogik wiederverwenden.

Genauso wie Sie Entscheidungen in Entscheidungselementen verlinken, können Sie diese auch in Business Knowledge Models hinterlegen.

Um die Logik eines Business Knowledge Models anzuwenden, gehen Sie wie folgt vor:

  1. Öffnen Sie die verlinkende Entscheidung.
  2. Wechseln Sie zum Invocation-Tab
  3. Konfigurieren Sie die Zuordnung von Eingabeparametern der referenzierenden und der aufgerufenen Entscheidung:
Wenden Sie ein Business Knowledge Model in einer Entscheidung an.

Wenden Sie ein Business Knowledge Model in einer Entscheidung an.

Hit Policies und Vollständigkeitseinstellungen konfigurieren

Mit der Hilfe von Hit Policies können Sie definieren, wie Eingaben, die von mehreren Regeln behandelt werden und Eingaben, auf die keine Regel zutreffen, behandelt werden.

Es gibt Single Hit Policies und Multiple Hit Policies. Single Hit Policies legen fest, dass für eine Eingabe genau eine Regel angewandt wird, während bei Multiple Hit Policies mehrere Regeln angewendet werden können und die Ausgaben anschließend aggregiert werden.

Die Vollständigkeitseinstellung spezifiziert, ob die Tabelle für jede mögliche Eingabe eine Ausgabe produziert.

Genaue Details zu Hit Policies und Vollständigkeitseinstellungen können Sie der DMN Spezifikation entnehmen: http://www.omg.org/spec/DMN/1.0/PDF/

Definieren Sie die Hit Policy und Aggregations- und Vollständigkeitseinstellungen, indem Sie folgendae Schritte ausführen:

1. Klicken Sie auf die UC-Beschriftung in der oberen linken Ecke der Entscheidungstabelle. UC bezeichnet eine Unique Hit Policy und eine vollständige (complete) Entscheidungstabelle.

"UC" bezeichnet eine Unique Hit Policy in einer vollständigen Tabelle.

2. In dem Dialog Konfiguration der Entscheidungstabelle können Sie die Hit Policy und die Aggregations- und Vollständigkeitseinstellungen konfigurieren.

Konfiguration von Hit Policy und die Aggregations- und Vollständigkeit.
  1. Klicken Sie auf Speichern, um Ihre Einstellungen abzuspeichern.

Entscheidungstabellen verifizieren

In vielen Situationen kann ist es schwierig Entscheidungsregeln manuell auf ihre Vollständigkeit und Konsistenz zu überprüfen. Signavio verfügt daher über eine Funktion zur automatischen Überprüfung von Entscheidungstabellen.

Klicken Sie auf die Überprüfen-Schaltfläche in der oberen rechten Ecke des Entscheigunstabellendialogs, um die automatische Überprüfung durchzuführen:

Überprüfen der Entscheidungstabelle.

Überprüfen der Entscheidungstabelle.

In unserem Beispiel ist eine Kombination von Eingabewerten durch keine Regel abgedeckt:

Es wurde ein Fehler gefunden: Eine Kombination von Eingabewerten ist von keiner Regel abgedeckt.

Es wurde ein Fehler gefunden: Eine Kombination von Eingabewerten ist von keiner Regel abgedeckt.