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

A component-based approach: rule-based expert system module

The article was published in issue no. № 3, 2010
Abstract:The paper considers a component-based development of system for computer-aided investigations. All components are autonomous modules that implements specified analysis method. Each component has the internal memory and unified interface. The paper considers in detail the rule-based expert system component. The architecture, functions and functional modules of the component are discussed.
Аннотация:Рассматривается подход к созданию системы автоматизации исследований на основе компонентной сборки. Компоненты представлены как автономные модули, реализующие определенные методы исследования. При этом каждый компонент оснащен внутренней памятью и унифицированным интерфейсом. Подробно рассмотрен компонент, реализующий продукционную экспертную систему: приведено описание его функций, архитектуры, функциональных модулей.
Authors: Nikolaychuk O.A. (nikoly@icc.ru) - Institute of System Dynamics and Control Theory SB RAS, Irkutsk, Russia, Ph.D, Pavlov A.I. (asd@icc.ru) - Institute for System Dynamics and Control Theory Siberian Branch of RAS, Irkutsk, Russia, Ph.D, Yurin A.Yu. (iskander@irk.ru) - Institute of system dynamics and control theory SB RAS, National Research Irkutsk State Technical University, Irkutsk, Russia, Ph.D
Keywords: qualitative decisions, knowledge base, rule-based expert system, automation of investigations, component
Page views: 16626
Print version
Full issue in PDF (5.84Mb)
Download the cover in PDF (1.43Мб)

Font size:       Font:

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

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

Наиболее эффективным способом создания программных систем, удовлетворяющих требованию универсальности (гибкости), является компонентная сборка (Component-Based Development) требуемой системы из функциональных компонентов [2]. В соответствии с данным подходом программная система с требуемым набором функций «синтезируется» из отдельных программных проблемно-ориентирован­ных компонентов. Этот подход позволяет повысить эффективность разработки программных систем путем создания расширяемого и настраиваемого компонентного программного обеспечения, способного решать широкий круг исследовательских задач. Недостатком существующих технологий является их ориентация на программирующего пользователя.

Подпись:  

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

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

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

Концепция многокомпонентной системы автоматизации исследований. Технология сборки систем из компонентов [2] является одним из подходов объектно-ориентированного программирования. Центральным понятием данной технологии является компонент – независимый модуль, который может быть реализован в виде исполняемого файла или динамической библиотеки.

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

В данной работе под компонентом системы автоматизации исследований понимается компонент, который, кроме основной функциональности, обеспечивает реализацию механизма внутренней памяти и предложенного авторами унифицированного интерфейса компонента [3].

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

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

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

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

Подпись:  

Рис. 2. Архитектура компонента, осуществляющего рассуждение по правилам
На рисунке 2 представлена предлагаемая архитектура компонента, построенного на основе CLIPS. Опишем модули компонента.

Управляющий модуль. Для применения CLIPS в качестве компонента системы автоматизации исследований необходимо создать модуль управления данной системой. Модуль управления с помощью механизма компонентной обертки обеспечивает реализацию унифицированного интерфейса компонента и механизма внутренней памяти для управляемой программной системы. Функции модуля управления можно разделить на не зависимые от специфики компонента (присущие всем модулям управления компонентами, создаваемыми в соответствии с данным подходом) и зависимые (специализированные).

К функциям, не зависимым от специфики компонента, относятся:

·     предоставление информации о свойствах управляемой системы и реализуемых ею функциях;

·     прямое и обратное преобразование полученной извне информации в формат, используемый управляемой системой;

·     управление состоянием параметров управляемой (контролируемой) системы.

Необходимо отметить, что при реализации компонента продукционной экспертной системы предлагается использовать двухуровневую модель представления правил и фактов: первый уровень – логический: представление фактов и правил в виде, не зависимом от конкретной машины вывода (обобщенный вид); второй уровень – физический: представление фактов и правил в формате определенной машины вывода, например CLIPS. Использование подобной двухуровневой модели позволяет значительно снизить затраты на разработку нового компонента при выборе другой машины вывода.

С учетом данного положения перечислим зависимые функции управляющего модуля, зависящие от специфики компонента, – продукционной экспертной системы:

·     создание базы знаний в виде набора правил и классов фактов в обобщенном виде;

·     преобразование правил и фактов из обобщенного вида к формату машины вывода CLIPS;

·     управление процессом вывода:

-    формирование рабочей базы знаний на основе обобщенного представления (вида);

-    передача рабочей базы знаний в машину вывода (загрузка ее в рабочую память);

-    получение результатов и преобразование их в обобщенный вид.

За реализацию каждой из специализированных функций управляющего модуля отвечают подсистемы (функциональные модули): модуль управления базами знаний и модуль преобразования.

Модуль управления базами знаний предназначен для работы (выполнение операций создания, модификации и удаления) с фактами и правилами, представлен­Подпись:  

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

Для представления продукционного правила в обобщенном виде используется следующая теоретико-множественная модель: (i): Q; P; A→B; N, где i – имя продукции; Q – сфера применения продукции; P – предусловие (условие применимости ядра продукции); A→B – ядро продукции (Если … То …); N – постусловие продукции.

Модель реализована в объектно-ориентиро­ванном виде (рис. 3). При этом свойства «Условие» и «Заключение» содержат в себе информацию о фактах, используемых в процедуре вывода; «Предусловие» и «Постусловие» – информацию, управляющую процессом вывода. Примером управляющей информации могут быть запреты на срабатывание правила при условии, что в оперативной памяти присутствуют запросы на прерывание процесса вывода, например, для вычисления значения какого-либо из свойств нового факта.

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

Продукционная машина вывода осуществляет процесс рассуждения (логического вывода) по правилам. При реализации данного модуля будет использоваться динамическая библиотека, реализующая машину вывода CLIPS.

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

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

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

Литература

1.   Берман А.Ф. Деградация механических систем. Новосибирск: Наука, 1998.

2.   Heineman G.T., Councill W.T. Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, 2001.

3.   Павлов А.И. Подход к автоматизации исследования надежности механических систем // Информационно-вычислительные технологии и их приложения: матер. Междунар. науч.-технич. конф. Пенза: РИО ПГСХА, 2007. С. 137–139.

4.   Павлов А.И., Юрин А.Ю. Компонентный подход: модуль правдоподобного вывода по прецедентам // Программные продукты и системы. 2008. № 3. С. 55–58.

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


Permanent link:
http://swsys.ru/index.php?page=article&id=2556&lang=&lang=&like=1&lang=en
Print version
Full issue in PDF (5.84Mb)
Download the cover in PDF (1.43Мб)
The article was published in issue no. № 3, 2010

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