Drools vodič: Mehanizam za pravila Architekstura i dijagram

⚡ Pametni sažetak

Drools je sustav za upravljanje poslovnim pravilima otvorenog koda napisan u Java koji odvaja poslovnu logiku od aplikacijskog koda. Ovaj resurs objašnjava pravila, Rete algoritam, Drools arhitekturu i komponente, Eclipse postavljanje dodatka i primjer pravila Hello World.

  • Osnovna definicija: Drools je JavaBRMS temeljen na procesoru koji izvršava poslovna pravila koristeći Rete algoritam za usklađivanje uzoraka.
  • 📜 Struktura pravila: Pravilo slijedi format "kada-onda", aktivirajući radnje samo kada se njegovi uvjeti podudaraju s činjenicama u radnoj memoriji.
  • 🏗️ Architekstura: Pravila se učitavaju u bazu pravila, činjenice ulaze u radnu memoriju, a mehanizam ih uspoređuje i objavljuje putem dnevnog reda.
  • 🔌 Eclipse Postaviti: Drools dodatak se instalira u Eclipse putem ZIP datoteke distribucije jBPM-a i dijaloga Instaliraj novi softver.
  • 🔄 Načini ulančavanja: Drools podržava ulančavanje unaprijed od činjenica do zaključaka i ulančavanje unatrag od cilja natrag do činjenica.

Vodič za slinjenje

Što je Drools?

Sline je softver otvorenog koda za upravljanje poslovnim pravilima (BRMS) napisan u Java koji korisnicima pruža niz značajki kao što su Business Rule Engine, web autorstvo, aplikacija za upravljanje pravilima i podrška za vrijeme izvođenja za modele odlučivanja i notacijske modele. Koristi napredni implementacijski sustav rete algoritma za usklađivanje uzoraka.

Drools je objavljen pod licencom Apache 2.0 i kompatibilan je s bilo kojim JVM-om, a dostupan je i u Maven Central Repository.

Alat Drools pomaže vam da odvojite i zaključite logiku i podatke koji se nalaze u poslovnim procesima. Podržava mehanizam za ulančavanje unaprijed i unatrag temeljen na zaključivanju.

Sline se dijele na dva dijela:

  • Autorstvo – Uključuje razvoj datoteka s pravilima.
  • dužina trajanja – Uključuje stvaranje radne memorije i rukovanje aktivacijom.

Što je pravilo?

Pravila su dijelovi znanja koji se često izražavaju kao: "Kada se pojave određeni uvjeti, onda izvršite neke zadatke."

Najvažniji dio pravila je to kada dio. Jednom kada dio je zadovoljan, tada. dio je pokrenut.

Sintaksa:

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

Metoda podudaranja uzorka

Metoda podudaranja uzoraka pomaže vam da usporedite nove ili stare činjenice s pravilima proizvodnje. Dovršava ga Inference Engine.

Algorithms koji se koriste za usklađivanje uzorka su:

  • Reteov algoritam
  • Algoritam skokova
  • Linearni algoritam
  • Algoritam liječenja

Međutim, algoritam koji uglavnom koristi Drools je Rete algoritam.

Reteov algoritam

Rete algoritam je koristan algoritam za usklađivanje uzoraka koji vam omogućuje implementaciju sustava pravila proizvodnje. Pomaže vam da žrtvujete memoriju za veću brzinu. Također smanjuje ili uklanja određene vrste redundancije uz pomoć dijeljenja čvorova. Pohranjuje djelomična podudaranja tijekom izvođenja spajanja između različitih vrsta činjenica.

Drools Rule Engine

Drools Rule Engine je pristup temeljen na pravilima za implementaciju ekspertnog sustava u softveru Drools. Rule engine pruža ekspertne sustave koji su sustavi temeljeni na znanju koji vam pomažu u donošenju odluka poput onoga što učiniti i kako to učiniti. Skuplja znanje u bazu znanja koja se može koristiti za zaključivanje.

Drools Tools Suite

U ovom vodiču za Drools Rule Engine naučit ćemo o paketu alata Drools. Evo pet vrsta alata koji dolaze kao dio paketa Drools:

  • Slinavi Guvnor: To je centralizirano spremište za Drools KnowledgeBase.
  • Slina teče: Nudi tijek rada i poslovne procese.
  • Slinava Fusion: Alat koji se koristi za složenu obradu događaja
  • Drools Expert ili Rules Engine: Koristan alat za zaključivanje.
  • Drools planer: To nudi automatizirano planiranje, koje uključuje NP-tvrde probleme planiranja.

Važne komponente u Droolsu

Sada u ovom Drools vodiču, naučimo o važnim komponentama Droolsa.

Evo osnovnih pojmova koji se koriste u Droolsu:

  • Činjenicama – Činjenice predstavljaju podatke koji služe kao ulaz za pravila
  • Radna memorija – Pohrana s činjenicama, gdje se koriste za usklađivanje uzoraka. Može se mijenjati, umetati i uklanjati.
  • Sesija znanja – Ova komponenta sadrži sve resurse potrebne za pravilo pokretanja. Ovdje se sve činjenice ubacuju u jednu sesiju, a zatim se aktiviraju odgovarajuća pravila.
  • Baza znanja – Predstavlja znanje u Drools ekosustavu. Pohranjuje formaciju resursa u kojima se nalaze pravila.
  • Moduli – Ovo je modul koji pohranjuje više baza znanja koje mogu održavati različite sesije

Architecture of Drools

Drools Rule Engine Architektura
Drools Rule Engine Architektura

Evo radnog sustava Drools arhitekture:

Korak 1) Pravila se učitavaju u bazu pravila, koja je dostupna cijelo vrijeme.

Korak 2) Činjenice se potvrđuju u radnu memoriju gdje se zatim mogu modificirati ili preoblikovatitracted.

Korak 3) Proces uparivanja novih ili postojećih činjenica s proizvodnim pravilima naziva se uparivanje uzorka, a izvodi ga mehanizam pravila.

Korak 4) Dnevni red vam omogućuje upravljanje redoslijedom izvršenja sukobljenih pravila uz pomoć strategije rješavanja sukoba.

Značajke Droola

Evo važnih značajki Droola:

  • Pomaže vam da odvojite aplikaciju od dinamičke logike
  • Deklarativno programiranje
  • Centralizacija znanja
  • Brzina i skalabilnost
  • Odvojite logiku od primjene
  • Razumljiva pravila

Kako dodati Drools dodatke Eclipse

U ovom vodiču za Drools, naučimo kako dodati dodatak Drools Eclipse.

Korak 1) Kliknite na “Distribution ZIP” za jBPM integraciju
Idi na https://www.drools.org/download/download.html i kliknite na "Distribution ZIP" za jBPM integraciju. Nakon preuzimanja, npr.tracPrenesite ga na svoj tvrdi disk.

Dodajte Drools dodatke Eclipse

Korak 2) Instalirajte novi softver
In Eclipse, odaberite Instaliraj novi softver.

Dodajte Drools dodatke Eclipse

Korak 3) Pritisnite gumb Dodaj
Pritisnite gumb Dodaj za dodavanje softvera.

Dodajte Drools dodatke Eclipse

Korak 4) Pregledaj mapu
Na sljedećem ekranu kliknite na Lokalno i odaberite mapu “org.drools.updatesite/”, a zatim kliknite na U redu.

Dodajte Drools dodatke Eclipse

Korak 5) Kliknite na gumb Dalje
Na stranici ispravljanja instalacije kliknite na gumb Dalje.

Dodajte Drools dodatke Eclipse

Korak 6) Prihvatite licencni ugovor
Prihvatite licencni ugovor i kliknite dalje.

Dodajte Drools dodatke Eclipse

Korak 7) Ponovno Eclipse
Softver će se preuzeti i od vas će se tražiti da ponovno pokrenete eclipse.

Korak 8) Proces instalacije završen
In Windows > izbornika Preferences, vidjet ćete opciju Drools koja označava da je instalirana.

Dodajte Drools dodatke Eclipse

Primjer slinavog programa Hello World

Dolje je primjer slinjenja za program Hello World:

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

Što je ulančavanje unatrag naspram unaprijed?

Motor za lančano kretanje prema naprijed provjerava činjenice i izvodi određeni zaključak.

Razmotrimo scenarij medicinskog dijagnostičkog sustava. Ako se pacijentovi simptomi stave kao činjenice u radnu memoriju, tada mu je lako dijagnosticirati bolest.

Lančano unazad nasuprot naprijed

Motor s prednjim lancem

Unazad ulančani motor ima postavljeni cilj, a motor ga nastoji zadovoljiti.

Razmotrite isti scenarij medicinske dijagnoze. Pretpostavimo da je epidemija određene bolesti. Ovaj AI mogao bi pretpostaviti da određena osoba ima bolest i pokušati utvrditi je li njegova dijagnoza točna na temelju dostupnih informacija.

Lančano unazad nasuprot naprijed

Motor s ulančanim pogonom unazad

Zašto koristiti Drools Rule Engine?

Ovdje su glavni razlozi za korištenje mehanizma pravila Drools:

  • Pravila su lako razumljiva programerima i poslovni analitičari.
  • Pravila se lako održavaju.
  • Rule Engine koristi Rete algoritam koji kaže da izvedba stroja nikad ne ovisi o broju pravila.
  • Pravila se mogu mijenjati i implementirati bez prekida rada aplikacije.
  • Eksternalizira poslovnu logiku iz relativno statične baze kodova.
  • Pravila su razvijena u manje kompliciranim formatima tako da poslovni analitičar može lako pročitati i provjeriti grupu pravila.
  • Pravila vam omogućuju stvaranje skladišta znanja koje je izvršno u obliku.
  • Alati poput Eclipse pomoći vam u upravljanju pravilima, dobiti trenutni odgovor, autentifikaciju i podršku za sadržaj.

Nedostaci Rules Enginea

Ovdje su nedostaci/protiv upotrebe mehanizma pravila:

  • Od programera je potrebno puno truda u učenju da bi poznavali ovu metodu programiranja
  • Mehanizam pravila nije sigurna metoda za rješavanje problema.
  • Potrebno je razumjeti rad mehanizma pravila kako bi se potrošilo više memorije.
  • Postoji širok skup pravila za složeno grananje.

Pravila se mogu promijeniti tijekom vremena i stupit će na snagu s promjenama koda

Pitanja i odgovori

Da. Drools je objavljen pod Apache licencom 2.0 i potpuno je besplatan i otvorenog koda. Radi na bilo kojem JVM-u i dostupan je putem Maven Central Repositoryja za jednostavnu integraciju projekata.

Drools pravila su napisana u DRL-u (Drools Rule Language), deklarativnoj sintaksi temeljenoj na strukturi "kada-onda". Pravila se također mogu kreirati pomoću tablica odlučivanja, DMN modela ili jezika specifičnih za domenu za poslovne korisnike.

Mehanizam za pravila eksternalizira logiku u održavajuća pravila koja se mijenjaju bez ponovnog postavljanja aplikacije. Tvrdo kodirana if-else logika je raspršena po kodnoj bazi, teže ju je ažurirati i ne skalira se dobro kako broj uvjeta raste.

Drools implementira ekspertne sustave, klasičnu granu umjetne inteligencije, kodiranjem ljudskog znanja kao pravila. Mehanizam rasuđuje o činjenicama kako bi došao do zaključaka, podržavajući ulančavanje naprijed i unatrag slično simboličkim sustavima odlučivanja umjetne inteligencije.

Da. AI asistenti mogu izraditi DRL pravila iz zahtjeva napisanih jednostavnim jezikom, otkriti konfliktna ili redundantna pravila i predložiti optimizacije. Timovi i dalje validiraju generirana pravila kako bi osigurali ispravnu poslovnu logiku i pouzdano izvršenje.

Sažmite ovu objavu uz: