Автор: Грищенко М.А.
Источник: Сайт международного научно-практического журнала «Программные продукты и системы», 2013. [Ссылка]
Аннотация: В статье описан программный комплекс для создания продукционных экспертных систем, ориентированный на непрограммирующего специалиста. Комплекс реализует методологию MDA, позволяющую создавать программные приложения на основе последовательной (пошаговой) трансформации информационных моделей предметной области. Особенностью предлагаемой реализации методологии MDA является использование онтологии в качестве вычислительно-независимой модели, авторской нотации RVML (Rule Visual Modeling Language) для создания платформенно-независимой модели, языка представления знаний JESS в качестве платформенно-зависимой модели. Приведены описания архитектуры, основных модулей программного комплекса, функций и универсальной логической модели базы данных, позволяющей хранить онтологию и продукционные модели, а также обеспечивать их взаимодействие. В статье также описывается авторская нотация RVML, специально разработанная для описания продукций с помощью графических примитивов, повышающая эффективность разработки продукционных БЗ и обладающая большей наглядностью по сравнению с UML при отображении причинно-следственных зависимостей.
Ключевые слова: онтология., web-приложения, трансформация моделей, продукции, бз, экспертные системы, mda
Одним из самых трудоемких этапов создания экспертных систем (ЭС) является этап разработки БЗ, на котором решаются задачи концептуализации и формализации предметных знаний [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 и PM зависят от платформ разработки и выполняют функции адаптеров или трансляторов, преобразующих или интерпретирующих модели предметной области в программный код или программные среды. Процесс разработки представляет собой последовательный переход и трансформацию моделей (рис. 1).
В настоящей работе данный подход применяется для создания БЗ и ЭС продукционного типа:
Важным аспектом применения MDA является визуальное моделирование. При этом методология предписывает использовать UML для построения моделей предметной области. Полагая, что UML не позволяет наглядно и однозначно представить причинно-следственные зависимости, предлагается при описании PIM использовать дополнительно к UML авторскую нотацию для представления продукций – RVML (Rule Visual Modeling Language).
Нотация для представления продукций – Rule Visual Modeling Language
Предлагаемая нотация обладает большей выразительностью при описании причинно-следственных зависимостей по сравнению с UML, в частности, RVML позволяет:
Нотация RVML позволяет в простой и наглядной форме спроектировать продукционное правило, задать условие и действие. Она также дает возможность устанавливать коэффициенты уверенности, настраивать вывод сообщений, добавлять и удалять факты.
В процессе решения практических задач реализации и апробации предлагаемого подхода был разработан исследовательский прототип программного комплекса.
Разработанный программный комплекс, являясь CASE-средством для создания БЗ и экспертных систем продукционного типа на основе ЯПЗ JESS, реализует следующие основные функции:
С целью реализации функций программного комплекса разработана его архитектура (рис. 2). При этом программный комплекс решено реализовать в виде web-приложения с разделением на серверную и клиентскую части.
Серверная часть:
Клиентская часть:
Ядром программного комплекса является универсальная модель для хранения понятий предметной области и их свойств, эти понятия могут также служить шаблонами продукций, для хранения которых модель также предназначена. При этом модель хранения продукций является модификацией предложенной ранее модели [4, 5].
Представленная модель включает понятия БЗ, правила, действия правил, постусловия правил, условия правил, предусловия правил, набор условий, шаблоны фактов, новые факты, новые факты на основании шаблонов, параметры новых фактов, атрибуты фактов, типы атрибутов фактов, возможные значения атрибутов, определения атрибутов фактов, условия на значения фактов (рис. 3).Для реализации клиент-серверной архитектуры используются сервер Apache2 с поддержкой PHP5, а также сервер PostgreSQL. Клиентская часть выполнена с помощью языка JavaScript и библиотек jQuery, jQueryUI, jsPlumb.
Программный комплекс для создания продукционных ЭС на основе трансформации информационных моделей применялся при разработке ЭС определения причин деградационных процессов, приводящих к повреждению, разрушению и отказу изделий химической и нефтехимической промышленности.
Авторами разработаны правила определения деградационных процессов, обусловливающих причины повреждения, разрушения и отказа сосудов и трубопроводов высокого давления, а также правила принятия решений для исключения или снижения степени их влияния.
В заключение следует отметить, что с целью повышения эффективности создания БЗ и ЭС продукционного типа непрограммирующим пользователем было предложено использовать подход, основанный на трансформации моделей предметной области: CIM, PIM, PSM, PM.
Для более эффективного построения платформенно-независимых моделей было предложено использовать авторскую нотацию Rule Visual Modeling Language, обеспечившую более наглядное (по сравнению с UML) отображение продукций.
Реализация и апробация предлагаемого подхода при решении практических задач позволили разработать исследовательский прототип программного комплекса. Комплекс реализует методологию MDA для создания программных приложений на основе последовательной (пошаговой) трансформации моделей предметной области.