Drools-opetusohjelma: Sääntömoottori Archirakenne ja kaavio

⚡ Älykäs yhteenveto

Drools on avoimen lähdekoodin liiketoimintasääntöjen hallintajärjestelmä, joka on kirjoitettu kielellä Java joka erottaa liiketoimintalogiikan sovelluskoodista. Tämä resurssi selittää säännöt, Rete-algoritmin, Drools-arkkitehtuurin ja komponentit, Eclipse laajennuksen asennus ja esimerkki Hello World -säännöstä.

  • ⚙️ Ydinmääritelmä: Drools on Java-pohjainen BRMS, joka suorittaa liiketoimintasääntöjä Rete-kuvioiden täsmäytysalgoritmia käyttäen.
  • 📜 Sääntöjen rakenne: Sääntö noudattaa kun-niin-muotoa ja laukaisee toimintoja vain, kun sen ehdot vastaavat työmuistin tietoja.
  • 🏗️ Archirakenne: Säännöt latautuvat sääntökantaan, faktat tallentuvat työmuistiin ja moottori yhdistää ne ja käynnistää ne agendan kautta.
  • 🔌 Eclipse Setup: Drools-laajennus asentuu Eclipse jBPM-jakelun ZIP-tiedoston ja Asenna uusi ohjelmisto -valintaikkunan kautta.
  • 🔄 Ketjutustilat: Drools tukee eteenpäin ketjuttamista faktoista johtopäätöksiin ja taaksepäin ketjuttamista tavoitteesta takaisin faktoihin.

Drools-opetusohjelma

Mikä Drools on?

drools on avoimen lähdekoodin Business Rules Management Software (BRMS), joka on kirjoitettu sisään Java joka tarjoaa käyttäjille erilaisia ​​ominaisuuksia, kuten Business Rule Enginen, Webin luomisen, sääntöjen hallintasovelluksen ja ajonaikaisen tuen päätösmalli- ja merkintämalleille. Se käyttää kehittynyttä toteutusjärjestelmää rete kuvion sovitusalgoritmi.

Drools julkaistiin Apache License 2.0:lla ja se on yhteensopiva minkä tahansa JVM:n kanssa ja saatavilla myös Maven Central Repositorysta.

Drools-työkalu auttaa sinua erottamaan ja perustelemaan liiketoimintaprosesseista löytyvää logiikkaa ja dataa. Se tukee eteenpäin ja taaksepäin ketjutusta päätelmiin perustuvaa drools-sääntömoottoria.

Kuolat on jaettu kahteen osaan:

  • Tekijä – Se sisältää sääntötiedostojen kehittämisen.
  • Runtime – Se sisältää työmuistin luomisen ja aktivoinnin käsittelyn.

Mikä on sääntö?

Säännöt ovat tiedon osia, jotka usein ilmaistaan ​​seuraavasti: "Kun tietyt olosuhteet ilmenevät, suorita tehtäviä."

Säännön tärkein osa on se kun osa. Kerran kun osa on tyytyväinen, sitten osa laukeaa.

Syntaksi:

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

Kuvioiden sovitusmenetelmä

Kuvioiden täsmäytysmenetelmä auttaa vertailemaan uusia tai vanhoja faktoja tuotantosääntöihin. Sen täydentää Inference Engine.

Algorithms Kuvioiden yhteensovittamiseen käytetään seuraavia:

  • Rete Algorithm
  • Leaps-algoritmi
  • Lineaarinen algoritmi
  • Käsittelyalgoritmi

Droolsin enimmäkseen käyttämä algoritmi on kuitenkin Rete-algoritmi.

Rete Algorithm

Rete-algoritmi on hyödyllinen mallinsovitusalgoritmi, jonka avulla voit toteuttaa tuotantosääntöjärjestelmiä. Se auttaa sinua uhraamaan muistia nopeuden lisäämiseksi. Se myös vähentää tai poistaa tietyntyyppistä redundanssia solmujen jakamisen avulla. Se tallentaa osittaiset osumat suorittaessaan liitoksia eri faktatyyppien välillä.

Drools Rule Engine

Drools Rule Engine on sääntöihin perustuva lähestymistapa Expert-järjestelmän toteuttamiseen Drools-ohjelmistossa. Sääntömoottori tarjoaa Expert-järjestelmiä, jotka ovat tietoon perustuvia järjestelmiä, jotka auttavat sinua tekemään päätöksiä, kuten mitä tehdä ja miten se tehdään. Se kokoaa tietoa tietopohjaksi, jota voidaan käyttää päättelyyn.

Drools Tools Suite

Nyt tässä Drools Rule Engine -opetusohjelmassa opimme Drools Tool Suitesta. Tässä on viisi työkalutyyppiä, jotka kuuluvat Drools-sarjaan:

  • Kuolaa Guvnor: Se on Drools KnowledgeBase -tietokannan keskitetty arkisto.
  • Drools Flow: Se tarjoaa työnkulkua ja liiketoimintaprosesseja.
  • Drools Fusion: Työkalu, jota käytetään monimutkaiseen tapahtumien käsittelyyn
  • Drools Expert tai Rules Engine: Hyödyllinen työkalu päättelyn suorittamiseen.
  • Drools Planner: To tarjoaa automatisoidun suunnittelun, joka sisältää NP-vaikeita suunnitteluongelmia.

Tärkeitä komponentteja Droolsissa

Nyt tässä Drools-opetusohjelmassa opitaan Droolsin tärkeistä osista.

Tässä ovat tärkeimmät Droolsissa käytetyt termit:

  • Faktat – Faktat edustavat tietoja, jotka toimivat sääntöjen syötteenä
  • Työmuisti – Säilytys faktoilla, jossa niitä käytetään kuvioiden yhteensovittamiseen. Sitä voidaan muokata, lisätä ja poistaa.
  • Tietosessio – Tämä komponentti sisältää kaikki laukaisusäännön edellyttämät resurssit. Täällä kaikki tosiasiat lisätään yhteen istuntoon, ja sitten vastaavat säännöt otetaan käyttöön.
  • Knowledge Base – Se edustaa Droolsin ekosysteemin tietoa. Se tallentaa resurssien muodostuksen, jossa säännöt löytyvät.
  • Moduulit – Tämä on moduuli, joka tallentaa useita tietokantoja, jotka voivat sisältää erilaisia ​​istuntoja

ArchiDroolsin tecture

Drools Rule Engine Archirakenne
Drools Rule Engine Archirakenne

Tässä on Drools-arkkitehtuurin toimiva järjestelmä:

Vaihe 1) Säännöt ladataan sääntökantaan, joka on aina saatavilla.

Vaihe 2) Faktat tallennetaan työmuistiin, jossa niitä voidaan sitten muokata tai muuttaa.tracTED.

Vaihe 3) Prosessia, jossa uudet tai olemassa olevat faktat verrataan tuotantosääntöihin, kutsutaan mallin sovittamiseksi, jonka suorittaa sääntömoottori.

Vaihe 4) Agendan avulla voit hallita ristiriitaisten sääntöjen toteutusjärjestystä konfliktinratkaisustrategian avulla.

Droolin ominaisuudet

Tässä ovat Droolin tärkeät ominaisuudet:

  • Auttaa erottamaan sovelluksen dynaamisesta logiikasta
  • Ilmoittava ohjelmointi
  • Tiedon keskittäminen
  • Nopeus ja skaalautuvuus
  • Erillinen logiikka sovelluksesta
  • Ymmärrettävät säännöt

Kuinka lisätä Drools-laajennuksia Eclipse

Tässä Drools-opetusohjelmassa opitaan lisäämään Drools-laajennus Eclipse.

Vaihe 1) Napsauta "Distribution ZIP" jBPM-integraatiota varten
Mene https://www.drools.org/download/download.html ja napsauta “Distribution ZIP” jBPM-integraatiota varten. Kun olet ladannut, esim.tract se kiintolevyllesi.

Lisää Drools-laajennukset Eclipse

Vaihe 2) Asenna uusi ohjelmisto
In Eclipse, valitse Asenna uusi ohjelmisto.

Lisää Drools-laajennukset Eclipse

Vaihe 3) Napsauta Lisää-painiketta
Napsauta Lisää-painiketta lisätäksesi ohjelmiston.

Lisää Drools-laajennukset Eclipse

Vaihe 4) Selaa kansiota
Napsauta seuraavassa näytössä Paikallinen ja valitse kansio "org.drools.updatesite/" ja napsauta sitten OK.

Lisää Drools-laajennukset Eclipse

Vaihe 5) Napsauta Seuraava-painiketta
Napsauta asennuksen korjaussivulla Seuraava-painiketta.

Lisää Drools-laajennukset Eclipse

Vaihe 6) Hyväksy lisenssisopimus
Hyväksy lisenssisopimus ja napsauta Seuraava.

Lisää Drools-laajennukset Eclipse

Vaihe 7) Reboot Eclipse
Ohjelmisto latautuu, ja sinua pyydetään käynnistämään eclipse uudelleen.

Vaihe 8) Asennus on valmis
In Windows > Asetukset-valikko, näet Drools-vaihtoehdon, joka osoittaa, että se on asennettu.

Lisää Drools-laajennukset Eclipse

Drools-ohjelma Hello World Esimerkki

Alla on Drools-esimerkki Hello World -ohjelmasta:

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

Mikä on taaksepäin vs. eteenpäin ketjuttaminen?

Eteenpäin ketjuttuva moottori tarkistaa tosiasiat ja tekee konkreettisen johtopäätöksen.

Tarkastellaan skenaariota lääketieteellisestä diagnoosijärjestelmästä. Jos potilaan oireet laitetaan tosiasioina työmuistiin, on hänelle helppo diagnosoida sairaus.

Taaksepäin vs. eteenpäin ketjuttaminen

Eteenpäin ketjutettu moottori

Taaksepäin ketjutusmoottorilla on asetettu tavoite, ja moottori yrittää täyttää sen.

Harkitse samaa lääketieteellisen diagnoosin skenaariota. Oletetaan, että tietyn taudin epidemia. Tämä tekoäly voi olettaa, että tietyllä henkilöllä oli sairaus, ja yrittää määrittää, onko sen diagnoosi oikea saatavilla olevien tietojen perusteella.

Taaksepäin vs. eteenpäin ketjuttaminen

Taaksepäin ketjutettu moottori

Miksi käyttää Drools Rule Engineä?

Tässä ovat tärkeimmät syyt Drools-sääntömoottorin käyttämiseen:

  • Säännöt ovat helposti ymmärrettäviä kehittäjille ja analyytikot.
  • Säännöt ovat helposti ylläpidettävissä.
  • Rule Engine käyttää Rete-algoritmia, joka sanoo, että moottorin suorituskyky ei koskaan riipu sääntöjen määrästä.
  • Sääntöjä voidaan muokata ja ottaa käyttöön ilman, että sovellusta tulee alas.
  • Ulkoistaa liiketoimintalogiikan suhteellisen staattisesta koodikannasta.
  • Säännöt on kehitetty vähemmän monimutkaisissa muodoissa, jotta yritysanalyytikko voi helposti lukea ja tarkistaa joukon sääntöjä.
  • Sääntöjen avulla voit luoda tietovaraston, joka on muodoltaan suoritettavissa.
  • Työkalut kuten Eclipse auttaa sinua hallitsemaan sääntöjä, saamaan välittömän vastauksen, todentamisen ja sisällöntuen.

Rules Enginen haitat

Tässä on sääntömoottorin käytön haittoja/haittoja:

  • Tämän ohjelmointimenetelmän tunteminen vaatii kehittäjiltä paljon oppimisponnistuksia
  • Sääntömoottori ei ole turvallinen tapa ongelmien vianmääritykseen.
  • On ymmärrettävä sääntömoottorin toiminta kuluttaakseen enemmän muistia
  • Monimutkaiselle haarautumiselle on olemassa laaja joukko sääntöjä.

Säännöt voivat muuttua ajan myötä ja tulevat voimaan koodimuutoksilla

UKK

Kyllä. Drools on julkaistu Apache License 2.0 -lisenssillä, ja se on täysin ilmainen ja avoimen lähdekoodin ohjelmisto. Se toimii millä tahansa JVM:llä ja on saatavilla Maven Central Repositorysta helppoa projektien integrointia varten.

Drools-säännöt kirjoitetaan DRL:llä (Drools Rule Language), joka on deklaratiivinen syntaksi, joka perustuu when-then-rakenteeseen. Sääntöjä voidaan myös luoda käyttämällä päätöstaulukoita, DMN-malleja tai toimialakohtaisia ​​​​kieliä yrityskäyttäjille.

Sääntömoottori ulkoistaa logiikan ylläpidettäviksi säännöiksi, jotka muuttuvat ilman sovelluksen uudelleenkäyttöönottoa. Kovakoodattu if-else-logiikka on hajallaan koodikannassa, sitä on vaikeampi päivittää, eikä se skaalaudu hyvin ehtojen määrän kasvaessa.

Drools toteuttaa asiantuntijajärjestelmiä, jotka ovat tekoälyn klassinen haara, koodaamalla ihmistietämyksen säännöiksi. Moottori päättelee faktoja päätelmien tekemiseksi ja tukee eteen- ja taaksepäin ketjuttamista samalla tavalla kuin symboliset tekoälyn päätöksentekojärjestelmät.

Kyllä. Tekoälyavustajat voivat laatia DRL-sääntöjä selkokielisten vaatimusten pohjalta, havaita ristiriitaisia ​​tai päällekkäisiä sääntöjä ja ehdottaa optimointeja. Tiimit validoivat luodut säännöt varmistaakseen oikean liiketoimintalogiikan ja luotettavan toteutuksen.

Tiivistä tämä viesti seuraavasti: