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

Journal influence

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

Bookmark

Next issue

4
Publication date:
09 September 2024

Knowledge base editor for CLIPS

The article was published in issue no. № 4, 2012 [ pp. 83-87 ]
Abstract:The paper describes the knowledge base editor designed for non-programmers. Application of the editor automates the formalization and language-specific representation of knowledge. High universality of the editor is achieved by the use of a universal data model – an abstract (meta) level of the rules’ representation. The description of the requirements for the editor, tasks, editor architecture, editor basic functions and a universal model are presented. The model includes the concepts: knowledge base, template, fact, slot, rule, condition, precondition, action, function, variable, argument. The feature of the editor is the ability to integrate with domain models built using CASE-tools (for example, Poseidon for UML, IBM Rational Rose), which use the XMI format for the description of the models. The editor has an extensible architecture that is implemented the ability to connect the dynamic libraries (modules) for supporting different knowledge representation languages. Now the CLIPS representation support module is implemented. This module provides the translation of knowledge from the universal model to CLIPS and back. The editor used for development of knowledge bases for solving the problems of technical state prognosis and calculating of remaining life of parts of unique machines and equipment in the petrochemical industry and for automated design of fault and event trees on the basis of a model of the dynamics of technical states.
Аннотация:Описан редактор продукционных баз знаний, ориентированный на непрограммирующего специалиста. Применение редактора позволяет автоматизировать этап формализации знаний и описания их на определенном языке представления знаний. Высокая степень универсальности редактора достигается за счет использования универсальной модели данных – абстрактного (мета) уровня представления продукций. Приведены описания требований к редактору и решаемых им задач, его архитектуры, основных функций и универсальной модели для представления и хранения продукций. Модель включает понятия: база знаний, шаблон, факт, слот, правило, условие, предусловие, действие, функция, переменная, аргумент. Отличительной особенностью редактора является его способность интегрироваться с моделями предметных областей, построенными с применением CASE-средств (например Poseidon for UML, IBM Rational Rose), которые используют формат XMI для описания своих моделей. Редактор обладает расширяемой архитектурой, то есть реализована возможность подключения динамических библиотек (модулей), поддерживающих различные языки представления знаний. В настоящий момент реализован модуль поддержки языка представления знаний CLIPS, обеспечивающий преобразование знаний из универсальной структуры в CLIPS и обратно. Редактор использован при создании баз знаний для решения задачи прогнозирования технического состояния и остаточного ресурса деталей уникальных машин и аппаратуры в нефтехимии и автоматизированного построения деревьев отказов и событий на основе модели динамики технического состояния
Authors: 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, Grishchenko M.A. (makcmg@icc.ru) - Institute of System Dynamics and Control Theory SB RAS, Irkutsk, Russia
Keywords: metalevel, editor, rules, knowledge base, expert systems
Page views: 12740
Print version
Full issue in PDF (9.63Mb)
Download the cover in PDF (1.26Мб)

Font size:       Font:

Сложность и трудоемкость процесса разработки экспертных систем (ЭС) обусловлена главным образом сложностью и трудоемкостью этапа разработки БЗ, включающего задачи по формализации предметных знаний и их описанию на определенном языке представления знаний. Повышение эффективности решения данных задач путем их автоматизации обусловливает необходимость разработки специализированных программных средств. Подобные программные средства в виде редакторов БЗ (Visual Expert System Designer, Expert System Designer, ES-Builder, ДИЭКС и др.) позволяют повысить эффективность процесса разработки за счет использования визуального мо- делирования, шаблонов представления знаний, автоматизации процесса верификации БЗ и генерации их программного кода на целевом языке представления знаний. Одним из перспективных направлений в данной области является создание редакторов, способных интегрироваться с моделя­ми предметных областей, построенными с использованием онтологических систем (например Prote­ge) или CASE-средств (например Poseidon for UML, IBM Rational Rose).

Целью работы является создание редактора для БЗ продукционного типа с учетом следующих основных принципов:

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

–      поддержка одного из наиболее распространенных свободных языков представления знаний – CLIPS (C Language Production System) [1];

–      модульность, то есть возможность расширять поддержку редактором различных языков представления знаний;

–      интегрируемость с тематическими предметными словарями-справочниками (онтологиями);

–      интегрируемость со средствами визуального моделирования и проектирования (CASE-сред­ствами).

На основании этих принципов сформулированы основные требования и задачи:

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

–      спроектировать и программно реализовать архитектуру редактора, шаблоны и мастера для описания знаний;

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

–      Подпись:  
Рис. 1
разработать механизм интеграции редактора с тематическими предметными словарями-справочниками (онтологиями);

–      разработать механизм интеграции редактора со средствами визуального моделирования и проектирования (графическими моделями).

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

Разработанная модель позволяет абстрагиро­ваться от особенностей описания продукций в разных языках представления знаний и хранить знания в собственном независимом формате. Программная реализация структуры на уровне хранения знаний выполнена при помощи XML.

Архитектура редактора (рис. 2) включает модули управления БЗ, поддержки языков представления знаний (ЯПЗ), управления модулями поддержки ЯПЗ, управления словарями-справочни­ками (интеграции с онтологиями), интеграции с графическими форматами, управления машинами вывода и графический интерфейс пользователя.

Данные модули обеспечивают выполнение следующих функций:

–      модуль управления БЗ: загрузку и сохранение БЗ в формате EKB – XML-формат для сохранения знаний в виде универсальной структуры, слияние и разделение существующих БЗ;

–      модуль управления словарями-справочни­ками: подключение и отключение словарей-спра­вочников (онтологий), дополнение их новыми терминами из объектов классов универсальной модели;

–      модуль управления метауровнем представления знаний: создание, удаление, редактирование объектов универсальной модели;

–      модуль управления модулями поддержки ЯПЗ: подключение и отключение модулей, доступ к функциям модулей;

–      модуль интеграции с графическими моделями: загрузку и сохранение информации из файлов формата XMI (XML Metadata Interchange) – универсального формата представления UML-мо­делей;

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

–      модуль управления модулями поддержки ЯПЗ: подключение и отключение модулей поддержки ЯПЗ;

–      модули поддержки ЯПЗ: поддержку (интерпретацию) универсальной модели хранения знаний, представленных в виде правил; генерацию БЗ на целевом языке представления знаний (трансляция универсальной модели на язык представления знаний), включая описание слотов, шаб­лонов, фактов, правил; поддержку унифицированного интерфейса подключения к редактору; унифицированный программный интерфейс включает набор функций для взаимного преобразования объектов метауровня и конструкций ЯПЗ (см. табл.).

Графический пользовательский интерфейс обеспечивает доступ к перечисленным функциям. Основное рабочее пространство пользователя разделено на три рабочие области.

1. «Проводник». Отображает элементы (переменные, функции, шаблоны, факты, правила) БЗ, открытой для редактирования, и содержит кнопочную панель для вызова мастеров, реализующих основные функции манипуляции с элементами БЗ.

2. «Информация об объекте». Обеспечивает возможность просмотра описания выбранного элемента БЗ (описание может содержать либо не содержать операторы языка представления знаний).

3. «Справочная информация». Содержит окна справочных сведений и истории действий пользователя (с возможностью их отмены).

Функции унифицированного программного интерфейса

Наименование

Входные параметры

Возвращаемое значение

GetKnowledge- BaseInfo

БЗ (объект мета- уровня)

Описание  объекта метауровня на CLIPS в виде строки

GetFunctionInfo

Функция (объект метауровня)

GetGlobalVarInfo

Переменная (объект метауровня)

GetTemplateInfo

Шаблон (объект метауровня)

GetRuleInfo

Правило (объект метауровня);

список имен шаблонов БЗ

GetFactInfo

Факт (объект мета- уровня);

список имен шаблонов БЗ

GetSlotInfo

Режим отображения слота (один из):

–   в составе упорядоченного факта,

–   в составе неупорядоченного факта,

–   в составе шаблона;

слот (объект мета- уровня)

LoadKnowledge- Base

Имя файла CLIPS

БЗ (объект метауровня)

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

Подобные мастера применяются при вводе и редактировании фактов и правил.

Задача интеграции редактора с тематическими словарями-справочниками (онтологиями) решена с помощью XML – наиболее распространенного механизма внешней интеграции и унификации интерфейсов взаимодействия программных систем. Разработана структура описания терминов (понятий, значений), обеспечивающая их загрузку в редактор из текстовых файлов и онтологии [3]. Структура содержит поля: название словаря, описание словаря, список понятий со свойствами и значениями.

Основные отличительные свойства разработанного редактора:

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

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

–      модульность – возможность расширять поддержку редактором различных языков представления знаний; в настоящий момент реали-зован модуль поддержки языка представления знаний CLIPS, обеспечивающий преобразование знаний из универсальной структуры в CLIPS и обратно.

Редактор использован при создании БЗ для решения задачи прогнозирования технического состояния и остаточного  ресурса деталей уникальных машин и  аппаратуры в нефтехимии [4] и автоматизированного построения деревьев отказов и событий на основе модели динамики технического состояния [5].

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

Литература

1.     Частиков А.П., Гаврилова Т.А., Белов Д.Л. Разработка экспертных систем. Среда CLIPS. СПб: БХВ-Петербург, 2003. 608 с.

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

3.     Берман А.Ф., Николайчук О.А., Павлов А.И., Юрин А.Ю. Онтология надежности механических систем // Искусственный интеллект. Донецк: Наука I освiта, 2004. № 3. С. 266–271.

4.     Берман А.Ф., Николайчук О.А., Юрин А.Ю. Автоматизация  прогнозирования  технического состояния  и остаточного  ресурса   деталей  уникальных  машин  и  аппаратуры // Заводская лаборатория. Диагностика материалов. 2009. № 3. С. 48–57.

5.     Берман А.Ф., Николайчук О.А., Юрин А.Ю., Павлов Н.Ю. Автоматизированное построение деревьев отказов и событий на основе модели динамики технического состояния и методов искусственного интеллекта // Проблемы безопасности и чрезвычайных ситуаций. 2011. № 1. С. 40–52.


Permanent link:
http://swsys.ru/index.php?page=article&id=3315&lang=en
Print version
Full issue in PDF (9.63Mb)
Download the cover in PDF (1.26Мб)
The article was published in issue no. № 4, 2012 [ pp. 83-87 ]

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