Drools-Tutorial: Regel-Engine ArchiArchitektur & Diagramm

⚡ Intelligente Zusammenfassung

Drools ist ein Open-Source-Business-Rules-Management-System, das in … geschrieben ist. Java Diese Ressource trennt die Geschäftslogik vom Anwendungscode. Sie erläutert Regeln, den Rete-Algorithmus, die Drools-Architektur und -Komponenten. Eclipse Plugin-Einrichtung und ein Beispiel für eine Hello-World-Regel.

  • ⚙️ Kerndefinition: Drools ist ein Java-basiertes BRMS, das Geschäftsregeln mithilfe des Rete-Mustererkennungsalgorithmus ausführt.
  • 📜 Regelstruktur: Eine Regel folgt einem Wenn-Dann-Format und löst Aktionen nur dann aus, wenn ihre Bedingungen mit Fakten im Arbeitsspeicher übereinstimmen.
  • ???? ️ ArchiStruktur: Regeln werden in eine Regelbasis geladen, Fakten gelangen in den Arbeitsspeicher, und die Engine gleicht sie ab und führt sie über eine Agenda aus.
  • ???? Eclipse Fahrwerks-Konfiguration: Das Drools-Plugin installiert sich in Eclipse über die jBPM-Distributions-ZIP-Datei und den Dialog „Neue Software installieren“.
  • 🔄 Verkettungsmodi: Drools unterstützt die Vorwärtsverkettung von Fakten zu Schlussfolgerungen und die Rückwärtsverkettung von einem Ziel zurück zu den Fakten.

Sabber-Tutorial

Was sind Drools?

Drools ist eine Open-Source Business Rules Management Software (BRMS) geschrieben in Java das Benutzern eine Vielzahl von Funktionen bietet, wie z. B. Business Rule Engine, Web-Authoring, Rules Management Application und Laufzeitunterstützung für Decision Model und Notation-Modelle. Es verwendet ein erweitertes Implementierungssystem für einen Rete-Pattern-Matching-Algorithmus.

Drools wurde unter der Apache-Lizenz 2.0 veröffentlicht und ist mit jeder JVM kompatibel und auch im Maven Central Repository verfügbar.

Das Drools-Tool hilft Ihnen, Logik und Daten in Geschäftsprozessen zu trennen und zu analysieren. Es unterstützt die Vorwärts- und Rückwärtsverkettung einer inferenzbasierten Drools-Regel-Engine.

Drools sind in zwei Teile geteilt:

  • Authoring – Es beinhaltet die Entwicklung von Regeldateien.
  • Laufzeit – Dabei geht es um den Aufbau des Arbeitsgedächtnisses und die Handhabung der Aktivierung.

Was ist Regel?

Regeln sind Teile des Wissens, die oft ausgedrückt werden als: „Wenn bestimmte Bedingungen eintreten, dann erledigen Sie einige Aufgaben.“

Der wichtigste Teil einer Regel ist sie wann Teil. Einmal wann Teil ist zufrieden, dann Das Teil wird ausgelöst.

Syntax:

When
<Condition is true>
Then
<Take desired Action>

Mustervergleichsmethode

Mithilfe der Mustervergleichsmethode können Sie neue oder alte Fakten mit den Produktionsregeln vergleichen. Es wird durch die Inference Engine vervollständigt.

Algorithms Für den Mustervergleich werden verwendet:

  • Rete-Algorithmus
  • Sprungalgorithmus
  • Linearer Algorithmus
  • Behandeln Sie den Algorithmus

Der von Drools am häufigsten verwendete Algorithmus ist jedoch der Rete-Algorithmus.

Rete-Algorithmus

Der Rete-Algorithmus ist ein nützlicher Mustervergleichsalgorithmus, mit dem Sie Produktionsregelsysteme implementieren können. Es hilft Ihnen, Speicher für höhere Geschwindigkeit zu opfern. Mithilfe der Knotenfreigabe werden außerdem bestimmte Arten von Redundanz reduziert oder eliminiert. Es speichert Teilübereinstimmungen, während Verknüpfungen zwischen verschiedenen Faktentypen durchgeführt werden.

#1 Besten GESAMTZoho Projects
9.8/ 10
★ ★ ★ ★ ★
Kostenlos Ausprobieren
Zoho Analytics
9.5/ 10
★ ★ ★ ★ ★
Besuchen Sie Zoho Analytics
Zoho WorkDrive
9.3/ 10
★ ★ ★ ★ ★
Besuchen Sie Zoho WorkDrive
besten FürProjektmanagementBI & ReportingDateifreigabe und Zusammenarbeit
Hauptmerkmal✓Automatisieren Sie täglich und wöchentlich wiederkehrende Aufgaben✓KI-gestützte Berichte und Erkenntnisse✓Administratorkontrolle über freigegebene Dateien
Dazu zählt✓Klassische, Listen- und Kanban-Ansichten✓Kombinieren Sie Daten aus mehreren Quellen✓Dateizusammenarbeit in Echtzeit
Kostenlose Testversion15-Tag kostenlose Testversion15-Tag kostenlose Testversion15-Tag kostenlose Testversion
Kostenlos AusprobierenBesuchen Sie Zoho AnalyticsBesuchen Sie Zoho WorkDrive

Drools-Regel-Engine

Drools-Regel-Engine ist ein regelbasierter Ansatz zur Implementierung eines Expertensystems in der Drools-Software. Die Regel-Engine stellt Expertensysteme bereit, bei denen es sich um wissensbasierte Systeme handelt, die Ihnen dabei helfen, Entscheidungen zu treffen, z. B. darüber, was zu tun ist und wie es zu tun ist. Es sammelt Wissen in einer Wissensdatenbank, die für Überlegungen verwendet werden kann.

Drools Tools Suite

In diesem Tutorial zur Drools Rule Engine lernen wir nun die Drools Tool Suite kennen. Hier sind fünf Arten von Tools, die Teil der Drools-Suite sind:

  • Drools Guvnor: Es handelt sich um ein zentrales Repository für die Drools KnowledgeBase.
  • Sabber fließen: Es bietet Workflow- und Geschäftsprozesse.
  • Sabber Fusion: Tool zur komplexen Ereignisverarbeitung
  • Drools Expert oder Rules Engine: Ein nützliches Werkzeug für die Argumentation.
  • Drools-Planer: Bietet automatisierte Planung, die NP-schwere Planungsprobleme umfasst.

Wichtige Bestandteile in Drools

In diesem Drools-Tutorial lernen wir nun die wichtigen Komponenten von Drools kennen.

Hier sind wesentliche Begriffe, die in Drools verwendet werden:

  • Fakten – Fakten repräsentieren die Daten, die als Eingabe für Regeln dienen
  • Arbeitsspeicher – Speicherung mit Fakten, wo diese zum Mustervergleich verwendet werden. Es kann geändert, eingefügt und entfernt werden.
  • Wissenssitzung – Diese Komponente enthält alle für die Auslösungsregel erforderlichen Ressourcen. Hier werden alle Fakten in die einzelne Sitzung eingefügt und dann werden entsprechende Regeln ausgelöst.
  • Knowledge Base – Es stellt das Wissen im Drools-Ökosystem dar. Es speichert die Bildung der Ressourcen, in denen Regeln zu finden sind.
  • Modul – Dies ist ein Modul, das mehrere Wissensdatenbanken speichert, die verschiedene Sitzungen abhalten können

ArchiTextur von Drools

Drools-Regel-Engine Architektur
Drools-Regel-Engine Architektur

Hier ist das Arbeitssystem der Drools-Architektur:

Schritt 1) Die Regeln werden in die Regelbasis geladen, die jederzeit verfügbar ist.

Schritt 2) Fakten werden im Arbeitsgedächtnis gespeichert, wo sie dann modifiziert oder neu formuliert werden können.tracted.

Schritt 3) Der Prozess des Abgleichs der neuen oder vorhandenen Fakten mit Produktionsregeln wird als Mustervergleich bezeichnet und von der Regel-Engine durchgeführt.

Schritt 4) Mit der Agenda können Sie mithilfe einer Konfliktlösungsstrategie die Ausführungsreihenfolge der widersprüchlichen Regeln verwalten.

Eigenschaften von Drool

Hier sind wichtige Funktionen von Drool:

  • Hilft Ihnen, Anwendungen von dynamischer Logik zu trennen
  • Deklarative Programmierung
  • Zentralisierung des Wissens
  • Geschwindigkeit und Skalierbarkeit
  • Trennen Sie Logik von Anwendung
  • Verständliche Regeln

So fügen Sie Drools-Plugins hinzu Eclipse

In diesem Drools-Tutorial lernen wir nun, wie man das Drools-Plugin hinzufügt Eclipse.

Schritt 1) Klicken Sie auf „Distribution ZIP“ für die jBPM-Integration
Zurück Nach https://www.drools.org/download/download.html und klicken Sie auf „Distribution ZIP“ für die jBPM-Integration. Nach dem Herunterladen, z. B.tracFüge es deiner Festplatte hinzu.

Fügen Sie Drools-Plugins hinzu Eclipse

Schritt 2) Neue Software installieren
In Eclipse, wählen Sie „Neue Software installieren“.

Fügen Sie Drools-Plugins hinzu Eclipse

Schritt 3) Klicken Sie auf die Schaltfläche „Hinzufügen“.
Klicken Sie auf die Schaltfläche „Hinzufügen“, um eine Software hinzuzufügen.

Fügen Sie Drools-Plugins hinzu Eclipse

Schritt 4) Ordner durchsuchen
Klicken Sie im nächsten Bildschirm auf „Lokal“, wählen Sie den Ordner „org.drools.updatesite/“ aus und klicken Sie dann auf „OK“.

Fügen Sie Drools-Plugins hinzu Eclipse

Schritt 5) Klicken Sie auf die Schaltfläche Weiter
Klicken Sie auf der Seite „Installationskorrektur“ auf die Schaltfläche „Weiter“.

Fügen Sie Drools-Plugins hinzu Eclipse

Schritt 6) Akzeptieren Sie die Lizenzvereinbarung
Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Weiter.

Fügen Sie Drools-Plugins hinzu Eclipse

Schritt 7) rebooten Eclipse
Die Software wird heruntergeladen und Sie werden aufgefordert, Eclipse neu zu starten.

Schritt 8) Installationsvorgang abgeschlossen
In Windows Im Menü „Einstellungen“ sehen Sie die Option Drools, die anzeigt, dass sie installiert ist.

Fügen Sie Drools-Plugins hinzu Eclipse

Beispiel für das Drools-Programm „Hello World“.

Unten finden Sie ein Drools-Beispiel für das Hello World-Programm:

package com.sample
import com.sample.DroolsTest.Message;
rule "Hello World"
 when
	m : Message( status ** Message.Hello, myMessage : message )
  then
System.out.println( myMessage );
m.setMessage( "Goodbye cruel world" );
m.setStatus( Message.GOODBYE );
update( m );
end
 rule "GoodBye"

when
	Message( status ** Message.GOODBYE, myMessage : message )
then
System.out.println( myMessage );
end

Was ist Rückwärts- oder Vorwärtsverkettung?

Eine Vorwärtsverkettungsmaschine prüft die Fakten und leitet daraus eine konkrete Schlussfolgerung ab.

Betrachten wir ein Szenario des medizinischen Diagnosesystems. Wenn die Symptome des Patienten als Fakten im Arbeitsgedächtnis gespeichert werden, ist es einfach, bei ihm eine Krankheit zu diagnostizieren.

Rückwärts- oder Vorwärtsverkettung

Vorwärtsverkettender Motor

Eine Rückwärtsverkettungsmaschine hat das gesetzte Ziel und die Maschine versucht, dieses zu erreichen.

Stellen Sie sich das gleiche Szenario einer medizinischen Diagnose vor. Gehen Sie von einer Epidemie einer bestimmten Krankheit aus. Diese KI könnte davon ausgehen, dass eine bestimmte Person an der Krankheit leidet, und anhand der verfügbaren Informationen versuchen, festzustellen, ob die Diagnose korrekt ist.

Rückwärts- oder Vorwärtsverkettung

Rückwärtsverkettender Motor

Warum Drools Rule Engine verwenden?

Hier sind die Hauptgründe für die Verwendung der Drools-Regel-Engine:

  • Regeln sind für Entwickler leicht verständlich und Wirtschaftsanalytiker.
  • Regeln sind leicht zu pflegen.
  • Rule Engine verwendet einen Rete-Algorithmus, der besagt, dass die Leistung der Engine niemals von der Anzahl der Regeln abhängt.
  • Regeln können geändert und bereitgestellt werden, ohne dass die Anwendung zum Absturz gebracht wird.
  • Externalisiert die Geschäftslogik aus der vergleichsweise statischen Codebasis.
  • Regeln werden in weniger komplizierten Formaten entwickelt, sodass der Geschäftsanalyst eine Gruppe von Regeln leicht lesen und überprüfen kann.
  • Mit Regeln können Sie ein Wissenslager erstellen, das in einer ausführbaren Form vorliegt.
  • Tools wie Eclipse helfen Ihnen bei der Verwaltung von Regeln, erhalten eine sofortige Antwort, Authentifizierung und Inhaltsunterstützung.

Nachteile der Rules Engine

Hier sind die Nachteile/Nachteile der Verwendung der Regel-Engine:

  • Für Entwickler ist ein großer Lernaufwand erforderlich, um diese Programmiermethode zu kennen
  • Die Regel-Engine ist keine sichere Methode zur Fehlerbehebung.
  • Um mehr Speicherplatz zu verbrauchen, muss die Funktionsweise der Regel-Engine verstanden werden.
  • Für eine komplexe Verzweigung gibt es zahlreiche Regeln.

Regeln können sich im Laufe der Zeit ändern und werden mit Codeänderungen wirksam

Häufig gestellte Fragen

Ja. Drools wird unter der Apache-Lizenz 2.0 veröffentlicht und ist vollständig kostenlos und Open Source. Es läuft auf jeder JVM und ist über das Maven Central Repository für die einfache Projektintegration verfügbar.

Drools-Regeln werden in DRL (Drools Rule Language) geschrieben, einer deklarativen Syntax, die auf der Wenn-Dann-Struktur basiert. Regeln können auch mithilfe von Entscheidungstabellen, DMN-Modellen oder domänenspezifischen Sprachen für Geschäftsanwender erstellt werden.

Eine Regel-Engine lagert Logik in wartungsfreundliche Regeln aus, die sich ändern lassen, ohne dass die Anwendung neu bereitgestellt werden muss. Fest codierte Wenn-Dann-Logik ist über den gesamten Quellcode verteilt, schwieriger zu aktualisieren und skaliert mit zunehmender Anzahl an Bedingungen nicht gut.

Drools implementiert Expertensysteme, einen klassischen Zweig der KI, indem es menschliches Wissen in Regeln kodiert. Die Engine analysiert Fakten, um zu Schlussfolgerungen zu gelangen, und unterstützt Vorwärts- und Rückwärtsverkettung ähnlich symbolischen KI-Entscheidungssystemen.

Ja. KI-Assistenten können DRL-Regeln aus Anforderungen in Klartextform erstellen, widersprüchliche oder redundante Regeln erkennen und Optimierungen vorschlagen. Die Teams validieren die generierten Regeln weiterhin, um korrekte Geschäftslogik und zuverlässige Ausführung sicherzustellen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: