spacer

Regelmaschinen

Was sind Regelmaschinen

Eine Regelmaschine ist ein Tool, welches uns erlaubt logische Regeln abzubilden. Die Engine steuert die Auswertung der Regeln anhand eines RuleSet, einer Datei, die die Regeln in einer dem Menschen lesbaren Form darstellen. Der Benutzer braucht sich nicht um die Reihenfolge der Regeln zu kümmern, und welche Regeln voneinander Abhängig sind, dies übernimmt die Regelmaschine.

Wie funktioniert eine Regelmaschine

Die Regeln werden aus dem RuleSet gelesen und Anhand der Daten, die der Engine übergeben werden ausgewertet, ohne die Vorgabe einer festen Reihenfolge. Durch verschiedenste Optimierungsalgorithmen werden nur die Regeln gefeuert, die auch von den Fakten und deren Ergebnis abhängig sind. Die Regeln werden iterativ ausgewertet, sobald eine Regel verletzt wurde, oder wenn aus dem Ergebnis einer vorigen Regel neue Fakten entstanden sind.

Wo werden Regelmaschinen eingesetzt

Regelmaschinen werden dort eingesetzt, wo viele Regeln (Business-Rules) verarbeitet werden müssen und ein öfteres Customizing von Nöten ist. Zum Beispiel bei der softwaregestützten Konfiguration eines PKW, hier gibt es eine Menge Regeln, deren Ergebnis von der Auswahl (Fakten) des Benutzers abhängen.

Warum werden Regelmaschinen eingesetzt

Ein großer Vorteil ist, dass die Regeln in einem externen File (RuleSet) abgelegt werden und in einer dem Menschen lesbaren Form vorliegen. Die Regeln können in dem RuleSet unbeachtet der Reihenfolge abgelegt werden. Im Gegensatz zur prozeduralen Programmierung, wo Regeln über Bedingungen abgebildet werden und einer Reihenfolge bedürfen. Bei einem Customizing muß die Regeln dann im Quellcode eingebaut werden und in genau der Reihenfolge, in der sie erwartet wird.

Vorteile und Mehrwert
  • Weniger Customizingaufwand durch Pflege der Regeln in einem lesbaren File.
  • Die Regeln müssen nicht von einem Programmierer eingepflegt werden.
  • Die Reihenfolge ist beim Einpflegen ins RuleSet nicht wichtig.
  • Weniger Fehlerträchtig als Quellcodepflege. 
footer
© INSONO Consulting GmbH 2009 · Impressum