Учебное пособие по Drools: Механизм правил Drools Archiтектура и примеры

Что такое Друлс?

Drools — это программное обеспечение для управления бизнес-правилами с открытым исходным кодом (BRMS), написанное на Java который предоставляет пользователям различные функции, такие как механизм бизнес-правил, веб-разработка, приложение для управления правилами, а также поддержка во время выполнения моделей решений и моделей обозначений. Он использует усовершенствованную систему реализации алгоритма сопоставления с образцом сети.

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

Инструмент Drools помогает вам отделять и анализировать логику и данные, обнаруженные в бизнес-процессах. Он поддерживает механизм правил прямой и обратной цепочки, основанный на выводах.

Слюни делятся на две части:

  • Авторская – Это предполагает разработку файлов правил.
  • Время выполнения – Он включает в себя создание рабочей памяти и обработку активации.

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

Правила — это часть знаний, которую часто выражают следующим образом: «Когда возникают определенные условия, выполняйте некоторые задачи».

Самая важная часть правила – это то, что оно когда часть. Один раз когда часть удовлетворена, тогда часть срабатывает.

Синтаксис:

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

Метод сопоставления с образцом

Метод сопоставления с образцом помогает сравнить новые или старые факты с правилами производства. Это завершается механизмом вывода.

Algorithms для сопоставления с образцом используются:

  • Алгоритм Rete
  • Алгоритм прыжков
  • Линейный алгоритм
  • Алгоритм лечения

Однако алгоритм, который чаще всего использует Друлс, — это алгоритм Rete.

Алгоритм Rete

Алгоритм Rete — это полезный алгоритм сопоставления с образцом, который позволяет реализовать системы продукционных правил. Это поможет вам пожертвовать памятью ради увеличения скорости. Это также уменьшает или устраняет определенные типы избыточности с помощью совместного использования узлов. Он сохраняет частичные совпадения при выполнении соединений между различными типами фактов.

Механизм правил слюни

Механизм правил слюни — это основанный на правилах подход к реализации экспертной системы в программном обеспечении Drools. Механизм правил предоставляет экспертные системы, которые представляют собой системы, основанные на знаниях, которые помогают вам принимать решения о том, что и как делать. Он собирает знания в базу знаний, которую можно использовать для рассуждений.

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

Теперь в этом руководстве по механизму правил Drools мы узнаем о Drools Tool Suite. Вот пять типов инструментов, которые входят в состав пакета Drools:

  • пускает слюни Гувнор: Это централизованное хранилище базы знаний Drools.
  • Слюни поток: Он предлагает рабочий процесс и бизнес-процессы.
  • Слюни Fusion: Инструмент, используемый для комплексной обработки событий
  • Drools Expert или Rules Engine: Полезный инструмент для рассуждений.
  • Планировщик слюней: To предлагает автоматизированное планирование, которое включает в себя NP-сложные задачи планирования.

Важные компоненты в Drools

Теперь в этом уроке по Drools давайте узнаем о важных компонентах Drools.

Вот основные термины, используемые в Drools:

  • Факты – Факты представляют собой данные, которые служат входными данными для правил.
  • Рабочей памяти – Хранилище с фактами, где они используются для сопоставления с образцом. Его можно изменять, вставлять и удалять.
  • Сессия знаний – Этот компонент содержит все ресурсы, необходимые для правила активации. Здесь все факты вставляются в один сеанс, а затем запускаются соответствующие правила.
  • Knowledge Base – Он представляет собой знания в экосистеме Drools. Он хранит формирование ресурсов, в которых найдены правила.
  • Модули – Это модуль, в котором хранятся несколько баз знаний, в которых могут проводиться разные сеансы.

Archiтектура слюней

Механизм правил слюни Archiтекстура
Механизм правил слюни Archiтекстура

Вот рабочая система архитектуры Drools:

Шаг 1) Правила загружаются в базу правил, которая доступна постоянно.

Шаг 2) Факты сохраняются в рабочей памяти, откуда их затем можно изменить или отозвать.

Шаг 3) Процесс сопоставления новых или существующих фактов с производственными правилами называется сопоставлением с образцом и выполняется механизмом правил.

Шаг 4) Повестка дня позволяет управлять порядком выполнения конфликтующих правил с помощью стратегии разрешения конфликтов.

Особенности Дрола

Вот важные особенности Drool:

  • Помогает вам отделить приложение от динамической логики.
  • Декларативное программирование
  • Централизация знаний
  • Скорость и масштабируемость
  • Отделить логику от приложения
  • Понятные правила

Как добавить плагины Drools в Eclipse

Теперь в этом уроке по Drools давайте узнаем, как добавить плагин Drools в Eclipse.

Шаг 1) Нажмите «ZIP-файл дистрибутива» для интеграции jBPM.
Перейдите на https://www.drools.org/download/download.html и нажмите «ZIP-файл дистрибутива» для интеграции jBPM. После загрузки извлеките его на жесткий диск.

Добавьте плагины 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?

Вот основные причины использования механизма правил Drools:

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

Недостатки механизма правил

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

  • Чтобы освоить этот метод программирования, разработчикам необходимо приложить немало усилий для обучения.
  • Механизм правил не является безопасным методом устранения неполадок.
  • Необходимо понимать работу механизма правил, чтобы потреблять больше памяти.
  • Существует широкий набор правил для сложного ветвления.

Правила могут меняться со временем и вступят в силу с изменениями кода.

Резюме

  • JBoss Drools — это платформа интеграции бизнес-логики (BLiP).
  • Типы инструмента Drool: 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
  • Drool помогает вам отделить приложение от динамической логики.
  • Факт представляет данные, которые служат входными данными для правил.
  • Рабочая память — это хранилище фактов, где они используются для сопоставления с образцом. Его можно изменять, вставлять и удалять.
  • База знаний — это компонент, который содержит все ресурсы, необходимые для запуска правил.
  • Сеанс знаний представляет знания в экосистеме Drools.
  • База знаний представляет собой знания в экосистеме Drools.
  • Модуль хранит несколько баз знаний, в которых могут проводиться разные сеансы.
  • Правила — это часть знаний, которую часто выражают следующим образом: «Когда возникают определенные условия, выполняйте некоторые задачи».
  • Drools — это механизм правил, который использует основанный на правилах подход для реализации экспертной системы.
  • Механизм прямой цепочки проверяет факты и делает конкретный вывод.
  • У двигателя обратной цепочки есть поставленная цель, и он пытается ее достичь.
  • Алгоритм Rete — это полезный алгоритм сопоставления с образцом, который позволяет реализовать системы продукционных правил.
  • Правила легко понять разработчикам и бизнес-аналитикам.
  • Основным недостатком использования механизма правил, такого как Drool, является то, что разработчикам требуется много усилий для изучения этого метода программирования.