Программные продукты и системы /Software & Systems
№ 4 (108), 2014
УДК 004.89 Дата подачи статьи: 17.06.2014
DOI: 10.15827/0236-235X.108.103-107
WEB-СЕРВИС ДЛЯ автоматизированного ФОРМИРОВАНИЯ ПРОДУКЦИОННЫХ БАЗ ЗНАНИЙ НА ОСНОВЕ КОНЦЕПТУАЛЬНЫХ МОДЕЛЕЙ
(Работа выполнена при частичной поддержке стипендии Президента РФ, грант № СП-2012.2012.5)
А.Ю. Юрин, к.т.н., доцент, старший научный сотрудник, [email protected] (Институт динамики систем и теории управления СО РАН, ул. Лермонтова, 134, г. Иркутск, 664033, Россия),
(Национальный исследовательский Иркутский государственный технический университет, ул. Лермонтова, 83, г. Иркутск, 664074, Россия);
Н.О. Дородных, аспирант, [email protected] (Институт динамики систем и теории управления СО РАН, ул. Лермонтова, 134, г. Иркутск, 664033, Россия)
В данной статье описан web-сервис для автоматизированного формирования баз знаний продукционного типа на основе результатов концептуального моделирования. Сервис обеспечивает автоматизированный анализ XML-структуры файлов CASE-средства Rational Rose (содержащих описание моделей классов) и системы когнитивного моделирования FreeMind, выделение понятий и отношений, их представление в виде понятий онтологии. На основе сформированной онтологической модели могут быть осуществлены автоматизированное создание продукций и их визуальное моделирование с использованием нотации RVML - Rule Visual Modeling Language. Полученные модели продукций используются для генерации программного кода в формате CLIPS (C Language Production System).
В статье описываются функции сервиса, его архитектура и алгоритмы формирования моделей онтологии и продукций, приводятся примеры соответствия элементов концептуальной, продукционной моделей и конструкций CLIPS.
Web-сервис может быть рассмотрен как один из модулей системы управления базами знаний, областью применения которого является решение задач извлечения, структурирования и формализации знаний в различных предметных областях. Апробация и тестирование сервиса осуществлены при создании баз знаний продукционных экспертных систем для исследования и обеспечения техногенной безопасности труднодоступных водных объектов.
Ключевые слова: база знаний, формализация знаний, автоматизация, web-сервис, UML, CLIPS, генерация кода.
В настоящее время любое знание является стратегическим ресурсом [1] и актуальность разработки методов и средств управления знаниями, в том числе и базами знаний, остается высокой. В большинстве случаев под термином «управление знаниями» [2] понимается, в первую очередь, систематическое, явное и преднамеренное приобретение (сбор) и использование в основном корпоративных знаний с целью максимизации эффективности их применения с точки зрения получения прибыли и повышения качества продукции и услуг. При этом под системами управления знаниями (СУЗ) будем понимать специализированные веб-порталы, экспертные системы, системы документооборота, системы поиска, классификации, индексации и каталогизации данных. Таким образом, система управления базами знаний (СУБЗ) -это комплекс интеллектуальных средств для создания и использования баз знаний [3].
Наиболее важными задачами, решаемыми в процессе управления знаниями, являются извлечение, структурирование и формализация знаний. Сложность и трудоемкость их решения в основном и обусловливают сложность процесса создания систем, основанных на знаниях. Эффективность данного процесса может быть повышена за счет автоматизации его отдельных этапов:
- концептуализации и формализации - при помощи систем онтологического и когнитивного
моделирования (например, Protege, FreeMind, Xebece, TheBrain, XMind и др.) [4];
- реализации - при помощи специализированных редакторов баз знаний (например, Visual Expert System Designer, Expert System Designer, ES-Builder, ДИЭКС и др.) [5].
Однако в настоящий момент практически отсутствуют программные средства, охватывающие все этапы создания баз знаний и экспертных систем и обеспечивающие комплексность процесса разработки: от модели предметной области до создания кода на языке представления знаний.
Целью данной работы является разработка web-сервиса, автоматизирующего реализацию баз знаний продукционного типа на основе результатов концептуального (когнитивного) моделирования.
Сервис должен обеспечивать загрузку визуальных моделей, их преобразование во внутренний универсальный формат (с целью построения модели предметной области), моделирование продукций и генерацию на их основе кода для целевой экспертной системы, а также возможность совместной и распределенной работы исследователей над проектами.
В качестве источников моделей предлагается использовать модели классов, выполненные c применением UML (Unified Modeling Language) [6] и сохраненные в форматах XMI MOF (Meta
103
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
Object Facility) и XMI UML (CASE-средство IBM Rational Rose) [7], а также визуальные модели, выполненные в системе когнитивного моделирования FreeMind [8]. В качестве целевого языка представления знаний используется CLIPS (C Language Integrated Production System) [3, 9].
Концепция web-сервиса
Функции и назначение web-сервиса. Назначением разрабатываемого сервиса является поддержка процесса создания баз знаний продукционного типа, при этом основными функциями являются:
- создание проектов баз знаний и моделей предметных областей с возможностью настройки доступа и привилегий отдельных пользователей и групп;
- автоматизированное формирование модели предметной области на основе анализа концептуальных и когнитивных моделей форматов XMI MOF, XMI UML и XML FreeMind;
- автоматизированное формирование (проектирование) баз знаний продукционного типа с использованием нотации RVML (Rule Visual Modeling Language) [10];
- разработка (автоматическая кодогенерация) баз знаний в формате CLIPS на основе моделей продукционных баз знаний.
Архитектура сервиса. Для реализации функций разработана архитектура сервиса (рис. 1), в которой можно выделить серверную и клиентскую части.
Основные модули и их назначение:
- пользовательский интерфейс; обеспечивает удобное, быстрое и эффективное взаимодействие пользователей с сервисом посредством навигации, вспомогательных панелей управления, всплывающих подсказок и т.п.;
- модуль администрирования сервиса; обеспечивает возможность определения прав доступа для разных пользователей сервиса;
- модули поддержки импорта концептуальных моделей (XMI MOF, XMI UML, FreeMind); обеспечивают возможность импорта файлов в формате XML, созданных в FreeMind и Rational Rose; если загружаемый XML-файл корректный, то в результате анализа выделяются понятия, связи, атрибуты, их параметры и т.д. и эта информация о концептуальной модели переводится во внутреннее универсальное представление, которое в дальнейшем будет использовано при формировании баз знаний;
- модуль отображения продукционных моделей (кодогенерации) в формат CLIPS; обеспечивает автоматическое формирование файла в формате CLP на основе продукционной модели;
- БД для хранения информации о концептуальных моделях; при проектировании было принято решение сегментировать БД на три части согласно характеру хранимой информации и специфике решаемых задач, которые в совокупности обеспечивают работу сервиса: пользователи и проекты, модели предметной области (концептуальные модели), продукционные базы знаний (модели продукций).
Серверная часть
FreeMind
Rational Rose
_____________
Клиентская часть
Й
CQ
О
со
hQ
4 о с
о
5
НЕН
Он
ё
0
0
Модуль отображения и редактирования продукционных моделей
§
Модуль поддержки импорта концептуальных моделей
XMI MOF
XMI UML
Модуль
кодогенерации
CLIPS
JESS
FreeMind
БД концептуальных моделей
-о
0
БД продукционных моделей
Рис. 1. Архитектура web-сервиса Fig. 1. Web service architechture
104
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
Алгоритмическое обеспечение. Основными функциями сервиса являются автоматизированное формирование (создание) моделей продукционных баз знаний и их программная реализация для CLIPS (рис. 2).
Рис. 2. Процесс генерации кода баз знаний Fig. 2. Generation of knowledgebase code
В качестве источников концептуальных моделей выбраны CASE-средство Rational Rose и среда когнитивного моделирования FreeMind, позволяющие сохранять разработанные модели в виде XML-структур. В результате анализа подобных структур выделяются понятия предметной области и формируются онтологии. Далее на основе онтологического представления создаются модели продукций, описывающие причинно-следственные зависимости предметной области. После уточнения (редактирования) продукционных моделей генерируется код для целевой экспертной системы, в частности для CLIPS.
Далее приведем примеры реализации данного алгоритма для Rational Rose и FreeMind.
Автоматизированное формирование моделей предметной области на основе UML-моделей классов. В качестве источника UML-моделей, описывающих классы предметной области, было решено использовать CASE-средство Rational Rose. При его применении в качестве источника концептуальных моделей берутся два формата: XMI MOF (Meta Object Facility) и XMI UML (Unified Modeling Language).
Отличие между этими форматами в том, что MOF содержит минимальный набор элементарных конструктов моделирования (например Classes, Associations, DataTypes) по сравнению с UML, содержащим большее количество конструкций.
Существует несколько способов описания и выполнения трансформаций UML-моделей. Один из вариантов заключается в использовании методик трансформации XML-документов и стандарта XMI.
XMI (XML Metadata Interchange) - это стандарт, позволяющий представить UML-модель в виде XML-документа. Он предназначен главным образом для хранения UML-данных, а также любых других данных, метамодель которых задана с помощью MOF (Meta Object Facility), и обмена ими между различными инструментами и средами разработки. MOF - стандарт описания метамоделей, с помощью которого, в частности, можно описать структуру и общий вид UML-модели [7].
Представим фрагмент файла в формате XML, полученный при экспорте диаграммы классов, отраженной на рисунке 3:
<Model:Class xmi.id = '8516408960203' name = 'Материал' annotation = 'Материал объекта инцидента'
isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility =
'public_vis'
isSingleton = 'false' > <Model:Namespace.contents>
<Model:Attribute xmi.id = 'a5164D961031D' name = 'Наименование' annotation = 'Наименование материала'
scope = 'instance_level' visibility = 'private_vis'
isChangeable = 'true' isDerived = 'false' >
<Model:ModelElement.name>Коэффициент ле-гированности стали </Model:ModelElement.name>
Автоматизированное формирование моделей предметной области на основе визуальных когнитивных моделей FreeMind. FreeMind [8] -это широко распространенный программный продукт класса mind mapping, предназначенный для построения и визуализации структуры баз знаний.
105
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
'Ф Технология изготовления
Рис. 4. Пример концепт-карты FreeMind Fig. 4. An example of FreeMind concept card
FreeMind в основном используется для следующих целей:
- управление проектами (включая создание структуры подзадач, анализ состояния подзадач и отслеживание времени их исполнения);
- представление структуры проекта (ссылки на необходимые файлы, исполняемые модули, исходные коды, источники информации и т.п.);
- проведение интернет-исследований (структуризация результатов поиска);
- брейнсторминг (программа позволяет показать цветом, какая ветвь рассуждений открыта, закрыта, не получила развития и т.п.);
- построение концептуальных моделей предметных областей.
На рисунке 4 приведен пример концепт-карты FreeMind.
Представим фрагмент файла FreeMind, при этом выделены ключевые конструкции, на основе которых осуществлялось выделение элементов концептуальной модели:
<?xml version=,,1.0" encoding=,,UTF-8"?><xbel version=,,1.0" folded="no">
<^^е>Наблюдаемая кинетика</^^е>
<folder>
<^^е>Деградационный процесс</^^е>
<folder>
<^^е>Материал</^^е>
Формирование продукций и генерация кода
На основе концептуальной модели (онтологии) происходит автоматическая генерация продукци-
онной модели, при этом понятиям онтологии ставятся в соответствие понятия продукционной модели с последующей генерацией кода базы знаний в формате CLIPS (см. таблицу).
Примеры соответствий элементов концептуальной, продукционной моделей и CLIPS
Examples of corresponding elements of conceptual, production models and CLIPS
Элементы концептуальной модели Элементы продукционной модели Элементы CLIPS
Проект (наименование, описание) База знаний (наименование, описание) -
Понятие (наименование, описание) Шаблон (наименование, описание) Факт (наименование, описание) deftemplate
Метод - -
Атрибут Слот (описание, значение) slot
Значение атрибута Значение слота default
Тип атрибута Тип атрибута type
Связь Правило defrule
В заключение отметим, что решение проблемы управления знаниями позволяет повысить эффективность труда во многих областях, в том числе при разработке баз знаний экспертных систем и систем, основанных на знаниях.
В данной работе предлагается решение задачи формализации и реализации баз знаний на основе концептуальных моделей. В качестве источника концептуальных моделей использованы CASE-
106
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
средство Rational Rose и среда когнитивного моделирования FreeMind, целевой язык представления знаний - CLIPS.
В настоящий момент создан исследовательский прототип web-сервиса для автоматизированного формирования баз знаний. Программная реализация выполнена на основе Yii Framework и PostgreSQL.
Апробация и тестирование сервиса осуществлены при создании баз знаний продукционных экспертных систем для исследования и обеспечения техногенной безопасности труднодоступных водных объектов.
Литература
1. Гапоненко А.Л., Орлова Т.М. Управление знаниями. Как превратить знания в капитал. М.: Эксмо, 2008. 400 с.
2. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб: Питер, 2000. 384 с.
3. Частиков А.П., Гаврилова Т.А., Белов Д.Л. Разработка экспертных систем. Среда CLIPS. СПб: БХВ-Петербург, 2003. 608 с.
4. Гаврилова Т.А., Гулякина Н.А. Визуальные методы работы со знаниями: попытка обзора // Искусственный интеллект и принятие решений. 2008. № 1. С. 15-21.
5. Юрин А.Ю., Грищенко М.А. Редактор баз знаний в формате CLIPS // Программные продукты и системы. 2012. № 4. С. 83-87.
6. Unified Modeling Language (UML). URL: http://www. omg.org/spec/UML/ (дата обращения: 02.06.2014).
7. XML Metadata Interchange (XMI). URL: http://www. omg.org/spec/XMI/ (дата обращения: 12.06.2014).
8. Система когнитивного моделирования «FreeMind». 2014. URL: http://www.freemind.sourceforge.net (дата обращения: 02.06.2014).
9. Джарратано Д., Райли Г. Экспертные системы: принципы разработки и программирование; [пер. с англ.]. М.: Вильямс, 2007. 4-е изд. 1152 с.
10. Грищенко М.А., Юрин А.Ю., Павлов А.И. Разработка экспертных систем на основе трансформации информационных моделей предметной области // Программные продукты и системы. 2013. № 3. С. 143-147.
DOI: 10.15827/0236-235X.108.103-107 Received 17.06.2014
A WEB-SERVICE FOR KNOWLEDGE BASE GENERATION ON THE BASIS OF CONCEPTUAL MODELS
(The work has been partially supported by the Russian Federation President’s scholarship, grant № СП-2012.2012.5)
Yurin A. Yu., Ph.D. (Engineering), Associate Professor, Senior Researcher, [email protected] (Institute of system dynamics and control theory SB RAS,
Lermontov St. 134, Irkutsk, 664033, Russian Federation; National Research Irkutsk State Technical University, Lermontov St. 83, Irkutsk, 664074, Russian Federation);
Dorodnykh N.O., Postgraduate Student, [email protected] (Institute of system dynamics and control theory SB RAS, Lermontov St. 134, Irkutsk, 664033, Russian Federation)
Abstract. The paper describes a web-service for automated creation of the rule-type knowledge bases based on conceptual models. The service provides an automated analysis of the XML structure of IBM Rational Rose files (that contain description of class models) and FreeMind with subsequent selection of concepts and relations. Selected concepts and relations are represented as ontology. In turn the ontological model can be used for automated generation of rule bases and their visual modeling using RVML (Rule Visual Modeling Language) notation. Obtained models are used for generation of CLIPS codes (C Language Production System).
The article presents descriptions of web-service functions, the architecture, algorithms for analysis of conceptual models, and tables for models transformation support.
The web-service can be considered as one of the modules of the knowledge management system. This module is designed for retrieval, structuring and formalization of knowledge in different problem domains. The approbation and testing of the web-service are carried out in development of knowledge bases of rule-based expert systems for investigation the technogenic safety of hard-to-reach water objects.
Keywords: knowledge base, knowledge formalization, web-service, UML, CLIPS, code generation.
References
1. Gaponenko A.L., Orlova T.M. Upravlenie znaniyami. Kak prevratit znaniya v kapital [Knowledge Management. How to Turn Knowledge into Capital]. Moscow, Eskimo Publ., 2008, 400 p.
2. Gavrilova T.A., Khoroshevsky V.F. Bazy znany intellektualnykh sistem [Knowledge Bases of Intelligent Systems]. St. Petersburg, Piter Publ., 2000, 384 p.
3. Chastikov A.P., Gavrilova T.A., Belov D.L. Razrabotka ekspertnykh sistem. Sreda CLIPS [Expert Systems Development. CLIPS Environment]. St. Petersburg, BKhV-Petersburg Publ., 2003, 608 p.
4. Gavrilova T.A., Gulyakina N.A. Visual methods of working with knowledge: an attempt to review. Iskusstvenny intellekt iprinyatie resheny [Artificial Intelligence and Decision-making]. 2008, no. 1, pp. 15-21 (in Russ.).
5. Yurin A.Yu., Grishchenko M.A. Knowledge base editor for CLIPS. Programmnye produkty i sistemy [Software & Systems]. 2012, no. 4, pp. 8-87 (in Russ.).
6. Unified Modeling Language (UML). Available at: http://www.omg.org/spec/UML/ (accessed June 2, 2014).
7. XML Metadata Interchange (XMI). Available at: http://www.omg.org/spec/XMI/ (accessed June 2, 2014).
8. Mind mapping "FreeMind”. Available at: http://www.freemind.sourceforge.net (accessed June 2, 2014).
9. Giarratano J.C., Riley G.D. Expert Systems: Principles and Programming. 4th ed., PWS, Boston, MA, 2004 (Russ. ed.: Moscow, Williams Publ., 2007, 1152 p.).
10. Grishchenko M.A., Yurin A.Yu., Pavlov A.I. Expert systems design based on the transformation of domain information models. Programmnye produkty i sistemy [Software & Systems]. 2013, no. 3, pp. 143-147 (in Russ.).
107