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

⚡ Умное резюме

Drools — это система управления бизнес-правилами с открытым исходным кодом, написанная на языке программирования. Java Этот ресурс разделяет бизнес-логику и код приложения. В нем объясняются правила, алгоритм Rete, архитектура и компоненты Drools. Eclipse Настройка плагина и пример правила "Hello World".

  • ⚙️ Основное определение: Слюни — это JavaBRMS на основе алгоритма сопоставления шаблонов Rete, которая выполняет бизнес-правила.
  • 📜 Структура правил: Правило имеет структуру "когда-то", выполняя действия только тогда, когда его условия соответствуют фактам в рабочей памяти.
  • ???? ️ Archiтекстура: Правила загружаются в базу правил, факты попадают в рабочую память, а движок сопоставляет их и запускает в соответствии с заданной программой.
  • ???? Eclipse Настроить: Плагин Drools устанавливается в Eclipse через ZIP-архив дистрибутива jBPM и диалоговое окно «Установка нового программного обеспечения».
  • 🔄 Режимы последовательного подключения: Drools поддерживает прямое логическое выведение от фактов к выводам, а также обратное логическое выведение от цели к фактам.

Учебное пособие по слюнотечению

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

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) Факты заносятся в рабочую память, где затем могут быть изменены или переработаны.tracТед.

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

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

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

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

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

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

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

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

Добавьте плагины 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 помогут вам управлять правилами, получать мгновенный ответ, аутентификацию и поддержку контента.

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

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

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

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

Часто задаваемые вопросы (FAQ)

Да. Drools распространяется под лицензией Apache License 2.0 и является полностью бесплатным и открытым программным обеспечением. Он работает на любой JVM и доступен через репозиторий Maven Central для простой интеграции в проекты.

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

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

Drools реализует экспертные системы, классическое направление искусственного интеллекта, кодируя человеческие знания в виде правил. Движок рассуждает на основе фактов для получения выводов, поддерживая прямые и обратные цепочки рассуждений, аналогичные символическим системам принятия решений в ИИ.

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

Подведем итог этой публикации следующим образом: