ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

Web-oriented component of an expert system

Date of submission article: 13.01.2015
UDC: 004.89
The article was published in issue no. № 2, 2015 [ pp. 20-25 ]
Abstract:The paper discusses problems of expert system component implementation in the form of a web application. This component will allow the experts to solve problems using formed logical rules describing the dynamics of studied pro-cesses. Web-based access to the component will enable public access which is especially important in interdisciplinary stud-ies that require a team work of specialists from different areas of expertise. The component has the following architecture: web-service; module interacting with the database and implementing the programming interface to access the database; knowledge management module for working with the rules and facts; rules editor based on RVML-notation; module of communication with web-service that implements the user interface access to the expert system web-service; database for knowledge base storage (facts, rules and initial conditions). The implementation of the web-service is considered in detail. The paper mentions a description of its functions, architecture and functional modules. The main task of a web-service is to prepare database information (facts and rules) for further processing by engine, i.e. convert it from the generalized form to JESS format. The obtained information will be used to implement inference based on rules and facts. The main modules of web-service are: database interface that implements a software interface to access the database; an inference engine that i m-plements the process of reasoning according to the rules and is presented in the form of a software library imp lementing the JESS engine; conversion unit of the rules and facts from the generalized to engine format, the implementation depends on the engine.
Аннотация:В работе рассматриваются вопросы реализации компонента продукционной экспертной системы в виде web-приложения. Данный компонент позволит специалисту-предметнику решать проблемы, используя сформированные им логические правила, описывающие динамику исследуемых процессов. Web-доступ к компоненту обеспечит возможность коллективного доступа, что особенно важно при междисциплинарных исследованиях, требующих работы коллектива специалистов из разных областей знаний. Компонент обладает следующей архитектурой: web-сервис; модуль взаимодействия с БД, реализующий программный интерфейс доступа к ней; модуль управления базами знаний, предназначенный для работы с правилами и фактами; графический редактор правил, основывающийся на RVML-нотации представления продукций; модуль связи с web-сервисом, реализующий пользовательский интерфейс доступа к web-сервису экспертной системы; БД для хранения базы знаний (фактов, правил и начальных условий). Более подробно рассмотрена реализация web-сервиса. Основная задача web-сервиса – подготовить информацию (факты и правила) из БД для ее последующей обработки машиной вывода, то есть преобразовать ее из обобщенного вида в формат JESS. Полученная информация будет использована машиной вывода для осуществления логического вывода на основе правил и фактов. Основные модули web-сервиса: интерфейс БД, реализующий программный ин-терфейс доступа к ней; продукционная машина вывода, осуществляющая процесс рассуждения по правилам и пред-ставленная в виде программной библиотеки, реализующей машину вывода JESS; модуль преобразования правил и фактов из обобщенного вида в формат машины вывода, реализация которого зависит от используемой машины вы-вода.
Authors: Korshunov S.A. (grey.for@gmail.com) - Institute of System Dynamics and Control Theory SB RAS, Irkutsk, Russia, Pavlov A.I. (asd@icc.ru) - Institute for System Dynamics and Control Theory Siberian Branch of RAS, Irkutsk, Russia, Ph.D, Nikolaychuk O.A. (nikoly@icc.ru) - Institute of System Dynamics and Control Theory SB RAS, Irkutsk, Russia, Ph.D
Keywords: automation of investigations, knowledge base, qualitative decisions, component, rule-based expert system
Page views: 12537
Print version
Full issue in PDF (4.84Mb)
Download the cover in PDF (0.35Мб)

Font size:       Font:

Компьютерная поддержка исследователя в слабоформализованных предметных областях, связанных с процессами, представляющими опасность для человека (например, производство полиэтилена в нефтехимии) [1], является актуальной проблемой, обусловленной главным образом необходимостью обеспечения безопасности людей и повышения надежности оборудования, задействованного в опасных процессах.

 

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

Реализация специализированного компонента, обеспечивающего возможность разработки, тестирования и интеграции продукционной экспертной системы в систему автоматизации исследований [2, 3], позволила бы предметнику решать проблемы на основе логических правил, описывающих динамику опасных процессов, и получать обоснование решения, используя только предметные знания. Web-доступ к компоненту дает пользователям возможность коллективной разработки и доступа к базе знаний.

Цель данной работы – описание модуля продукционной экспертной системы как одного из компонентов системы автоматизации исследований динамики опасных процессов для специалистов-предметников (непрограммирующих пользователей).

Общая архитектура компонента

При создании систем автоматизации научных исследований имеет место проблема частого изменения программного кода компонентов, обусловленного совершенствованием моделей предметной области и алгоритмов решения задач. Чаще всего уточнению подвергаются модели предметной области, а алгоритмы решения задач остаются относительно постоянными. Таким образом, возникает задача наделения разрабаты- ваемого компонента функциональностью, обес- печивающей восприятие изменений в структуре обрабатываемых объектов без изменения исходного кода. Данная функциональность компонента обеспечивает гибкость программной системы, что, с одной стороны, снимает часть рутинной работы с программистов, с другой – позволяет предметнику самостоятельно разрабатывать программу, в частности, экспертную систему. 

Поэтому при разработке компонента необходимо обеспечить разделение методов создания и хранения информации о структуре и содержании предметной области от методов ее обработки. Соблюдая данный принцип, предлагается обеспечить хранение баз знаний в БД, а методы создания баз знаний, управления БД и метод рассуждения по правилам реализовать отдельными модулями.

Разработанный компонент позволяет специалисту-предметнику, используя только его собственные знания, сформировать продукционную базу знаний предметной области, содержащую шаблоны, факты, созданные на основе шаблонов, и правила, описывающие динамику исследуемых процессов, а затем управлять созданной базой знаний. Полученная база знаний вместе с интегрированной машиной вывода образуют продукционную экспертную систему, результатом работы которой являются новые факты о решаемой проблеме. Компонент позволяет просматривать и сохранять результаты вывода, а также отслеживать последовательность сработавших правил (элемент объяснения).

Одним из основных модулей компонента продукционной экспертной системы является продукционная машина вывода, осуществляющая процесс рассуждения (логического вывода) по правилам. Наиболее рациональным представляется реализация данного компонента на основе уже имеющейся машины вывода. В настоящее время существуют как коммерческие, так и свободно распространяемые оболочки продукционных экспертных систем (JESS [4], CLIPS [5], OPS5 [6]), с помощью которых можно реализовать механизм рассуждения на основе продукций. В данной работе для этой цели выбрана динамическая библиотека, реализующая систему JESS (Java Expert System). Выбор обусловлен возможностью использования системы в академических целях, а также ее реализацией на языке Java, позволяющей легко интегрировать машину вывода в компонент продукционной экспертной системы.

Опишем архитектуру разработанного компонента (рис. 1).

Модуль управления базами знаний. Данный модуль реализует пользовательский интерфейс доступа к базам знаний и предназначен для работы (выполнение операций создания, модификации и удаления) с фактами и правилами, представлен­ными в обобщенном виде. При этом правила и факты могут быть как абстрактными (образцы правил и фактов), так и конкретными (экземпля- ры правил и фактов). Факты и правила группируются согласно их предметной классификации, образуя базы знаний и формируя таким образом сферы своего применения. Каждая база знаний имеет уникальное имя и рассматривается компонентом в качестве предоставляемой им функции, доступ к которой осуществляется через унифицированный интерфейс компонента. Модуль разработан с использованием языков HTML, CSS, Java­Script и PHP.

Модуль связи с web-сервисом. Реализует пользовательский интерфейс доступа к web-серви­су экспертной системы. Передает машине вывода идентификатор базы знаний либо список правил и фактов в формате машины вывода. Модуль разработан на языке HTML с использованием PHP.

Графический редактор правил. Основывается на нотации RVML (Rule Visual Modeling Language) для представления продукций (рис. 2) [7]. Редактор позволяет

–      использовать отдельные графические примитивы для отображения всех элементов правил;

–      присваивать отдельным фактам субъективные вероятности в виде коэффициентов уверенности;

–      более наглядно отображать тип выполняемых действий;

–      отображать логические операторы в условиях правил (ИЛИ и НЕ).

Редактор позволяет в простой и наглядной форме спроектировать продукционное правило, задать условие и действие. Он также дает возможность устанавливать коэффициенты уверенности, настраивать вывод сообщений, добавлять и удалять. Графический редактор разработан с использованием языков HTML, CSS, PHP и JavaScript.

БД для хранения базы знаний и начальных условий. Модель БД (рис. 3) обеспечивает хранение баз знаний, каждая из которых содержит следующее: факты; начальные условия; продукционные правила, управляющие процессом формирования фактов; заранее заданный список вычислительных процедур, позволяющих преобразовывать численные значения переменных. Любой факт или шаблон факта имеет название и обладает набором атрибутов, каждый из которых также имеет наз- вание, тип и значение по умолчанию. Каждое правило включает в себя условие и действие после срабатывания этого правила. Условие является набором ограничений на значение атрибута факта, каждое из которых имеет вид [Атрибут факта, оператор сравнения, значение]. Действием является создание нового факта на основе шаблонов или данных.

Модуль взаимодействия с БД – программный интерфейс доступа к БД PostgreSQL. Реализует функции соединения с БД, отображения всех таблиц, доступа к их содержимому, а также выполнения стандартных операций и запросов (добавления, модификации, удаления, поиска). Модуль реализован на языке SQL.

Web-сервис

Для обеспечения доступа к экспертной системе был разработан специализированный web-сервис. Взаимодействие с web-сервисом производится с использованием XML-сообщений по SOAP-про­токолу (Simple Object Access Protocol) [8]. Все имеющиеся интерфейсы описаны в формате WSDL (Web Services Description Language) [9]. Такое описание интерфейса сервиса обеспечивает автоматическую генерацию кода на клиентской стороне, необходимого для связи с сервисом.

Описание WSDL web-сервиса может быть до- ступно клиенту с помощью реестра UDDI (Universal Description, Discovery and Integration) [10], в котором web-сервис предварительно зарегистрирован. SOAP-сообщения, участвующие в обмене между клиентом и web-сервисом, имеют строго определенную структуру для передачи имени вызываемой удаленной процедуры и ее параметров, а также результата ее вызова [11]. Сервис полностью реализован на языке Java с использованием языка SQL, необходимого для составления запросов к БД.

Основная задача web-сервиса – подготовить информацию (факты и правила) из БД для ее последующей обработки машиной вывода, то есть преобразовать ее из обобщенного вида в формат Jess. Полученная информация будет использована машиной вывода для осуществления логического вывода на основе правил и фактов. Web-сервис обладает архитектурой, представленной на рисунке 4.

Опишем модули web-сервиса.

Jess Rule Engine – продукционная машина вывода, осуществляющая процесс рассуждения (логического вывода) по правилам. При реализации данного модуля используется динамическая библиотека, реализующая машину вывода JESS. В качестве результата машина вывода отображает список сработавших правил, представленных в понятном пользователю виде благодаря информации из базы знаний.

Интерфейс БД – программный интерфейс доступа к БД PostgreSQL. Реализует функции соединения с БД, отображения всех таблиц базы, доступа к их содержимому, а также  выполнения стандартных операций и запросов (добавления, модификации, удаления, поиска). Модуль реализован на языке SQL.

Модуль преобразования правил и фактов из обобщенного вида в формат Jess – данный модуль в качестве входных данных получает либо идентификатор базы знаний, на основе которого далее из соответствующей базы знаний модуль берет списки правил и фактов и приводит их из обобщенного вида к языку машины вывода JESS, либо уже сформированный список правил и фактов, который он передает машине вывода. Реализация данного модуля зависит от специфики используемой машины вывода и нуждается в изменении в случае ее замены. Модуль преобразования разработан на языке Java с использованием языка SQL.

Опишем классы, входящие в состав модуля преобразования правил и фактов из обобщенного вида в формат Jess и реализующие функции данного модуля (рис. 5).

Класс TKnowlegeBaseCreator предоставляет интерфейс доступа к базе знаний, а также объединяет факты и правила, представленные в формате машины вывода Jess.

Класс TDatabaseInterface служит для подключения к БД.

Класс TRuleRepresentation формирует SQL-запрос к БД, результатом выполнения которого является список всех правил базы знаний. Правила представляются в формате машины вывода и передаются в класс TKnowlegeBaseCreator.

Класс TFactRepresentation формирует запрос к БД, результатом выполнения которого является список всех новых фактов базы знаний. Шаблоны представляются в формате машины вывода и передаются в класс TKnowlegeBaseCreator.

Класс TTemplateRepresentation формирует запрос к БД, результатом выполнения которого является список всех шаблонов базы знаний. Шаблоны представляются в формате машины вывода и передаются в класс TKnowlegeBaseCreator.

Подытоживая, отметим, что в статье описана реализация компонента продукционной экспертной системы, обеспечивающая повышение эффективности процесса создания расширяемого и настраиваемого компонентного программного обеспечения. Описаны возможности по работе с базой знаний и созданию пользовательских данных (шаблонов, фактов и правил). Встроенный графический редактор правил обеспечивает простоту построения правил и большую наглядность логических связей между элементами, что облегчит процесс проектирования. Реализованный web-сер­вис, обеспечивающий доступ к компоненту, дает пользователям возможность коллективной разработки и доступа к базе знаний.

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

Дальнейшая разработка компонента включа- ет в себя расширение структуры БД для обеспечения новых типов условий правил (сравнение значений атрибутов фактов), новых действий правил (изменение значений атрибутов уже созданных фактов).

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

Литература

1.     Берман А.Ф. Информатика катастроф // Проблемы безопасности и чрезвычайных ситуаций. 2012. № 3. С. 17–37.

2.     Николайчук О.А., Павлов А.И. Применение компонентного подхода для создания системы автоматизации исследований // Вестн. компьютер. и информ. технологий. 2010. № 4. С. 23–32.

3.     Николайчук О.А., Павлов А.И., Юрин А.Ю. Компонентный подход: модуль продукционной экспертной системы // Программные продукты и системы. 2010. № 3. С. 26–30.

4.     JESS, the Rule Engine for the JavaTM Platform. URL: http://jessrules.com (дата обращения: 12.10.2014).

5.     CLIPS A Tool for Building Expert Systems. URL: http://clipsrules.sourceforge.net (дата обращения: 12.10.2014).

6.     Public domain implementation of an OPS5 interpreter. URL: http://free-compilers.sharnoff.org/TOOL/OPS5-1.html (дата обращения: 15.10.2014).

7.     Грищенко М.А. Разработка экспертных систем на основе трансформации информационных моделей предметной области // Программные продукты и системы. 2013. № 3. С. 143–147.

8.     Генри Бекет. Professional Java SOAP Programming. М.: Лори, 2012. 458 с.

9.     Introduction to WSDL. URL: http://www.w3schools.com/ webservices/ws_wsdl_intro.asp (дата обращения: 11.10.2014).

10.  Online community for the Universal Description, Discovery, and Integration OASIS Standard. URL: http://uddi.xml.org/ (дата обращения: 12.10.2014).

11.  Машнин Т. Web-сервисы Java. СПб: БХВ-Петербург, 2012. 560 с.


Permanent link:
http://swsys.ru/index.php?page=article&id=3992&lang=&lang=&like=1&lang=en
Print version
Full issue in PDF (4.84Mb)
Download the cover in PDF (0.35Мб)
The article was published in issue no. № 2, 2015 [ pp. 20-25 ]

Perhaps, you might be interested in the following articles of similar topics: