Підручник Drools: Механізм правил ArchiТекстура та діаграма

⚡ Розумний підсумок

Drools — це система управління бізнес-правилами з відкритим кодом, написана мовою Java що відокремлює бізнес-логіку від коду програми. У цьому ресурсі пояснюються правила, алгоритм Rete, архітектура та компоненти Drools, Eclipse налаштування плагіна та приклад правила Hello World.

  • Основне визначення: Слини – це JavaBRMS на основі , яка виконує бізнес-правила за допомогою алгоритму зіставлення зі шаблонами Rete.
  • 📜 Структура правил: Правило дотримується формату «коли-тоді», запускаючи дії лише тоді, коли його умови відповідають фактам в робочій пам'яті.
  • 🏗️ Archiтекстура: Правила завантажуються в базу правил, факти потрапляють в робочу пам'ять, а механізм зіставляє та запускає їх через порядок денний.
  • 🔌 Eclipse Установка: Плагін Drools встановлюється в Eclipse через ZIP-архів дистрибутива jBPM та діалогове вікно «Встановлення нового програмного забезпечення».
  • 🔄 Режими ланцюжків: Drools підтримує прямий ланцюжок від фактів до висновків та зворотний ланцюжок від мети до фактів.

Підручник з Drools

Що таке Drools?

Течуть слини це програмне забезпечення для керування бізнес-правилами (BRMS) із відкритим кодом, написане на Java який надає користувачам різноманітні функції, такі як механізм бізнес-правил, створення веб-сторінок, додаток для керування правилами та підтримка виконання моделей рішень і нотацій. Він використовує вдосконалену систему реалізації алгоритму зіставлення шаблонів rete.

Drools був випущений під ліцензією Apache 2.0 і сумісний з будь-якою JVM, а також доступний у центральному сховищі Maven.

Інструмент Drools допомагає вам розділяти та міркувати над логікою та даними, які містяться в бізнес-процесах. Він підтримує механізм правил прямого та зворотного ланцюжків на основі висновків.

Слини поділяються на дві частини:

  • Авторство – Це передбачає розробку файлів правил.
  • Час виконання – Це передбачає створення робочої пам’яті та обробку активації.

Що таке правило?

Правила — це частини знань, які часто виражаються так: «Якщо виникають певні умови, тоді виконуйте певні завдання».

Найважливішою частиною правила є його коли частина. Один раз коли частина задоволена, потім частина спрацьовує.

Синтаксис:

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

Метод зіставлення шаблону

Метод зіставлення шаблонів допомагає вам порівнювати нові чи старі факти з правилами виробництва. Його завершує механізм логічного висновку.

Algorithms для зіставлення шаблонів використовуються:

  • Алгоритм Рете
  • Алгоритм стрибків
  • Лінійний алгоритм
  • Алгоритм лікування

Однак Drools найчастіше використовує алгоритм Rete.

Алгоритм Рете

Алгоритм Rete — це корисний алгоритм зіставлення шаблонів, який дозволяє впроваджувати системи правил виробництва. Це допоможе вам пожертвувати пам'яттю заради збільшення швидкості. Це також зменшує або усуває певні типи резервування за допомогою спільного використання вузлів. Він зберігає часткові збіги під час виконання об’єднань між різними типами фактів.

Двигун Правил Слин

Двигун Правил Слин це підхід на основі правил для впровадження експертної системи в програмне забезпечення Drools. Механізм правил надає експертні системи, які є системами на основі знань, які допомагають вам приймати рішення, наприклад, що робити і як це робити. Він збирає знання в базу знань, яку можна використовувати для міркувань.

Набір інструментів Drools

Тепер у цьому підручнику Drools Rule Engine ми дізнаємось про Drools Tool Suite. Ось п’ять типів інструментів, які є частиною набору Drools:

  • Тече слина у Гувнора: це централізоване сховище для бази знань Drools.
  • Слини течуть: пропонує робочий процес і бізнес-процеси.
  • Тече слюня Фьюжн: Інструмент, що використовується для складної обробки подій
  • Drools Expert або Rules Engine: корисний інструмент для міркування.
  • Планувальник слюнок: To пропонує автоматизоване планування, яке включає NP-складні задачі планування.

Важливі компоненти в Drools

У цьому посібнику з Drools давайте дізнаємося про важливі компоненти Drools.

Ось основні терміни, які використовуються в Drools:

  • факти – Факт представляє дані, які служать вхідними для правил
  • Робоча пам'ять – Зберігання з фактами, де вони використовуються для зіставлення шаблонів. Його можна змінювати, вставляти та видаляти.
  • Сесія знань – Цей компонент містить усі ресурси, необхідні для правила запуску. Тут усі факти вставляються в один сеанс, а потім запускаються відповідні правила.
  • База знань – Він представляє знання в екосистемі Drools. Він зберігає формування ресурсів, де знаходяться правила.
  • Модулі – Це модуль, який зберігає кілька баз знань, які можуть містити різні сеанси

Archiтектура Слин

Двигун Правил Слин Archiтектура
Двигун Правил Слин Archiтектура

Ось робоча система архітектури Drools:

Крок 1) Правила завантажуються в базу правил, яка доступна постійно.

Крок 2) Факти закріплюються в робочій пам'яті, де їх потім можна змінювати або переосмислювати.tracТед.

Крок 3) Процес зіставлення нових або існуючих фактів із правилами виробництва називається зіставленням шаблонів, яке виконується механізмом правил.

Крок 4) Порядок денний дозволяє керувати порядком виконання суперечливих правил за допомогою стратегії вирішення конфлікту.

Особливості Drool

Ось важливі функції Drool:

  • Допомагає відокремити програму від динамічної логіки
  • Декларативне програмування
  • Централізація знань
  • Швидкість і масштабованість
  • Відокремте логіку від програми
  • Зрозумілі правила

Як додати плагіни Drools Eclipse

У цьому посібнику з Drools давайте дізнаємося, як додати плагін Drools Eclipse.

Крок 1) Натисніть «Поширення ZIP» для інтеграції jBPM
Перейдіть до https://www.drools.org/download/download.html і натисніть «ZIP-архів розповсюдження» для інтеграції jBPM. Після завантаження, т. е.tracскопіюйте його на свій жорсткий диск.

Додайте плагіни Drools Eclipse

Крок 2) Встановіть нове програмне забезпечення
In Eclipseвиберіть «Установити нове програмне забезпечення».

Додайте плагіни Drools Eclipse

Крок 3) Натисніть кнопку Додати
Натисніть кнопку «Додати», щоб додати програмне забезпечення.

Додайте плагіни Drools Eclipse

Крок 4) Огляд папки
На наступному екрані натисніть «Локальний» і виберіть папку «org.drools.updatesite/», а потім натисніть «ОК».

Додайте плагіни Drools Eclipse

Крок 5) Натисніть кнопку Далі
На сторінці виправлення встановлення натисніть кнопку Далі.

Додайте плагіни Drools Eclipse

Крок 6) Прийміть ліцензійну угоду
Прийміть ліцензійну угоду та натисніть «Далі».

Додайте плагіни Drools Eclipse

Крок 7) Перезавантажувати Eclipse
Програмне забезпечення завантажиться, і вам буде запропоновано перезавантажити eclipse.

Крок 8) Процес встановлення завершено
In Windows > Меню налаштувань, ви побачите опцію Drools, що вказує на її встановлення.

Додайте плагіни Drools Eclipse

Приклад програми Drools Hello World

Нижче наведено приклад Drools для програми 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

Що таке зворотне чи пряме з’єднання?

Механізм прямого ланцюга перевіряє факти та робить конкретний висновок.

Розглянемо сценарій системи медичної діагностики. Якщо симптоми пацієнта закладені як факти в оперативну пам'ять, то легко діагностувати у нього захворювання.

Зворотне проти прямого ланцюжка

Двигун з переднім ланцюгом

Двигун зворотного ланцюжка має поставлену мету, і двигун намагається її задовольнити.

Розглянемо такий же сценарій медичного діагнозу. Припустимо, що виникла епідемія якогось захворювання. Цей штучний інтелект може припустити, що дана особа хвора на хворобу, і спробувати визначити, чи правильний її діагноз на основі наявної інформації.

Зворотне проти прямого ланцюжка

Двигун із зворотним ланцюгом

Навіщо використовувати Drools Rule Engine?

Ось основні причини використання механізму правил Drools:

  • Правила прості для розуміння розробниками та бізнес-аналітики.
  • Правила легко підтримувати.
  • Rule Engine використовує алгоритм Rete, який стверджує, що продуктивність механізму ніколи не залежить від кількості правил.
  • Правила можна змінювати та застосовувати без припинення роботи програми.
  • Виводить бізнес-логіку з порівняно статичної кодової бази.
  • Правила розроблено в менш складних форматах, щоб бізнес-аналітик міг легко прочитати та перевірити групу правил.
  • Правила дозволяють створити сховище знань, яке є виконуваним у формі.
  • Такі інструменти, як Eclipse допоможе вам керувати правилами, отримати миттєву відповідь, автентифікацію та підтримку вмісту.

Недоліки Rules Engine

Ось недоліки/мінуси використання механізму правил:

  • Знання цього методу програмування вимагає від розробників великих зусиль у навчанні
  • Механізм правил не є безпечним методом вирішення проблем.
  • Потрібно розуміти роботу механізму правил, щоб споживати більше пам'яті
  • Існує широкий набір правил для складного розгалуження.

Правила можуть змінюватися з часом і набудуть чинності після зміни коду

Поширені запитання

Так. Drools випущено під ліцензією Apache 2.0 та є повністю безкоштовним програмним забезпеченням з відкритим вихідним кодом. Він працює на будь-якій JVM та доступний через Maven Central Repository для легкої інтеграції з проектами.

Правила Drools написані мовою DRL (Drools Rule Language), декларативним синтаксисом, що базується на структурі «коли-то». Правила також можна створювати за допомогою таблиць рішень, моделей DMN або предметно-орієнтованих мов для бізнес-користувачів.

Механізм правил перетворює логіку на підтримувані правила, які змінюються без повторного розгортання програми. Жорстко закодована логіка if-else розпорошена по кодовій базі, її важче оновлювати та вона погано масштабується зі зростанням кількості умов.

Drools реалізує експертні системи, класичну гілку штучного інтелекту, шляхом кодування людських знань у вигляді правил. Двигун міркує над фактами, щоб дійти висновків, підтримуючи прямі та зворотні ланцюжки, подібні до символічних систем прийняття рішень на основі штучного інтелекту.

Так. Помічники ШІ можуть створювати правила DRL на основі вимог, написаних простою мовою, виявляти конфліктуючі або надлишкові правила та пропонувати оптимізації. Команди все одно перевіряють згенеровані правила, щоб забезпечити правильність бізнес-логіки та надійне виконання.

Підсумуйте цей пост за допомогою: