Научная статья на тему 'Концепция подхода к созданию программных компонентов генерации баз знаний на основе трансформации концептуальных моделей'

Концепция подхода к созданию программных компонентов генерации баз знаний на основе трансформации концептуальных моделей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
103
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ РАЗРАБОТКИ ПРОГРАММНЫХ КОМПОНЕНТОВ / ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА / КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ / БАЗА ЗНАНИЙ / ТРАНСФОРМАЦИЯ МОДЕЛЕЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дородных Никита Олегович, Коршунов Сергей Андреевич, Юрин Александр Юрьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дородных Никита Олегович, Коршунов Сергей Андреевич, Юрин Александр Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Концепция подхода к созданию программных компонентов генерации баз знаний на основе трансформации концептуальных моделей»

УДК 004.4'22

КОНЦЕПЦИЯ ПОДХОДА К СОЗДАНИЮ ПРОГРАММНЫХ КОМПОНЕНТОВ ГЕНЕРАЦИИ БАЗ ЗНАНИЙ НА ОСНОВЕ ТРАНСФОРМАЦИИ КОНЦЕПТУАЛЬНЫХ МОДЕЛЕЙ Дородных Никита Олегович

Аспирант, e-mail: tualatin32@mail.ru Коршунов Сергей Андреевич

Аспирант, e-mail: grey.for@gmail.com Юрин Александр Юрьевич

К.т.н., зав. лабораторией «Информационные технологии исследования природной и техногенной безопасности», Институт динамики систем и теории управления им. В.М. Матросова СО РАН, 664033, г. Иркутск, ул. Лермонтова, 134, e-mail: iskander@icc.ru

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

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

Введение. В настоящее время разработка новых методов и подходов к созданию интеллектуальных систем (ИС) и их программных компонентов остается перспективной областью научных исследований. При этом сложность и трудоемкость процесса разработки ИС обусловлена, главным образом, особенностями этапа разработки баз знаний (БЗ), который включает задачи моделирования предметной области, получения, структурирования и формализации (представления) знаний, которые традиционно считаются «узким местом» проектирования ИС [2, 9]. Сложность данных задач возрастает при необходимости обеспечения удаленного, совместного (коллективного) доступа, согласования мнений экспертов (специалистов-предметников), а также повторного использования накопленной информации, представленной в разных формах, в том числе, в виде концептуальных (информационных) моделей (диаграмм, схем, карт знаний и т.п.).

Таким образом, проблема повышения эффективности разработки ИС и их программных компонентов (в том числе, подсистем формирования БЗ) является актуальной и решается в различных направлениях: от совершенствования методологии (методик) разработки до создания специального программного инструментария. Однако, в целом

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

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

В качестве источников концептуальных моделей предлагается использовать группу моделей, для описания структуры которых используется XML (eXtensible Markup Language). Примерами моделей данной группы являются: диаграммы классов UML (Unified Modeling Language) [8], представленные в соответствии со стандартом XMI (XML Metadata Interchange) [3] - стандартом обмена информацией о моделях; концепт-карты, представленные в соответствии со стандартом XTM (XML Topic Maps) [5] и др. В качестве целевых ЯПЗ выбраны - CLIPS (C Language Integrated Production System) [7] и OWL (Web Ontology Language) [10], как наиболее распространенные на данный момент средства представления продукций и онтологий.

1. Концепция подхода. Основными элементами разработанного подхода (технологии) автоматизации процесса создания программных компонентов ИС, обеспечивающих формирование БЗ путем трансформации концептуальных моделей предметных областей, являются:

модель типового программного компонента, включающая модель трансформации; предметно-ориентированный декларативный язык - Transformation Model Representation Language (TMRL), предназначенный для представления и хранения модели трансформации; • метод создания программных компонентов на основе «клонирования» (копирования) типового программного компонента и его настройки (специализации) на основе модели трансформации;

концептуальная архитектура веб-ориентированной программной системы и ее основных элементов.

Для программной реализации подхода прилагается применить принципы веб-ориентированной разработки приложений.

Особенностью данной веб-ориентированной программной системы является ее расширяемость, в части создания и добавления в ее состав новых программных компонентов, обеспечивающих импорт и анализ различных форматов концептуальных моделей, и генерацию кода БЗ на разных ЯПЗ. Создаваемые программные компоненты могут отчуждаться и использоваться в качестве автономных подсистем для других ИС.

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

программным компонентам для импорта концептуальных моделей и получения прототипов БЗ на их основе.

Далее подробнее рассмотрим отдельные элементы разработанного подхода.

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

МТРС = Мт, AjN, CG qut, I . (1)

где Мт - модель трансформации; AIN - анализатор (parser) входных моделей; CG0UT -генератор выходных моделей; I - интерфейс взаимодействия с внешними ИС.

При этом:

Ain = А™,А°цТ , где A^jf - анализатор входных концептуальных моделей, представленных в формате XML; А^т - анализатор входной концептуальной модели, представленной в виде онтологии.

CG0UT = CGqijt, CGoi¡-fs~KB, CGqi¡Ít~KB , где CGqut - генератор выходной модели онтологии; CGq\¡jS~kb - генератор кода БЗ на ЯПЗ CLIPS; CGq^~кв - генератор кода БЗ на ЯПЗ OWL.

Для унифицированного представления и хранения знаний, извлеченных из концептуальных моделей, предлагается использовать специально разработанную модель онтологии (ОNT). Данная модель позволяет абстрагироваться от особенностей описания знаний в различных ЯПЗ, используемых при реализации БЗ (например, CLIPS, JESS, Drools, RuleML, SWRL, OWL, RDF и др.), и хранить знания в собственном независимом формате. Модель онтологии может выступать как в качестве входной, так и выходной модели. Подробное описание модели приводится в [6].

I = ilt..., in , ij = namej,commandj ,j £ 1,п, где namej - наименование j метода взаимодействия; commandj - управляющая команда метода взаимодействия.

Интерфейс взаимодействия позволяет внешним программным системам (ИС) обращаться к программному компоненту (посредством запроса), с целью автоматического формирования БЗ, на определенном ЯПЗ (CLIPS или OWL), путем передачи (импорта) концептуальной модели.

Таким образом, в процессе создания программного компонента (специализации модели типового программного компонента МТРС), пользователю необходимо сформировать модель трансформации Мт, которая определяет правила преобразования (сценарий трансформации) исходных концептуальных моделей в целевые БЗ. Также пользователю необходимо определить (выбрать) соответствующие блоки анализа и генерации, из которых выполняется «сборка» программного компонента.

2.1. Модель трансформации. Используя (1), определим Мт:

Мт= MMIN,MM0UT,T , (2)

где MMIN - метамодель исходной (входной) концептуальной модели; ММоит - метамодель целевой (выходной) модели представления знаний (БЗ); Т - оператор преобразования моделей.

Основным элементом Мт является оператор преобразования (Т):

Т: СМ KB, (3)

где СМ - исходная концептуальная модель; К В - целевая БЗ.

Для уточнения (3) выделим виды синтаксиса концептуальных языков моделирования и ЯПЗ согласно [11]. Таким образом, на абстрактном (abstract syntax) и конкретном (concrete syntax) уровне получим:

Tas■■ ММсм -* MMKB,TCS: MXml "> CodeKRL, (4)

где ММсм - метамодель исходной концептуальной модели; ММКВ - метамодель целевой БЗ; MXml - исходная концептуальная модель, представленная в формате XML; CodeKRL - код БЗ, представленной на целевом ЯПЗ (Knowledge Representation Language, KRL). При этом CodeKRL е Code^iP, Code^ , где Code^s - целевой код БЗ на ЯПЗ CLIPS; Code-целевой код БЗ на ЯПЗ OWL.

Согласно (4), процесс трансформации MXml в CodeKRL осуществляется путем установления соответствий (определения правил трансформации) между абстрактными элементами исходной метамодели ММсм и целевой метамодели ММкв.

Введем оператор RT для обозначения набора правил соответствия элементов метамоделей (правил трансформации):

RT = rlf ...,rn : ММсм -> ММКВ,

где г^ - правило трансформации.

При этом:

r£= е-п, e°ut, pi ,i El, п,

где ef1 - исходный элемент метамодели ММсм (левая часть правила); e°ut - целевой элемент метамодели ММКВ (правая часть правила); р^ - приоритет выполнения правила, определяющий последовательность выполнения правил, р^ 6 1 ,k.

3. Предметно-ориентированный язык TMRL. Для представления и хранения модели трансформации Мт разработан предметно-ориентированный язык (Domain Specific Language, DSL) - Transformation Model Representation Language (TMRL). Грамматика разработанного TMRL принадлежит к классу контекстно-свободных грамматик (КС-грамматик - LL(1)) [1]. Конструкции TMRL позволяют в декларативном виде описывать элементы модели трансформации Мт, в частности, правила соответствия элементов метамоделей R т.

Упрощенная метамодель TMRL (abstract syntax), определяющая основные концепты, из которых состоит данный язык, представлена на рис. 1.

4. Метод создания программных компонентов. Метод создания программных компонентов представляет собой систематизированную совокупность действий, которые нацелены на решение задачи автоматизированной разработки программного компонента ИС на основе «клонирования» (копирования) и настройки типового программного компонента (специализация модели типового программного компонента МТРС, путем формирования модели трансформации Мт, а также выбор соответствующих блоков анализа и генерации).

Рис. 1. Метамодель TMRL

Основные принципы метода создания программных компонентов:

• визуальное построение правил трансформации (соответствий) элементов метамодели исходной концептуальной модели в элементы метамодели целевой БЗ без использования специализированных языков трансформации моделей общего назначения (например, QVT, ATL и др.);

автоматическое выделение элементов входных метамоделей для процесса визуального построения правил трансформации, на основе анализа XSD-структур; представление и хранение установленных правил соответствия элементов метамоделей с использованием предметно-ориентированного декларативного языка (TMRL).

Основные ограничения на входные и выходные метамодели:

• Метамодель исходных концептуальных моделей ММсм должна быть представлена в формате XML-схемы (XML Schema) - XML Schema Definition (XSD) [4].

• Для автоматического построения XML-схем разработаны многочисленные паттерны (шаблоны) проектирования, наиболее распространенными из которых являются: Russian Doll, Salami Slice, Venetian Blind, Garden of Eden. Данные паттерны различаются количеством используемых глобальных элементов и типов. Предполагается, что использование паттернов Venetian Blind и Garden of Eden [12] является наиболее перспективным.

• Метамодели целевых БЗ ММкв, представленных на ЯПЗ CLIPS и OWL, доступны для построения модели трансформации по умолчанию.

Основные этапы метода создания программных компонентов на основе модели типового программного компонента, включая формирование модели трансформации, представлены на рисунках 2 и 3.

?

(1. Формирование метамоделей исходной

концептуальной модели в формате ХБЭ _у_

2. Разработка модели трансформации

_^_

С3. Автоматическое создание программного компонента

Рис. 2. Этапы создания программного компонента

2.1. Анализ XSD-структуры (выделение элементов исходной метамодели)

2.2. Построение предварительной модели трансформации (без правил трансформации)

2.3. Установление соответствий элементов метамоделей (правил трансформации)

2.4. Генерация кода модели трансформации на TMRL

2.5. Уточнение (дополнение) кода модели трансформации на TMRL

Рис. 3. Этапы создания модели трансформации

5. Концептуальная архитектура программной системы. С целью программной реализации предлагаемой технологии разработана концептуальная архитектура веб-ориентированной программной системы, описывающая основные функциональные элементы и их взаимодействие.

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

Основные уровни (части) системы:

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

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

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

Системный уровень

Подсистема информационной поддержки

Подсистема администрирования

Подсистема взаимодействия с внешними программными средствами

Подсистема визуализации онтологии и продукций в нотации RVML

Подсистема разработки программных компонентов

Информационный уровень

Прикладной уровень

Программные компоненты синтеза БЗ на основе тренсформации концептуальных моделей

Онтологическая модель

Продукционная модель

Служебная БД системы

Рис. 4. Концептуальная архитектура веб-ориентированной программной системы

Заключение. В данной работе предлагается подход (технология) к автоматизированной разработке программных компонентов ИС, предназначенных для автоматического формирования кода БЗ, представленных на ЯПЗ CLIPS или OWL, путем трансформации концептуальных (информационных) моделей. В основе предлагаемого подхода лежит использование: модели типового программного компонента (включая модель трансформации); предметно-ориентированного декларативного языка - Transformation Model

Representation Language (TMRL), предназначенного для представления и хранения модели трансформации; метода создания программных компонентов на основе «клонирования» типового программного компонента и его настройки (специализации); концептуальной архитектуры веб-ориентированной программной системы.

Работа выполнена при частичной финансовой поддержке РФФИ (проекты № 15-3720655, №16-37-00122).

СПИСОК ЛИТЕРАТУРЫ

1. Ахо А.В., Лам М.С., Сети Р., Ульман Дж.Д. Компиляторы: принципы, технологии и инструментарий, 2-е изд.: Пер. с англ. - М.: ООО "И.Д. Вильямс", 2008. 1184 с. [Aho A.V., Lam M.S., Sethi R., Ullman J.D. Compilers: Principles, Techniques, and Tools. 2nd ed. Addison-Wesley, 2006. 1000 p.]

2. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб.: Питер, 2000. 384 с.

3. Документация XML Metadata Interchange (XMI). Режим доступа: http://www.omg.org/spec/XMI (дата обращения 10.03.2016).

4. Документация XML Schema definition (XSD). Режим доступа: http://www.w3.org/TR/xmlschema-0 (дата обращения 10.03.2016).

5. Документация XML Topic Maps (XTM). Режим доступа: http://www.topicmaps.org/xtm (дата обращения 10.03.2016).

6. Дородных Н.О., Юрин А.Ю. Использование диаграмм классов UML для формирования продукционных баз знаний // Программная инженерия. 2015. №4. С. 3-9.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8. Booch G., Rumbaugh J., Jacobson I. The Unified Modeling Language User Guide, 2nd Edition. Addison-Wesley, New York, 2005. 496 p.

9. Giarratano J.C., Riley G.D. Expert Systems: Principles and Programming, 4th Edition. Thomson Course Technology, 2005. 288 p.

10. Grau B.C., Horrocks I., Motik B., Parsia B., Patel-Schneider P., Sattler U. OWL 2: The next step for OWL // Web Semantics: Science, Services and Agents on the World Wide Web. 2008. Vol. 6, No. 4. P. 309-322.

11. Greenfield J., Short K., Cook S., Kent S., Crupi J. Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley Pub., 2004. 696 p.

12. Khan A., Sum M. Introducing Design Patterns in XML Schemas. Режим доступа: http://www. oracle.com/technetwork/java/design-patterns- 142138.html (дата обращения 10.03.2016)

Концепция подхода к созданию программных компонентов генерации баз знаний на основе UDK 004.4'22

THE CONCEPT OF AN APPROACH FOR DEVELOPMENT OF SOFTWARE COMPONENTS OF KNOWLEDGE BASES GENERATION BASED ON THE TRANSFORMATION OF CONCEPTUAL MODELS Nikita O. Dorodnykh

Graduate student, e-mail: tualatin32@mail.ru

Sergey A. Korshunov Graduate student, e-mail: grey .for@ gmail.com Alexander Yu. Yurin

Ph.D., Head. Laboratory of Information technology for investigation of natural and techno-genic safety, Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of Russian Academy of Sciences (ISDCT SB RAS) 134, Lermontov Str., 664033, Irkutsk, Russia,

e-mail: iskander@icc.ru

Annotation. The paper discusses the problem of improving the process of designing intelligent systems and their components. The main problem in designing of intelligent systems is the stage of creating knowledge bases. The efficiency of this stage can be improved by the transformation of conceptual (information) models into program codes of knowledge bases. In turn the conceptual models can be created with the aid of different CASE tools or software for cognitive and ontological modeling; knowledge bases can be represented by the specific knowledge representation languages. Therefore, the creation of the unified approach (technology) for developing software components of intelligent systems providing generation of knowledge bases by transformation of conceptual models is actual.

Keywords: software components development, intelligent system, conceptual model, knowledge base, model transformation

References

1. Aho A.V., Lam M.S., Sethi R., Ullman J.D. Compilers: Principles, Techniques, and Tools. 2nd ed. Addison-Wesley, 2006. 1000 p.

2. Gavrilova T.A., Khoroshevskii V.F. Bazy znanij intellektual'nyx sistem [Knowledge bases of intelligent systems]. SPb.: Piter, 2000. 384 p. (in Russian).

3. XML Metadata Interchange (XMI). Available at: http://www.omg.org/spec/XMI/, accessed 10.03.2016.

4. XML Schema definition (XSD). Available at: http://www.w3.org/TR/xmlschema-0, accessed 10.03.2016.

5. XML Topic Maps (XTM). Available at: http://www.topicmaps.org/xtm, accessed 10.03.2016.

6. Dorodnykh N.O., Yurin A.Yu. Ispol'zovanie diagramm klassov UML dlja formirovanija produkcionnyh baz znanij [Using UML Class Diagrams for Design of Knowledge Bases of Rule-Base Expert Systems]. Programmnaya inzheneriya = Software engineering, 2015, № 4, pp. 3-9. (in Russian).

7. Chastikov A.P., Gavrilova T.A., Belov D.L. Razrabotka ehkspertnyx sistem. Sreda CLIPS [Development of expert systems. CLIPS environment]. SPb.: BHV-Petersburg, 2003. 608 p. (in Russian).

8. Booch G., Rumbaugh J., Jacobson I. The Unified Modeling Language User Guide, 2nd Edition. Addison-Wesley, New York, 2005. 496 p.

9. Giarratano J.C., Riley G.D. Expert Systems: Principles and Programming, 4th Edition. Thomson Course Technology, 2005. 288 p.

10. Grau B.C., Horrocks I., Motik B., Parsia B., Patel-Schneider P., Sattler U. OWL 2: The next step for OWL. Web Semantics: Science, Services and Agents on the World Wide Web, 2008, vol. 6, no. 4, pp. 309-322.

11. Greenfield J., Short K., Cook S., Kent S., Crupi J. Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley Pub., 2004. 696 p.

12. Khan A., Sum M. Introducing Design Patterns in XML Schemas. Available at: http://www.oracle.com/technetwork/java/design-patterns-142138.html, accessed 10.03.2016.

i Надоели баннеры? Вы всегда можете отключить рекламу.