Drools oktatóanyag: Szabálymotor Archiszerkezet és diagram

⚡ Okos összefoglaló

A Drools egy nyílt forráskódú üzleti szabálykezelő rendszer, amelyet a következő nyelven írtak: Java amely elválasztja az üzleti logikát az alkalmazáskódtól. Ez az anyag elmagyarázza a szabályokat, a Rete algoritmust, a Drools architektúrát és komponenseit, Eclipse bővítmény beállítása és egy Hello World szabály példa.

  • 🇧🇷 Alapvető definíció: A Drools egy Javaalapú BRMS, amely a Rete mintaillesztési algoritmus használatával futtat üzleti szabályokat.
  • 📜 Szabályzat felépítése: Egy szabály egy „mikor-akkor” formátumot követ, és csak akkor indít el műveleteket, ha a feltételei megegyeznek a munkamemóriában lévő tényekkel.
  • 🏗️ Architectúra: A szabályok betöltődnek egy szabálybázisba, a tények bekerülnek a munkamemóriába, a motor pedig egy agenda alapján egyezteti és végrehajtja őket.
  • 🔌 Eclipse Beállítás: A Drools bővítmény települ a következő helyre: Eclipse a jBPM disztribúciós ZIP fájlon és az Új szoftver telepítése párbeszédpanelen keresztül.
  • 🔄 Láncolási módok: A Drools támogatja az előre láncolást a tényektől a következtetésekig, valamint a vissza láncolást egy céltól a tényekig.

Nyálcsorgatás bemutatója

Mi az a Drools?

Nyálok egy nyílt forráskódú Üzleti Szabálykezelő Szoftver (BRMS), amely be van írva Java amely számos szolgáltatást kínál a felhasználóknak, mint például az üzleti szabálymotor, a webes készítés, a szabálykezelő alkalmazás, valamint a döntési modell és a jelölési modellek futásidejű támogatása. A rete mintaillesztési algoritmus fejlett implementációs rendszerét használja.

A Drools Apache License 2.0 alatt jelent meg, és kompatibilis bármely JVM-mel, és elérhető a Maven Central Repository-ban is.

A Drools eszköz segít elkülöníteni és érvelni az üzleti folyamatokban található logikát és adatokat. Támogatja az előre és hátra láncolást, a következtetés alapú drools szabályok motorját.

A nyáladzás két részre oszlik:

  • Szerzői készítés – Szabályfájlok fejlesztését foglalja magában.
  • Runtime – Ez magában foglalja a munkamemória létrehozását és az aktiválás kezelését.

Mi az a szabály?

A szabályok a tudás részei, amelyeket gyakran a következőképpen fejeznek ki: „Amikor bizonyos körülmények lépnek fel, végezzen el néhány feladatot”.

A szabály legfontosabb része az amikor rész. Egyszer amikor része elégedett, akkor az alkatrész kioldódik.

Syntax:

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

Mintaillesztési módszer

A mintaillesztési módszer segít az új vagy a régi tények összehasonlításában a gyártási szabályokkal. Ezt az Inference Engine teszi teljessé.

Algorithms A mintaillesztéshez a következőket használják:

  • Rete algoritmus
  • Leaps algoritmus
  • Lineáris algoritmus
  • Kezelési algoritmus

A Drools által leggyakrabban használt algoritmus azonban a Rete Algorithm.

Rete algoritmus

A Rete algoritmus egy hasznos mintaillesztő algoritmus, amely lehetővé teszi a termelési szabályrendszerek megvalósítását. Segít feláldozni a memóriát a nagyobb sebesség érdekében. A csomópont-megosztás segítségével csökkenti vagy megszünteti az egyes redundanciákat. Részleges egyezéseket tárol, miközben összekapcsolja a különböző ténytípusokat.

Drools Rule Engine

Drools Rule Engine egy szabály alapú megközelítés egy Expert rendszer megvalósításához a Drools szoftverben. A szabálymotor szakértői rendszereket biztosít, amelyek tudásalapú rendszerek, amelyek segítenek döntéseket hozni, például, hogy mit és hogyan tegyünk. A tudást tudásbázisba gyűjti, amelyet érvelésre lehet használni.

Drools Tools Suite

Ebben a Drools Rule Engine oktatóanyagban a Drools Tool Suite-ról fogunk tanulni. Íme ötféle eszköz, amelyek a Drools csomag részét képezik:

  • Drools Guvnor: Ez a Drools KnowledgeBase központosított tárháza.
  • Drools Flow: Munkafolyamatot és üzleti folyamatokat kínál.
  • Drools Fusion: Összetett eseményfeldolgozáshoz használt eszköz
  • Drools Expert vagy Rules Engine: Hasznos eszköz az érvelés végrehajtásához.
  • Drools Planner: Az automatizált tervezést kínálja, amely magában foglalja az NP-nehéz tervezési problémákat is.

A Drools fontos összetevői

Most ebben a Drools oktatóanyagban ismerkedjünk meg a Drools fontos összetevőivel.

Íme a Droolsban használt alapvető kifejezések:

  • Tények – A tények azok az adatok, amelyek a szabályok bemeneteként szolgálnak
  • Munka memória – Tárolás tényekkel, ahol mintaillesztésre használják őket. Módosítható, beilleszthető és eltávolítható.
  • Tudásülés – Ez az összetevő tartalmazza az égetési szabályhoz szükséges összes erőforrást. Itt minden tény bekerül az egyetlen munkamenetbe, majd a megfelelő szabályok aktiválódnak.
  • Tudástár – A Drools ökoszisztéma tudását képviseli. Tárolja az erőforrások képződését, ahol szabályok találhatók.
  • Modulok – Ez egy olyan modul, amely több tudásbázist tárol, amelyek különböző munkameneteket tarthatnak

ArchiDrools tectúrája

Drools Rule Engine Architectúra
Drools Rule Engine Architectúra

Íme a Drools architektúra működő rendszere:

Step 1) A szabályok betöltődnek a szabálybázisba, amelyek mindig elérhetők.

Step 2) A tények a munkamemóriába kerülnek, ahol később módosíthatók vagy újraértelmezhetők.tracted.

Step 3) Az új vagy meglévő tények gyártási szabályokkal való egyeztetésének folyamatát mintaillesztésnek nevezzük, amelyet a szabálymotor hajt végre.

Step 4) A napirend lehetővé teszi az ütköző szabályok végrehajtási sorrendjének a konfliktusfeloldó stratégia segítségével történő kezelését.

A Drool jellemzői

Íme a Drool fontos tulajdonságai:

  • Segít elválasztani az alkalmazást a dinamikus logikától
  • Deklaratív programozás
  • A tudás központosítása
  • Sebesség és skálázhatóság
  • Külön logika az alkalmazástól
  • Érthető szabályok

Drools bővítmények hozzáadása Eclipse

Ebben a Drools oktatóanyagban megtudjuk, hogyan adhatunk hozzá Drools beépülő modult Eclipse.

Step 1) Kattintson a „Distribution ZIP” elemre a jBPM integrációhoz
Tovább https://www.drools.org/download/download.html és kattintson a „Distribution ZIP” gombra a jBPM integrációhoz. A letöltés után, pl.tracmásold át a merevlemezedre.

Adjon hozzá Drools beépülő modulokat Eclipse

Step 2) Telepítse az új szoftvert
In Eclipse, válassza az Új szoftver telepítése lehetőséget.

Adjon hozzá Drools beépülő modulokat Eclipse

Step 3) Kattintson a Hozzáadás gombra
Szoftver hozzáadásához kattintson a Hozzáadás gombra.

Adjon hozzá Drools beépülő modulokat Eclipse

Step 4) Tallózás a mappában
A következő képernyőn kattintson a Helyi elemre, válassza ki az „org.drools.updatesite/” mappát, majd kattintson az OK gombra.

Adjon hozzá Drools beépülő modulokat Eclipse

Step 5) Kattintson a Tovább gombra
A telepítés javítási oldalán kattintson a Tovább gombra.

Adjon hozzá Drools beépülő modulokat Eclipse

Step 6) Fogadja el a licencszerződést
Fogadja el a licencszerződést, és kattintson a Tovább gombra.

Adjon hozzá Drools beépülő modulokat Eclipse

Step 7) Reboot Eclipse
A szoftver letöltődik, és a rendszer felkéri az eclipse újraindítására.

Step 8) A telepítési folyamat befejeződött
In Windows > Beállítások menüben látni fogja a Drools opciót, amely jelzi, hogy telepítve van.

Adjon hozzá Drools beépülő modulokat Eclipse

Drools Program Hello World Példa

Az alábbiakban egy Drools példa látható a Hello World programhoz:

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

Mi az a hátra és előre láncolás?

Egy előre láncolt motor ellenőrzi a tényeket, és levon egy konkrét következtetést.

Tekintsük az orvosi diagnosztikai rendszer forgatókönyvét. Ha a páciens tünetei tényként kerülnek be a munkamemóriába, akkor könnyű betegséget diagnosztizálni.

Visszafelé vs. előre láncolás

Előre láncolt motor

A hátrafelé láncoló motornak megvan a kitűzött célja, és a motor igyekszik ezt teljesíteni.

Vegye figyelembe az orvosi diagnózis ugyanazt a forgatókönyvét. Tételezzük fel, hogy egy bizonyos betegség járványa. Ez a mesterséges intelligencia feltételezheti, hogy egy adott egyénben volt a betegség, és a rendelkezésre álló információk alapján megpróbálhatja meghatározni, hogy a diagnózis helyes-e.

Visszafelé vs. előre láncolás

Hátra láncolt motor

Miért használja a Drools Rule Engine-t?

Íme, a Drools szabálymotor használatának fő okai:

  • A szabályok könnyen érthetők a fejlesztők és üzleti elemzők.
  • A szabályok könnyen karbantarthatók.
  • A Rule Engine egy Rete algoritmust használ, amely kimondja, hogy a motor teljesítménye soha nem függ a szabályok számától.
  • A szabályok az alkalmazás leállítása nélkül módosíthatók és telepíthetők.
  • Externalizálja az üzleti logikát a viszonylag statikus kódbázisból.
  • A szabályokat kevésbé bonyolult formátumokban fejlesztették ki, így az üzleti elemző könnyen elolvashatja és ellenőrizheti a szabályok egy csoportját.
  • A szabályok lehetővé teszik egy olyan tudásraktár létrehozását, amely formában végrehajtható.
  • Szerszámok, mint Eclipse segít a szabályok kezelésében, azonnali válaszadásban, hitelesítésben és tartalomtámogatásban.

A szabályok motorjának hátrányai

Íme a szabálymotor használatának hátrányai/hátrányai:

  • Sok tanulási erőfeszítést igényel a fejlesztőktől, hogy ismerjék ezt a programozási módszert
  • A szabálymotor nem biztonságos módszer a problémák hibaelhárítására.
  • Meg kell értenie a szabálymotor működését, hogy több memóriát használjon
  • Az összetett elágazásokra számos szabály létezik.

A szabályok idővel változhatnak, és a kódmódosításokkal lépnek életbe

GYIK

Igen. A Drools az Apache License 2.0 alatt érhető el, teljesen ingyenes és nyílt forráskódú. Bármely JVM-en fut, és a Maven Central Repository-n keresztül érhető el az egyszerű projektintegráció érdekében.

A Drools szabályok DRL-ben (Drools Rule Language) vannak írva, amely egy deklaratív szintaxis, amely a when-then szerkezeten alapul. A szabályok döntési táblázatok, DMN modellek vagy üzleti felhasználók számára szakterület-specifikus nyelvek segítségével is szerkeszthetők.

Egy szabálymotor a logikát karbantartható szabályokká alakítja, amelyek az alkalmazás újbóli telepítése nélkül változnak. A fixen kódolt if-else logika szétszórt a kódbázisban, nehezebben frissíthető, és nem skálázódik jól a feltételek számának növekedésével.

A Drools szakértői rendszereket valósít meg, a mesterséges intelligencia egy klasszikus ágát, az emberi tudás szabályokká kódolásával. A motor tényeken keresztül érvelve jut következtetésekre, támogatva az előre és visszafelé láncolást, hasonlóan a szimbolikus mesterséges intelligencia döntési rendszereihez.

Igen. A mesterséges intelligencia által használt asszisztensek egyszerű nyelvi követelményekből DRL-szabályokat tudnak megfogalmazni, ütköző vagy redundáns szabályokat tudnak észlelni, és optimalizálásokat javasolhatnak. A csapatok továbbra is validálják a létrehozott szabályokat a helyes üzleti logika és a megbízható végrehajtás biztosítása érdekében.

Foglald össze ezt a bejegyzést a következőképpen: