УДК 004.89
РАЗРАБОТКА ЭКСПЕРТНЫХ СИСТЕМ НА ОСНОВЕ ТРАНСФОРМАЦИИ ИНФОРМАЦИОННЫХ МОДЕЛЕЙ ПРЕДМЕТНОЙ ОБЛАСТИ
(Работа выполнена при поддержке гранта СП-2012.2012.5 (стипендия Президента РФ) и частично гранта ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг.
заявка № 2012-1.2.2-12-000-2007-027)
М.А. Грищенко, аспирант; А.Ю. Юрин, к.т.н., доцент; А.И. Павлов, к.т.н. (Институт динамики систем и теории управления СО РАН, ул. Лермонтова, 134, г. Иркутск, 664033, Россия, [email protected])
Описан программный комплекс для создания продукционных экспертных систем, ориентированный на непрограммирующего специалиста. Комплекс реализует методологию MDA, позволяющую создавать программные приложения на основе последовательной (пошаговой) трансформации информационных моделей предметной области. Особенностью предлагаемой реализации методологии MDA является использование онтологии в качестве вычислительно-независимой модели, авторской нотации RVML (Rule Visual Modeling Language) для создания платформенно-независимой модели, языка представления знаний JESS в качестве платформенно-зависимой модели. Приведены описания архитектуры, основных модулей программного комплекса, функций и универсальной логической модели базы данных, позволяющей хранить онтологию и продукционные модели, а также обеспечивать их взаимодействие. В статье также описывается авторская нотация RVML, специально разработанная для описания продукций с помощью графических примитивов, повышающая эффективность разработки продукционных БЗ и обладающая большей наглядностью по сравнению с UML при отображении причинно-следственных зависимостей.
Ключевые слова: MDA, экспертные системы, БЗ, продукции, трансформация моделей, web-приложения, онтология.
EXPERT SYSTEMS DESIGN BASED ON THE TRANSFORMATION OF DOMAIN INFORMATION MODELS
Grishchenko M. A, postgraduate; YurinA Yu., Ph.D., associate professor; Pavlov A I., Ph.D.
(Institute^ for System Dynamics and Control Theory Siberian Branch of RAS, Lermontov St., 134, 664033, Irkutsk, Russia, [email protected])
Abstract. The paper describes the software to design rule-based expert systems. The software includes MDA methodology (Model Driven Architecture) and is intended for non-programmers. MDA is based on the stepwise transformation of domain models. The proposed methodology feature is using ontology as a computation independent model (CIM); RVML (Rule Visual Modeling Language) as a platform independent model (PIM); JESS as a platform specific model (PSM). The architecture, main modules, functions and the universal logic data model for storing and interacting ontology and rules are presented. The RVML (designed to describe the rules with the aid of graphical primitives) is described. RVML increases the efficiency of rule-bases development by improving the clarity and comprehensibility of visualization of cause-effect relations (as compared with UML).
Keywords: MDA, expert systems, knowledge base, rules, transformation of models, web-application, ontology.
Одним из самых трудоемких этапов создания экспертных систем (ЭС) является этап разработки БЗ, на котором решаются задачи концептуализации и формализации предметных знаний [1] с последующей реализацией их на определенном языке представления знаний (ЯПЗ). При этом в большинстве случаев разработчик ЭС должен иметь навыки программирования и знать какой-либо определенный ЯПЗ, что не всегда возможно.
Решением данной проблемы является создание и использование программных средств, позволяющих абстрагироваться от конкретных ЯПЗ и сосредоточиться на моделировании предметной области. Пример таких систем - Protege [2]. Однако Protege не обеспечивает визуальное моделирование продукций и тестирование (исполнение и проверку) сгенерированных БЗ. В связи с этим требуется разработать программное средство, обеспечивающее моделирование предметной области и последующее автоматизированное создание БЗ и ЭС на основе разработанных моделей предметной области. В качестве методологиче-
ской основы предлагается использовать MDA (Model Driven Architecture - архитектура, управляемая моделью) - перспективное направление в области программной инженерии, предполагающее разработку систем на основе трансформации и интерпретации информационных моделей [3].
Трансформация моделей при создании БЗ
Согласно MDA [3], логика работы программной системы, включая описание основных понятий, отношений между ними и способов их обработки, описывается в виде моделей, определяющих состав, структуру и поведение будущего программного продукта. При этом выделяют несколько моделей: вычислительно-независимую -CIM (Computation Independent Model), платфор-менно-независимую - PIM (Platform Independent Model), платформенно-зависимую - PSM (Platform Specific Model) и модели платформы - PM (Platform Model). CIM и PIM не привязаны к конкретным языкам или средам программирования и по
сути являются моделями предметной области, PSM и РМ зависят от платформ разработки и выполняют функции адаптеров или трансляторов, преобразующих или интерпретирующих модели предметной области в программный код или программные среды. Процесс разработки представляет собой последовательный переход и трансформацию моделей (рис. 1).
Стандартная реализация
Техническое задание в произвольной форме (CIM)
\f
Описание логики работы приложения с использованием UML (PIM)
\>
Генерация, интерпретация, адаптация PIM (PSM + PM)
Предлагаемая реализация
Онтология (CIM)
Создание моделей БД и БЗ на основе трансформации модели онтологии
и с использованием
UML + RVML (PIM) *
Генерация и интерпретация PIM для JESS и SQL (PSM + PM)
Рис. 1. Соответствие предлагаемой и стандартной реализаций подхода MDA
В настоящей работе данный подход применяется для создания БЗ и ЭС продукционного типа:
- CIM реализована в виде онтологии, описывающей основные понятия и отношения предметной области;
- PIM представляет собой описание продукций, полученных путем автоматизированной трансформации CIM и уточнения полученных результатов;
- PSM представляет продукции на ЯПЗ JESS (в результате трансформации PIM), интерпретирует их и объясняет вывод в специальной среде;
- PM - синтаксические правила ЯПЗ JESS.
Важным аспектом применения MDA является
визуальное моделирование. При этом методология предписывает использовать UML для построения моделей предметной области. Полагая, что UML не позволяет наглядно и однозначно представить причинно-следственные зависимости, предлагается при описании PIM использовать дополнительно к UML авторскую нотацию для представления продукций - RVML (Rule Visual Modeling Language).
Нотация для представления продукций -Rule Visual Modeling Language
Предлагаемая нотация обладает большей выразительностью при описании причинно-следственных зависимостей по сравнению с UML, в частности, RVML позволяет (см. рис. 2)
- использовать отдельные графические примитивы для отображения всех элементов продукций (а не стереотипы или типизированные классы, как в ЦМЦ);
- присваивать отдельным фактам субъективные вероятности в виде коэффициентов уверенности;
- более наглядно отображать тип выполняемых действий (добавление, удаление, остановка);
- отображать логические операторы в условиях правил (ИЛИ и НЕ).
Имя шаблона i CF
I---------J-----
'Слот 1 > значение 1'
Имя шаблона 1' CF *.... Коэффициент
|-1-1
Слот 1 = [1, 4, 6] |..........Условие
I I
Имя шаблона CF
Имя CF
правила S '..
¡Слот 1 = значение 3
I______________
Логическое ИЛИ
Логическое НЕ
Приоритет Добавление
Имя шаблона 1 CF
Слот 1 значение 9......
Факт
Рис. 2. Основные элементы нотации
Нотация RVML позволяет в простой и наглядной форме спроектировать продукционное правило, задать условие и действие. Она также дает возможность устанавливать коэффициенты уверенности, настраивать вывод сообщений, добавлять и удалять факты.
В процессе решения практических задач реализации и апробации предлагаемого подхода был разработан исследовательский прототип программного комплекса.
Функции программного комплекса
Разработанный программный комплекс, являясь CASE-средством для создания БЗ и экспертных систем продукционного типа на основе ЯПЗ JESS, реализует следующие основные функции.
• Создание вычислительно-независимой модели на основе онтологического моделирования:
- в интерактивном режиме,
- в процессе реинжиниринга существующих моделей.
• Создание платформенно-независимых моделей БД и БЗ на основе трансформации модели онтологии:
- описание БЗ продукционного типа,
- создание логических моделей БД и их редактирование.
• Создание и редактирование продукционных БЗ непрограммирующим пользователем в контексте управления БЗ.
• Генерация БЗ и БД на основе трансформации платформенно-зависимых моделей:
- преобразование моделей в БД в postgreSQL,
- преобразование продукций на различные ЯПЗ (например CLIPS, JESS); обеспечивается возможность дальнейшей работы с продукциями в машине вывода CLIPS, JESS.
• Тестирование и исполнение сгенерированных БЗ.
Архитектура комплекса
С целью реализации функций программного комплекса разработана его архитектура (рис. 3).
При этом программный комплекс решено реализовать в виде web -приложения с разделением на серверную и клиентскую части.
Серверная часть:
- модуль управления БЗ: загрузка и сохранение БЗ, а также слияние и разделение существующих БЗ;
- модуль управления БД: взаимодействие системы с БД, загрузка и сохранение БД;
- модуль управления онтологиями: интеграция понятия предметной области в БЗ с созданием на их основе продукций;
- модуль генерации БЗ и БД на основе плат-форменно-зависимых моделей: преобразование продукции БЗ в выбранный ЯПЗ (например CLIPS, JESS) и логических моделей БД в БД.
Клиентская часть:
- модуль создания вычислительно-независимой модели (взаимодействия с онтологией): создание и редактирование модели предметной области (онтологии) непрограммирующими пользователями;
- модуль создания платформенно-независи-мых моделей: создание непрограммирующим
пользователем платформенно-независимых моделей (БЗ) в графическом виде;
- редактор БЗ продукционного типа [4].
Структура хранения данных
Ядром программного комплекса является универсальная модель для хранения понятий предметной области и их свойств, эти понятия могут также служить шаблонами продукций, для хранения которых модель также предназначена. При
этом модель хранения продукций является модификацией предложенной ранее модели [4, 5].
Представленная модель включает понятия БЗ, правила, действия правил, постусловия правил, условия правил, предусловия правил, набор условий, шаблоны фактов, новые факты, новые факты на основании шаблонов, параметры новых фактов, атрибуты фактов, типы атрибутов фактов, возможные значения атрибутов, определения атрибутов фактов, условия на значения фактов (рис. 4).
Программная реализация
Для реализации клиент-серверной архитектуры используются сервер Apache2 с поддержкой PHP5, а также сервер PostgreSQL. Клиентская часть выполнена с помощью языка JavaScript и библиотек jQuery, jQueryUI, jsPlumb.
Применение комплекса
Программный комплекс для создания продукционных ЭС на основе трансформации информационных моделей применялся при разработке ЭС
Клиентская часть Рис. 3. Архитектура программного комплекса
Рис. 4. Логическая модель хранения БЗ
определения причин деградационных процессов, приводящих к повреждению, разрушению и отказу изделий химической и нефтехимической промышленности.
Авторами разработаны правила определения деградационных процессов, обусловливающих причины повреждения, разрушения и отказа сосудов и трубопроводов высокого давления, а также правила принятия решений для исключения или снижения степени их влияния.
В заключение следует отметить, что с целью повышения эффективности создания БЗ и ЭС продукционного типа непрограммирующим пользователем было предложено использовать подход, основанный на трансформации моделей предметной области: CIM, PIM, PSM, PM.
Для более эффективного построения платфор-менно-независимых моделей было предложено
использовать авторскую нотацию Rule Visual Modeling Language, обеспечившую более наглядное (по сравнению с UML) отображение продукций.
Реализация и апробация предлагаемого подхода при решении практических задач позволили разработать исследовательский прототип программного комплекса. Комплекс реализует методологию MDA для создания программных приложений на основе последовательной (пошаговой) трансформации моделей предметной области.
Литература
1. Jess, the Rule Engine for the Java TM Platform. URL: http://www.jessrules.com/ (дата обращения: 28.03.2013).
2. The Protégé project. URL: http://protege.stanford.edu/ (дата обращения: 28.03.2013).
3. Грибачев К.Г. Delphi и Model Driven Architecture. Разработка приложений баз данных. СПб: Питер, 2004. 348 с.
4. Николайчук О.А., Павлов А.И., Юрин А.Ю. Компонентный подход: модуль продукционной экспертной системы // Программные продукты и системы. 2010. № 3. С. 41-44.
5. Юрин А.Ю., Грищенко М.А. Редактор баз знаний в формате CLIPS // Программные продукты и системы. 2012. № 4. С. 83-87.
References
1. Jess, the Rule Engine for the Java TM Platform, available at: http://www.jessrules.com/ (accessed 28 March 2013).
2. The Protégé project, available at: http://protege.stan-ford.edu/ (accessed 28 March 2013).
3. Gribachev K.G., Delphi i Model Driven Architecture. Razrabotka prilozheniy baz dannykh [Delphi i Model Driven Architecture. Data bases applications development], Piter, 2004.
4. Nikolaychuk O.A., Pavlov A.I., Yurin A.Yu., Pro-grammnye produkty i sistemy [Software & systems], 2010, no. 3, pp. 41-44.
5. Yurin A.Yu., Grishchenko M.A., Programmnyeprodukty i sistemy [Software & systems], 2012, no. 4, pp. 83-87.
УДК 519.816
ПРЕДПОСЫЛКИ УНИФИКАЦИИ ПРОГРАММНЫХ СРЕДСТВ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
(Работа выполнена при поддержке гранта РФФИ № 13-01-00895 А)
В.П. Осипов, к.т.н., доцент, ведущий научный сотрудник;
Т.В. Сивакова, младший научный сотрудник; В.А. Судаков, к.т.н., доцент, старший научный сотрудник (Институт прикладной математики им. М.В. Келдыша РАН, Миусская пл., 4, г. Москва, 125047, Россия, [email protected], [email protected], [email protected])
Рассматриваются вопросы разработки систем поддержки принятия решений (СППР), инвариантных по отношению к предметной области. Предлагается унифицированный подход к созданию СППР, включающий следующие принципы: свобода от субъективизма разработчиков, инвариантность по отношению к предметной области, множественность методов поддержки решений, субъективизм лица, принимающего решения, и дружелюбность по отношению к нему. Архитектура СППР, реализующая указанные принципы, строится на каркасном подходе. Каркас отвечает за механизм описания пространства критериев и параметров модели предметной области, позволяет пользователю выбирать методы поддержки решений и организует информационный обмен между ними, обеспечивает хранение, отображение и редактирование атрибутов альтернатив, обеспечивает контроль доступа. Все множество вариативных поведений СППР выделяется в модули, которые подключаются через точки расширения. Даны некоторые правила качественной разработки СППР. Предложены характеристики оценки качества, включая свойства, присущие методу поддержки решений, и свойства, присущие программной реализации метода. Предложенные методологические основы с успехом применены при создании СППР «Космос», которая используется в ранжировании заявок на научно-прикладные исследования на Российском сегменте Международной космической станции.
Ключевые слова: система поддержки решений, унифицированный подход, качество программного обеспечения, трехзвенная архитектура.
THE BACKGROUND FOR DECISION SUPPORT TOOLS SOFTWARE UNIFICATION Osipov V.P., Ph.D., associate professor, leading research associate; Sivakova T. V., junior researcher; Sudakov V.A, Ph.D., associate professor, senior researcher (Keldysh Institute of Applied Mathematics, Miusskaya Sq., 4, Moscow, 125047, Russia, [email protected], [email protected], [email protected]) Abstract. The paper describes the development of decision support systems (DSS) that are invariant with respect to the domain area. A unified approach to the DSS is provided. It includes the following principles: no developers' subjectivity, the domain area invariance, decision support methods multiplicity, decision maker subjectivity and usability. DSS architecture, that implements these principles, based on the frame approach. The framework is responsible for the mechanism of describing domain model criteria and parameters, allows the user to choose their decision support methods and organizes the information exchange between them, provides storaging, displaying and editing the alternatives attributes, provides access control. The entire set of variable DSS behavior stands out in the modules that are connected via extension points. The article provides some guidelines of DSS quality design. It also proposes the characteristics for quality evaluation including the decision support method properties and software implementation properties of the method. The proposed methodological framework is successfully used to design the DSS COSMOS which is used in the ranking of applications for scientific and applied research on the International Space Station Russian segment.
Keywords: decision support system, unified approach, software quality, three-tier architecture.
Анализ структуры и процессов разработки компьютерных систем поддержки принятия решений (СППР), таких как DSS/UTES, СППР «Космос», Автоматизированная система мониторинга
муниципальных образований, АСКУ, АСМ ВУЗ [1, 2], позволил оценить предпосылки и сформулировать общие принципы унификации этапов проектирования и разработки компонентов СППР.