Drools handledning: Regelmotor ArchiStruktur och diagram

⚡ Smart sammanfattning

Drools är ett system för hantering av affärsregler med öppen källkod skrivet i Java som skiljer affärslogik från applikationskod. Denna resurs förklarar regler, Rete-algoritmen, Drools arkitektur och komponenter, Eclipse plugin-installation och ett exempel på en Hello World-regel.

  • ⚙️ Kärndefinition: Drools är en Java-baserat BRMS som kör affärsregler med hjälp av Rete-mönstermatchningsalgoritmen.
  • 📜 Regelstruktur: En regel följer ett när-då-format och utlöser endast åtgärder när dess villkor matchar fakta i arbetsminnet.
  • 🏗️ Architecture: Regler laddas in i en regelbas, fakta matas in i arbetsminnet och motorn matchar och skickar dem genom en agenda.
  • 🔌 Eclipse Setup: Drools-pluginet installeras i Eclipse via jBPM-distributions-ZIP:en och dialogrutan Installera ny programvara.
  • 🔄 Kedjelägen: Drools stöder framåtkedjad kedja från fakta till slutsatser och bakåtkedjad kedja från ett mål tillbaka till fakta.

Drools handledning

Vad är Drools?

dreglar är en öppen källkod för Business Rules Management Software (BRMS) skriven i Java som ger användarna en mängd olika funktioner som Business Rule Engine, webbredigering, Rules Management Application och runtime-stöd för beslutsmodeller och notationsmodeller. Den använder ett avancerat implementeringssystem för rete mönstermatchningsalgoritm.

Drools släpptes under Apache License 2.0 och den är kompatibel med alla JVM och även tillgänglig i Maven Central Repository.

Drools-verktyget hjälper dig att separera och resonera över logik och data som finns i affärsprocesser. Den stöder framåt och bakåt kedjade slutledningsbaserade dreglande reglermotor.

Dreglar är uppdelade i två delar:

  • Författarskap – Det handlar om utveckling av regelfiler.
  • Runtime – Det handlar om att skapa arbetsminne och hantera aktiveringen.

Vad är regel?

Regler är delar av kunskap som ofta uttrycks som "När specifika förhållanden uppstår, gör då några uppgifter."

Den mest avgörande delen av en regel är den när del. En gång när del är nöjd, sedan delen utlöses.

Syntax:

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

Mönstermatchningsmetod

Mönstermatchningsmetoden hjälper dig att jämföra nya eller gamla fakta med produktionsreglerna. Den kompletteras av Inference Engine.

Algorithms som används för mönstermatchning är:

  • Rete Algorithm
  • Leaps Algoritm
  • Linjär algoritm
  • Behandlingsalgoritm

Den algoritm som oftast används av Drools är Rete Algorithm.

Rete Algorithm

Rete-algoritmen är en användbar mönstermatchningsalgoritm som låter dig implementera produktionsregelsystem. Det hjälper dig att offra minne för ökad hastighet. Det minskar eller eliminerar också specifika typer av redundans med hjälp av noddelning. Den lagrar partiella matchningar samtidigt som den utför kopplingar mellan olika faktatyper.

#1 BÄST TOTALTZoho Projects
9.8/ 10
★ ★ ★ ★ ★
Börja Free Trial
Zoho Analytics
9.5/ 10
★ ★ ★ ★ ★
Besök Zoho Analytics
Zoho WorkDrive
9.3/ 10
★ ★ ★ ★ ★
Besök Zoho WorkDrive
bäst förProjektledningBI och rapporteringFildelning och samarbete
Key Feature✓Automatisera dagliga och veckovisa återkommande uppgifter✓AI-drivna rapporter och insikter✓Administratörskontroll över delade filer
Inkluderar också✓Klassiska, list- och Kanban-vyer✓Blanda data från flera källor✓Filsamarbete i realtid
Pröva På15-Day Free Trial15-Day Free Trial15-Day Free Trial
Börja Free TrialBesök Zoho AnalyticsBesök Zoho WorkDrive

Dreglar härskarmotor

Dreglar härskarmotor är ett regelbaserat tillvägagångssätt för att implementera ett expertsystem i programvaran Drools. Regelmotorn tillhandahåller expertsystem som är kunskapsbaserade system som hjälper dig att fatta beslut som vad du ska göra och hur du ska göra det. Den samlar kunskap till en kunskapsbas som kan användas för resonemang.

Drools Tools Suite

Nu i denna Drools Rule Engine-handledning kommer vi att lära oss om Drools Tool Suite. Här är fem typer av verktyg som kommer som en del av Drools-sviten:

  • Dreglar Guvnor: Det är ett centraliserat arkiv för Drools KnowledgeBase.
  • Dreglar Flöde: Det erbjuder arbetsflöde och affärsprocesser.
  • Dreglar Fusion: Verktyg som används för komplex händelsebearbetning
  • Dreglar Expert eller Rules Engine: Ett användbart verktyg för att utföra resonemang.
  • Dreglar Planner: Till erbjuder automatiserad planering, som inkluderar NP-hårda planeringsproblem.

Viktiga komponenter i Drools

Låt oss nu i denna Drools-handledning lära oss om viktiga komponenter i Drools.

Här är viktiga termer som används i Drools:

  • Fakta – Fakta representerar de uppgifter som fungerar som indata för regler
  • Arbetsminnet – Förvaring med fakta, där de används för mönstermatchning. Den kan modifieras, infogas och ta bort.
  • Kunskapssession – Den här komponenten innehåller alla resurser som krävs för avfyrningsregel. Här infogas all fakta i den enstaka sessionen och sedan avfyras matchningsregler.
  • Kunskapsbas – Det representerar kunskapen i Drools ekosystem. Den lagrar bildandet av resurserna där reglerna finns.
  • Modulerna – Det här är en modul som lagrar flera kunskapsbaser som kan hålla olika sessioner

Architecture of Drools

Dreglar härskarmotor Architecture
Dreglar härskarmotor Architecture

Här är arbetssystemet för Drools arkitektur:

Steg 1) Reglerna laddas in i Rule Base, som är tillgängliga hela tiden.

Steg 2) Fakta registreras i arbetsminnet där de sedan kan modifieras eller omformas.tracted.

Steg 3) Processen att matcha nya eller befintliga fakta mot produktionsregler kallas mönstermatchning, som utförs av regelmotorn.

Steg 4) Dagordningen låter dig hantera exekveringsordningen för de motstridiga reglerna med hjälp av en konfliktlösningsstrategi.

Funktioner hos Dregla

Här är viktiga egenskaper hos Drool:

  • Hjälper dig att skilja applikation från dynamisk logik
  • Deklarativ programmering
  • Centralisering av kunskap
  • Hastighet och skalbarhet
  • Separera logik från applikation
  • Förståliga regler

Hur man lägger till Drools plugins i Eclipse

Nu i denna Drools-handledning, låt oss lära oss hur man lägger till Drools-plugin Eclipse.

Steg 1) Klicka på "Distribution ZIP" för jBPM-integration
Gå till https://www.drools.org/download/download.html och klicka på “Distribution ZIP” för jBPM-integration. När nedladdningen är klar, t.ex.tracöver den till din hårddisk.

Lägg till Drools Plugins Eclipse

Steg 2) Installera ny programvara
In Eclipse, välj Installera ny programvara.

Lägg till Drools Plugins Eclipse

Steg 3) Klicka på knappen Lägg till
Klicka på knappen Lägg till för att lägga till en programvara.

Lägg till Drools Plugins Eclipse

Steg 4) Bläddra i mapp
På nästa skärm, klicka på Lokal och välj mappen "org.drools.updatesite/" och klicka sedan på Ok.

Lägg till Drools Plugins Eclipse

Steg 5) Klicka på knappen Nästa
Klicka på knappen Nästa på installationssidan.

Lägg till Drools Plugins Eclipse

Steg 6) Acceptera licensavtalet
Acceptera licensavtalet och klicka på Nästa.

Lägg till Drools Plugins Eclipse

Steg 7) omstart Eclipse
Programvaran kommer att laddas ner och du blir ombedd att starta om Eclipse.

Steg 8) Installationsprocessen är klar
In Windows > Inställningar-menyn kommer du att se alternativet Drools som indikerar att det är installerat.

Lägg till Drools Plugins Eclipse

Dreglar Program Hello World Exempel

Nedan är ett Drols-exempel för Hello World-programmet:

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

Vad är Backward vs Forward Chaining?

En framåtkedjemotor kontrollerar fakta och drar en specifik slutsats.

Låt oss överväga ett scenario av det medicinska diagnossystemet. Om patientens symtom sätts in som fakta i arbetsminnet, då är det lätt att diagnostisera honom med en åkomma.

Bakåt kontra framåtkedja

Framkedjemotor

En bakåtkedjemotor har det satta målet, och motorn försöker tillfredsställa det.

Tänk på samma scenario för medicinsk diagnos. Antag att en epidemi av en viss sjukdom. Denna AI skulle kunna anta att en given individ hade sjukdomen och försöka avgöra om dess diagnos är korrekt baserat på tillgänglig information.

Bakåt kontra framåtkedja

Bakåtkedjande motor

Varför använda Drools Rule Engine?

Här är de främsta anledningarna till att använda Drools regelmotor:

  • Reglerna är lätta att förstå för utvecklare och affärsanalytiker.
  • Reglerna är lätta att underhålla.
  • Rule Engine använder en Rete-algoritm som säger att motorns prestanda aldrig beror på antalet regler.
  • Regler kan ändras och distribueras utan att ta bort applikationen.
  • Externaliserar affärslogiken från den jämförelsevis statiska kodbasen.
  • Regler är utvecklade i mindre komplicerade format så att affärsanalytikern enkelt kan läsa och verifiera en grupp regler.
  • Regler låter dig skapa ett kunskapslager som är körbart i form.
  • Verktyg som Eclipse hjälpa dig att hantera regler, få ett omedelbart svar, autentisering och innehållsstöd.

Nackdelar med Rules Engine

Här är nackdelarna/nackdelarna med att använda regelmotor:

  • En hel del inlärningsinsatser kräver av utvecklare för att kunna denna programmeringsmetod
  • Regelmotor är inte en säker metod för att felsöka problem.
  • Behöver förstå hur regelmotorn fungerar för att förbruka mer minne
  • Det finns en bred uppsättning regler för en komplex förgrening.

Reglerna kan ändras med tiden och kommer att träda i kraft med kodändringar

Vanliga frågor

Ja. Drools släpps under Apache-licensen 2.0 och är helt gratis och öppen källkod. Det körs på alla JVM-maskiner och är tillgängligt via Maven Central Repository för enkel projektintegration.

Drools-regler är skrivna i DRL (Drools Rule Language), en deklarativ syntax baserad på när-sedan-strukturen. Regler kan också skapas med hjälp av beslutstabeller, DMN-modeller eller domänspecifika språk för affärsanvändare.

En regelmotor externaliserar logik till underhållbara regler som ändras utan att applikationen behöver omdistribueras. Hårdkodad if/else-logik är spridd över kodbasen, svårare att uppdatera och skalas inte bra när antalet villkor ökar.

Drools implementerar expertsystem, en klassisk gren av AI, genom att koda mänsklig kunskap som regler. Motorn resonerar kring fakta för att dra slutsatser, vilket stöder framåt- och bakåtkedjning liknande symboliska AI-beslutssystem.

Ja. AI-assistenter kan utarbeta DRL-regler utifrån krav i enkelt språk, upptäcka motstridiga eller redundanta regler och föreslå optimeringar. Teamen validerar fortfarande de genererade reglerna för att säkerställa korrekt affärslogik och tillförlitlig exekvering.

Sammanfatta detta inlägg med: