Drools-opplæring: Regelmotor ArchiTekstur og diagram
⚡ Smart oppsummering
Drools er et åpen kildekode-system for forretningsregler skrevet i Java som skiller forretningslogikk fra applikasjonskode. Denne ressursen forklarer regler, Rete-algoritmen, Drools-arkitektur og komponenter, Eclipse oppsett av plugin og et eksempel på en Hello World-regel.
Hva er Drools?
Sikler er en åpen kildekode Business Rules Management Software (BRMS) skrevet i Java som gir brukere en rekke funksjoner som Business Rule Engine, Web-redigering, Rules Management Application og kjøretidsstøtte for Decision Model og Notation-modeller. Den bruker avansert implementeringssystem for rete mønstertilpasningsalgoritme.
Drools ble utgitt under Apache License 2.0, og den er kompatibel med alle JVM og også tilgjengelig i Maven Central Repository.
Drols-verktøyet hjelper deg å skille og resonnere over logikk og data som finnes i forretningsprosesser. Den støtter forover og bakover kjeding inferensbasert sikleregler motor.
Sikler er delt i to deler:
- Forfatter – Det innebærer utvikling av regelfiler.
- Runtime – Det innebærer å lage arbeidsminne og håndtere aktiveringen.
Hva er regel?
Regler er deler av kunnskap ofte uttrykt som: "Når spesifikke forhold oppstår, så gjør noen oppgaver."
Den mest avgjørende delen av en regel er den når del. En gang når del er fornøyd, deretter delen utløses.
Syntaks:
When <Condition is true> Then <Take desired Action>
Mønstertilpasningsmetode
Mønstertilpasningsmetoden hjelper deg å sammenligne nye eller gamle fakta med produksjonsreglene. Den fullføres av Inference Engine.
Algorithms brukt for mønstertilpasning er:
- Rete algoritme
- Sprang-algoritme
- Lineær algoritme
- Behandlingsalgoritme
Algoritmen som mest brukes av Drools er imidlertid Rete-algoritmen.
Rete algoritme
Rete-algoritmen er en nyttig mønstertilpasningsalgoritme som lar deg implementere produksjonsregelsystemer. Det hjelper deg å ofre minne for økt hastighet. Den reduserer eller eliminerer også spesifikke typer redundans ved hjelp av nodedeling. Den lagrer delvise treff mens den utfører sammenføyninger mellom ulike faktatyper.
Sikler regelmotor
Sikler regelmotor er en regelbasert tilnærming for å implementere et ekspertsystem i Drools-programvaren. Rule-motoren tilbyr ekspertsystemer som er kunnskapsbaserte systemer som hjelper deg med å ta beslutninger som hva du skal gjøre og hvordan du skal gjøre det. Den samler kunnskap til en kunnskapsbase som kan brukes til resonnement.
Dools Tools Suite
Nå i denne Drools Rule Engine-opplæringen vil vi lære om Drools Tool Suite. Her er fem typer verktøy som kommer som en del av Drools-pakken:
- Sikler Guvnor: Det er et sentralisert depot for Drools KnowledgeBase.
- Sikler flyt: Det tilbyr arbeidsflyt og forretningsprosesser.
- Sikler Fusion: Verktøy som brukes for kompleks hendelsesbehandling
- Sikler Expert eller Rules Engine: Et nyttig verktøy for å utføre resonnement.
- Sikler Planner: Til tilbyr automatisert planlegging, som inkluderer NP-harde planleggingsproblemer.
Viktige komponenter i Drools
Nå i denne Drools-opplæringen, la oss lære om viktige komponenter i Drools.
Her er essensielle termer som brukes i Drools:
- Fakta – Fakta representerer dataene som fungerer som input for regler
- Arbeidsminnet – Lagring med fakta, hvor de brukes til mønstermatching. Den kan endres, settes inn og fjernes.
- Kunnskapsøkt – Denne komponenten inneholder alle ressursene som kreves for avfyringsregelen. Her settes alle fakta inn i enkeltsesjonen, og deretter blir matchingsregler utløst.
- Kunnskapsbase – Det representerer kunnskapen i Drools økosystem. Den lagrer dannelsen av ressursene der regler finnes.
- Moduler – Dette er en modul som lagrer flere kunnskapsbaser som kan holde forskjellige økter
Architecture of Drools

Her er arbeidssystemet til Drools arkitektur:
Trinn 1) Reglene lastes inn i Rule Base, som er tilgjengelig hele tiden.
Trinn 2) Fakta blir lagt inn i arbeidsminnet, hvor de deretter kan modifiseres eller endres.tracted.
Trinn 3) Prosessen med å matche nye eller eksisterende fakta mot produksjonsregler kalles mønstertilpasning, som utføres av regelmotoren.
Trinn 4) Agendaen lar deg administrere utførelsen av de motstridende reglene ved hjelp av en konfliktløsningsstrategi.
Funksjoner av Dool
Her er viktige funksjoner til Drool:
- Hjelper deg å skille applikasjon fra dynamisk logikk
- Deklarativ programmering
- Sentralisering av kunnskap
- Hastighet og skalerbarhet
- Skille logikk fra applikasjon
- Forståelige regler
Slik legger du til Drools-plugins Eclipse
Nå i denne Drools-opplæringen, la oss lære hvordan du legger til Drools-plugin Eclipse.
Trinn 1) Klikk på "Distribusjons-zip" for jBPM-integrasjon
Gå til https://www.drools.org/download/download.html og klikk på «Distribusjons-ZIP» for jBPM-integrasjon. Når den er nedlastet, f.eks.traclast den inn på harddisken din.
Trinn 2) Installer ny programvare
In Eclipse, velg Installer ny programvare.
Trinn 3) Klikk på Legg til-knappen
Klikk på Legg til-knappen for å legge til en programvare.
Trinn 4) Bla gjennom mappe
I neste skjermbilde klikker du på Lokal og velger mappen "org.drools.updatesite/" og klikker deretter OK.
Trinn 5) Klikk på Neste-knappen
Klikk på Neste-knappen på siden for installering.
Trinn 6) Godta lisensavtalen
Godta lisensavtalen og klikk på Neste.
Trinn 7) Reboot Eclipse
Programvaren vil lastes ned, og du vil bli bedt om å starte eclipse på nytt.
Trinn 8) Installasjonsprosessen fullført
In Windows > Innstillinger-menyen, vil du se Sikle-alternativet som indikerer at det er installert.
Sikler Program Hello World Eksempel
Nedenfor er et Drools-eksempel for 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
Hva er bakover vs. foroverkjeding?
En fremoverlent motor sjekker fakta og trekker en spesifikk konklusjon.
La oss vurdere et scenario av det medisinske diagnosesystemet. Hvis pasientens symptomer settes som fakta inn i arbeidsminnet, så er det lett å diagnostisere ham med en lidelse.
Foroverlent motor
En baklengs kjedemotor har det fastsatte målet, og motoren prøver å tilfredsstille det.
Vurder det samme scenarioet for medisinsk diagnose. Anta at en epidemi av en viss sykdom. Denne AI kan anta at et gitt individ har sykdommen og forsøke å finne ut om diagnosen er korrekt basert på tilgjengelig informasjon.
Bakoverkjedet motor
Hvorfor bruke Drools Rule Engine?
Her er hovedgrunnene til å bruke Drools regelmotor:
- Regler er enkle å forstå for utviklere og forretningsanalytikere.
- Reglene er enkle å vedlikeholde.
- Rule Engine bruker en Rete-algoritme som sier at ytelsen til motoren aldri avhenger av antall regler.
- Regler kan endres og distribueres uten å ødelegge applikasjonen.
- Eksternaliserer forretningslogikken fra den relativt statiske kodebasen.
- Regler er utviklet i mindre kompliserte formater slik at forretningsanalytikeren enkelt kan lese og verifisere en gruppe regler.
- Regler lar deg lage et kunnskapslager som er kjørbart i form.
- Verktøy som Eclipse hjelpe deg med å administrere regler, få umiddelbar respons, autentisering og innholdsstøtte.
Ulemper med Rules Engine
Her er ulemper/ulemper ved å bruke regelmotor:
- Utviklere krever mye læringsinnsats for å kunne denne programmeringsmetoden
- Regelmotor er ikke en sikker metode for å feilsøke problemer.
- Trenger å forstå hvordan regelmotoren fungerer for å bruke mer minne
- Det er et bredt sett med regler for en kompleks forgrening.
Regler kan endres over tid og vil tre i kraft med kodeendringer










