Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Модели и методы аппликативного моделирования концептуальных зависимостей Шапкин, Павел Александрович

Модели и методы аппликативного моделирования концептуальных зависимостей
<
Модели и методы аппликативного моделирования концептуальных зависимостей Модели и методы аппликативного моделирования концептуальных зависимостей Модели и методы аппликативного моделирования концептуальных зависимостей Модели и методы аппликативного моделирования концептуальных зависимостей Модели и методы аппликативного моделирования концептуальных зависимостей
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Шапкин, Павел Александрович. Модели и методы аппликативного моделирования концептуальных зависимостей : диссертация ... кандидата технических наук : 05.13.11 / Шапкин Павел Александрович; [Место защиты: Нац. исслед. ядерный ун-т].- Москва, 2010.- 178 с.: ил. РГБ ОД, 61 11-5/1450

Содержание к диссертации

Введение

1. Анализ проблематики применения концептуальных моделей в разработке программных систем 11

1.1. Развитие концептуального моделирования 12

1.1.1. Сравнение средств концептуального моделирования 16

1.2. Концептуальное моделирование и семантический веб . 18

1.3. Подходы к разработке программных систем на основе концептуальных моделей 26

1.3.1. Средства разработки приложений семантического веба 26

1.3.2. Методы связывания программного кода с концептуальной моделью 30

1.3.3. Аппликативная вычислительная среда как формализация языка программирования 34

1.4. Постановка задачи разработки среды создания настраиваемых веб-приложений на основе онтологии 35

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

2.1. Метод аппликативного представления концептов и концептуальных зависимостей 39

2.1.1. Описание используемых формализмов 40

2.1.2. Представление концептуальных зависимостей . 49

2.2. Формальная модель привязки функций к концептам предметной области 52

2.2.1. Модель перегрузки функций на основе концептов . 55

2.2.2. Алгоритм диспетчеризации 57

2.2.3. Пример вычислений с перегруженными функциями . 63

2.3. Выводы

3. Проектирование и программная реализация инструментальных средств поддержки диспетчеризации функций на основе концептов 67

3.1. Выбор используемых программных средств 68

3.1.1. Выбор платформы реализации 68

3.1.2. Выбор средств представления и обработки RDF-данных и веб-онтологий 68

3.2. Реализация механизма перегрузки функций на основе концептуальных моделей 69

3.2.1. Реализация языка дескрипций концептов 69

3.2.2. Пример использования разработанной программной библиотеки работы с концептами 78

3.2.3. Программный каркас для определения перегруженных функций 79

3.2.4. Реализация алгоритма диспетчеризации 81

3.3. Разработка языка преобразования данных в формате RDF на основе семантических шаблонов 82

3.4. Выводы 86

4. Реализация и внедрение предметно-ориентированной программной системы, настраиваемой на веб-онтологию предметной области 87

4.1. Структура системы 88

4.1.1. Предметная область 88

4.1.2. Электронный каталог НТИ 95

4.1.3. Система классификационных схем ВИНИТИ 95

4.2. Выбор архитектуры 98

4.3. Состав и структура реализованного программного обеспечения 102

4.3.1. Общая структура системы 102

4.3.2. Веб-онтология предметной области 109

4.3.3. Действия над ресурсами 113

4.3.4. Перегруженные функции и семантические шаблоны 114

4.3.5. Пример обработки запроса системой 115

4.4. Оценка эффективности внедрения веб-приложений на основе концептуальной модели предметной области 117

4.5. Выводы 118

Заключение 120

Список литературы 123

Приложение 1. Акты о внедрении 136

Введение к работе

Актуальность темы исследований. В настоящее время особенно остро стоит вопрос разработки моделей, методов и программных средств, нацеленных на работу с резко возрастающим объемом цифровой информации, который в 2010 г. составил 1,2 зеттабайт, и, согласно прогнозам компании IDC, возрастет в 44 раза до 2020 г. В таких условиях требуются модели данных, способные устанавливать и поддерживать структуризацию информации, которая имеет тенденцию к изменению в зависимости от динамики предметной области. Известные решения, основанные на статичной классификации, стандартные онтологии, имеющиеся предложения по семантическому Вебу в таких условиях теряют эффективность и требуют пересмотра заложенных в их основу моделей данных, программного обеспечения и информационных технологий.

В связи с рассматриваемым кругом вопросов в области аппликативного моделирования разработаны и используются чистые и прикладные теории программирования (Р. Хиндли, М. Гордон, Т. Хоар и др.), использующие формализмы лямбда-абстракций. Техника абстрагирования зависимостей получила закрепление в методе концептуального моделирования (М. Броди, Р. Шмидт, Л. А. Кали-ниченко и др.). Соединение обоих подходов было исследовано под руководством В. Э. Вольфенгагена и реализовано в проекте ЛАМБДА, выполненном в МИФИ. В области собственно онтологии консорциумом W3 даны рекомендации по моделям данных, предложены стандарты, носящие рекомендательный характер, и все еще не получившие реализации в виде общепринятого коммерческого программного обеспечения. Как показывает практика, модели онтологии могут рассматриваться как частный случай концептуальных зависимостей (Р. Шенк и др.). Это породило попытки установления типовой формализации, в частности различные языки дескрипций (А. Боргида, Д. МакГиннесс и др.). Тем не менее, исчерпывающее решение все еще не достигнуто.

При разработке программных систем на базе веб-онтологий определенные трудности обусловливаются тем, что языки их описания, такие как OWL (Ontology Web Language, Язык веб-онтологий), сами по себе предназначены только для описания схем данных, т. е. концептуального аспекта предметной области, и не предоставляют возможности описания методов обработки данных — операционного аспекта. Существенное значение при построении программных систем на основе веб-онтологий представляет решение задачи погружения язы-

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

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

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

Достижение поставленной цели потребовало решить следующие задачи:

  1. выполнить анализ существующих средств представления концептуальных моделей (веб-онтологий) и используемых в них формализмов;

  2. разработать модель концептов, пригодную для внедрения в аппликативную среду вычислений;

  3. разработать формальную модель перегрузки функций на основе концептов;

  4. разработать алгоритм диспетчеризации функций, перегруженных на основе концептов;

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

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

  7. экспериментально проверить работоспособность разработанных моделей, алгоритмов и программных средств.

Объектом исследования являются веб-онтологии и веб-ориентированные программные системы.

Предмет исследования — построение частично упорядоченных систем объектов метаданных, выражаемых иерархиями в рамках концептуальных зависимостей, и связанных с программными модулями.

Методы исследования. При проведении исследований и разработок использованы методы лямбда-конверсии, частично упорядоченных систем, семантики языков программирования, концептуального моделирования, объектно-ориентированного проектирования, функционального программирования.

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

Основные научные результаты, полученные автором, состоят в следующем:

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

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

  3. Проведена реализация разработанных моделей на объектно-ориентированном функциональном языке программирования. Реализованная библиотека позволяет проводить классификацию объектов среды Java в соответствии с иерархиями концептов, а также описывать функции, перегруженные на основе концептов, и осуществлять их диспетчеризацию.

  4. Разработан набор программных инструментов создания веб-ориентированных приложений, поддерживающих настройку на предметную область при помощи веб-онтологий.

  5. На основе модели перегруженных функций и метода диспетчеризации на концептах введено понятие семантических шаблонов и разработан основанный на XML язык преобразования RDF-данных с использованием веб-онтологий OWL.

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

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

Результаты, полученные в работе, могут быть использованы:

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

для построения инструментальных средств работы с данными семантического Веба;

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

На защиту выносятся:

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

  2. Набор программных инструментов для организации взаимодействия компонентов веб-ориентированных программных систем, управляемых веб-онтологией предметной области.

  3. Язык шаблонного преобразования данных в формате RDF на основе OWL-онтологий.

Апробация работы. Теоретические и практические результаты работы доложены на следующих научных конференциях:

III международная конференция «Web Information Systems and Technologies» (Барселона, 2007);

IX, X и XI международная конференция «Computer Science and Information Technologies» (Уфа, 2007; Анталия, 2008; Крит, 2009);

VII международная конференция «Научно-техническая информация» (Москва, 2007);

Научные сессии МИФИ-2008, 2010;

конференции «Аппликативные вычислительные системы» (Москва, 2008, 2010);

научно-практический семинар «Фундаментальные основы информационных технологий» (Москва, 2009-2010).

По результатам выполненных исследований опубликовано 15 печатных работ, в том числе в трех журналах, включенных ВАК РФ в перечень ведущих рецензируемых научных журналов и изданий.

Программные системы, основанные на предложенных автором моделях и методах, внедрены во Всероссийском институте научной и технической информации Российской академии наук (ВИНИТИ РАН) и в Российском государственном архиве научно-технической документации (РГАНТД), что подтверждается соответствующими актами.

Результаты внедрения и эксплуатации разработанных программных средств позволяют сделать вывод о достоверности и обоснованности научных и практических результатов работы.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы. Общий объем основного текста, без учета приложений — 122 страницы, с учетом приложений — 175 страниц. Диссертация содержит 34 рисунка, 8 таблиц и 11 листингов программного кода. Список литературы включает 124 источника.

Средства разработки приложений семантического веба

Развитие форматов представления данных во всемирной паутине шло по пути от чисто синтаксических конструкций к языкам, оснащенным формальной семантикой и аппаратом логического вывода (см. рис. 1.3 и 1.4).

По сути, с помощью RDFS описывается структура предметной области, представляющая собой онтологию. Каждый концепт определяется набором свойств, которые должны иметь его экземпляры. В отличие от ООП, где класс является первичной сущностью и все его свойства описываются внутри определения класса, в RDFS свойства могут определяться отдельно от концептов. Затем концепты могут составляться из имеющихся свойств. Таким образом, в процессе вычислений путем комбинирования известных свойств можно создавать новые концепты, не определенные в исходной онтологии. Отдельные индивиды также могут иметь произвольный набор свойств, и затем с помощью процедур вывода быть отнесены к различным концептам. Поддержка процедур вывода является особенностью онтологии. Основными формами вывода является проверка вложенности (subsumption) и непротиворечивости (satisfiability), суть которых излагается в п. 2.1.

Наиболее типичные онтологии для Веб включают в себя список концептов (понятий), организованных в таксономию, дескрипции (описания) этих концептов и правила вывода [1]. Таксономия — это иерархия понятий. Одной из форм таксономии можно считать тезаурус [66]. Правила вывода на онтологиях, к которым можно отнести установление вложенности, непротиворечивости концептов и т. п., позволяют проводить рассуждения на заданной предметной области. Для описания веб-онтологий используется язык OWL (Ontology Web Language).

Преимуществом OWL является возможность явного задания связей между различными предметными областями. Таким образом, возможно объединение независимо разрабатывавшихся онтологии одной и той же проблемной области: в то время как RDF делает семантику данных независимой от используемой XML-схемы, с помощью указания связей между двумя онтологиями семантика данных становится независимой от конкретной онтологии.

Другой особенностью OWL является возможность задавать различные свойства для отношений между индивидами: прямая и обратная функциональность, транзитивность, симметричность. Функциональные свойства расширяют возможности идентификации объектов: то, что два описания соответствуют одному и тому же объекту, может быть установлено не только на основе его идентификатора (URI), а и на основе того, что они имеют одинаковые значения обратно функциональных свойств. Обратно функциональные свойства являются ключевыми атрибутами концептов, по аналогии с ключами отношений в теории баз данных. Процесс объединения различных описаний одного и того же объекта на основе равенства ключевых свойств получил название «smushing» [67].

Язык OWL существует в трех видах: OWL Full, OWL DL и OWL Lite. OWL Full предоставляет максимум возможностей, но в некоторых случаях это ведет к невозможности построения выводов. По этой причине существует более ограниченные версии OWL — OWL DL (Description Logics) и OWL Lite. Язык OWL DL основан на дескрипционной логике класса Sl-LOIAf(D), OWL Lite — на менее выразительной S%IT{D) (см. раздел 2.1). Использование OWL DL дает возможность применять стандартизованные средства для построения логических выводов в формализованной системе концептов по аналогии с тем, как сегодня применяются стандартные средства синтаксического анализа XML-документов. Однако, по сравнению с OWL Full, OWL DL имеет меньшую выразительность. Например, в OWL DL запрещено использование классов в роли значений [68]. OWL Lite — самый ограниченный вариант OWL, но в то же время и самый простой.

Примеры использования RDF и OWL В качестве примеров использования RDF и OWL можно привести такие форматы как RSS, Dublin Core, FOAF и др.

Формат RSS (RDF Site Summary, RDF-сводка сайта) [69] используется для публикации и распространения (синдикации) быстро изменяемой информации: сообщений форумов, лент новостей, онлайн-дневников и т. д. Благодаря семантической разметке информация с RSS-источников может загружаться другими приложениями, что позволяет проводить объединение нескольких информационных потоков, например, по тематикам, упрощает поиск и т. д.

Формат Dublin Core Metadata Element Set (DCMES) [70] создан как стандартный набор полей метаданных, предназначенный для унификации описания любых объектов. Список полей Dublin Core содержит такие атрибуты, как «название», «дата создания», «создатель» и т. д.

Формат FOAF (Friend Of A Friend) [6] предназначен для описания «социальных сетей», он получил большое распространение в системах онлайн-дневников. Спецификация FOAF определяет выражения, используемые для высказывания о ком-либо: имя, фамилия, пол, номера телефонов, электронная почта, интересы и т. д. Кроме того, FOAF позволяет задавать отношения между разными людьми, таким образом формируя сети.

Общей чертой форматов данных, основанных на RDF, является их взаимозависимость: более специфичные форматы используют понятия более общих стандартов. Например, практически все форматы используют элементы словаря DCMES. Однако, даже если оказывается, что различные форматы определяют разные понятия для представления одной и той же сущности, эти понятия всегда могут быть объединены средствами OWL.

В настоящее время существуют ряд инструментов просмотра RDF-данных (или «связанных данных», Linked Data), с помощью которых можно загружать RDF-данные прямо из сети и осуществлять навигацию по ним, переходя по ссылкам rdf s: seeAlso — обычно такие ссылки автоматически загружаются, когда пользователь раскрывает какой-либо ресурс, содержащий их. К таким браузерам относятся Tabulator [71], реализованный в виде JavaScript-приложения, Brown Sauce, представляющий собой веб-приложение, разработанное на Java, ZitGist Dataviewer1 и т. п.

Формальная модель привязки функций к концептам предметной области

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

Механизмы перегрузки и диспетчеризации функций с применением дескрипционной логики исследовались в работе [77], описывающей использование концептов в объектно-ориентированном расширении CLOS1 языка LISP; однако в ней не описываются способы устранения неоднозначности выбора перегруженной функции.

Схожая с диспетчеризацией на концептах предикатная диспетчеризация рассмотрена в работах [75,76,80], однако в данных работах не делается попыток брать за основу формализм с вычислимой вложенностью концептов, такой как дескрипционная логика. Таким образом, относительно неизученными остались вопросы построения модели перегрузки и однозначной диспетчеризации функций применительно к дескрипционной логике.

Данная глава состоит из двух разделов. В первом разделе описана модель концептов аппликативного типа, что дает возможность классификации значений среды Java. За основу языка дескрипций взята дескрипционная логика класса S%OTN(V).

Во втором разделе предложена модель перегрузки функций на основе концептов и введен алгоритм диспетчеризации таких функций.

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

Построим модель концептов, позволяющую классифицировать значения в языке программирования. Под значениями будем понимать «объекты первого класса» — объекты, которые могут быть переданы как параметр, возвращены из функции, присвоены переменной [83]. В случае языка Scala, выбранного для реализации разработанных моделей (см. п. 3.1), такими значениями являются объекты-экземпляры подклассов класса scala .Any, которые могут представлять собой как значения примитивных типов, так и функции и т. п. С точки зрения платформы Java, на которую ориентирован язык Scala, значениями являются примитивные значения и ссылочные значения — экземпляры классов и интерфейсов.

В качестве модели языка программирования будем рассматривать типизированное А-исчисление второго порядка с отношением подтипи-зации (также известное как «система F :»), описанное в работе [84], соответствующее формальной основе языка Scala. Такой выбор обусловлен тем, что указанная формальная система позволяет моделировать большинство особенностей языков ООП: типы соответствуют классам, отношение подтипизации — наследованию классов, зависимые типы — обобщенным (generic) классам.

В качестве формализма определения дескрипций концептов будем использовать дескрипционную логику SHOXM, которая лежит в основе языка веб-онтологий OWL DL. Сначала опишем подробнее используемые формальные модели.

Дескрипционные логики (ДЛ) [18] представляют собой набор формализмов для описания дескрипций концептов — операций, позволяющих описывать более сложные концепты на основе более простых, т. е. концептуальные зависимости. Отдельные типы дескрипций называются конструкторами концептов. Существуют различные разновидности ДЛ, отличающиеся набором используемых конструкторов концептов. От набора используемых конструкторов зависит выразительность языка дескрипций, а также наличие свойства разрешимости. Разрешимость определенных ДЛ означает вычислимость отношений на концептах, основные из которых описаны ниже.

Формальная семантика дескрипций концептов в ДЛ задается путем построения функции интерпретации, которая ставит в соответствие каждой дескрипции концепта множество его экземпляров — т. е. экстенси-онал. При этом экстенсионалы являются подмножествами множества А, называемого областью интерпретации.

Помимо концептов в рассмотрение вводятся роли, которые понимаются как типы связей между объектами предметной области. Интерпретация ставит в соответствие каждой роли множество упорядоченных пар значений из А. Дескрипции в ДЛ строятся по следующей схеме: базовыми строительными блоками являются универсальный и пустой концепты, атомарные концепты и роли, а также индивиды; более сложные концепты и роли строятся из атомарных при помощи конструкторов концептов и ролей. В набор конструкторов концептов дескрипционной логики SH.OTN входят: универсальный концепт — Т; пустой концепт — і; отрицание концепта А; пересечение концептов — С п D; объединение концептов — СuD; экзистенциальное ограничение роли — 3R.C; универсальное ограничение роли — VR.C; ограничения численности — nR.C, где є { , }. Универсальный и пустой концепт, обозначаемые Тиі, описывают, соответственно, любую сущность, и пустую, т. е. несуществующую («невозможную») сущность. Интерпретация других атомарных концептов должны отдельно фиксироваться для каждой предметной области в виде некоторого подмножества значений из Л. Интерпретации конструкторов концептов приведены в табл. 2.1. ДЛ SHOXM является формальной основой языка веб-онтологий OWL DL. Каждому виду конструкторов данной ДЛ соответствует определенный вид классов OWL.

Разработка языка преобразования данных в формате RDF на основе семантических шаблонов

На основе разработанной библиотеки работы с перегруженными функциями был построен основанный на формате XML язык преобразования RDF-данных [94].

Общепринятым методом, применяемым для преобразования данных в формате XML в строку на каком-либо другом языке, является использование преобразований XSL (Extensible Stylesheet Language, Расширяемый язык таблиц стилей) [97]. Данные в формате RDF также могут быть представлены на языке XML, такой формат назван RDF/XML. Соответственно, к данным в формате RDF/XML можно применить XSL-преобразование, однако, такой подход не совсем корректен. Коренное отличие формата RDF от чистого XML заключается в том, что он позволяет описывать одни и те же данные по-разному. Другими словами, крайне сложно составить XML-схему, которая описывала бы все возможные представления одного и того же объекта в формате RDF/XML. Т. к. каждая таблица стилей XSL позволяет преобразовывать документы, соответствующие какой-либо конкретной XML-схеме, это делает применение XSL-преобразований крайне неэффективным при обработке RDF-данных в общем случае. Применение XSL-преобразований целесообразно только в частных случаях: например, тогда, когда преобразуются данные, структура представления которых в формате RDF/XML заранее известна.

Таким образом, требуется создание специализированного языка обработки RDF-данных, учитывающего не синтаксическое строение документа, как это происходит в XSL, а семантику данных. XSL, как и другое популярное средство преобразования XML-данных, язык XQuery, по своей сути являются функциональными языками. Таблица стилей XSL представляет собой набор шаблонов, каждый из которых может быть применен к некоторому XML-элементу и генерирует результат преобразования этого элемента. При этом в теле шаблона могут вызываться другие шаблоны.

Вызов шаблона происходит либо по его имени, либо с помощью сравнения элементов с выражением match в шаблоне. Атрибут шаблона match содержит выражение на языке XPath, которое должно соответствовать XML-элементу, чтобы для него был вызван данный шаблон. При вызове шаблонов на основе их атрибута match происходит перебор некоторого множества узлов XML и, если выражение match одного из шаблонов соответствует просматриваемому узлу, данный шаблон вызывается для данного узла.

Сегодня существует ряд систем для обработки информации в формате RDF [13,98]. Существуют и системы, представляющие собой адаптацию подхода XSLT к RDF [12,99,100]. Однако, в них практически не используются возможности рассуждений на онтологиях. Часто вообще не используется язык OWL, только RDF.

Преобразование RDF-данных может быть построено по тому же принципу, что и язык XSL. Оно может быть определено в виде набора шаблонов, представляющих собой кортежи {concept, execute), где concept — концепт, определяющий класс объектов, к которым применим данный шаблон, execute — функция, проводящая преобразование, соответствующее данному шаблону. Такая шаблонная система может быть представлена в виде перегруженной функции, а ее шаблоны — в виде реализаций данной функции. В этом случае для вычисления результата преобразования может использоваться разработанная библиотека представления перегруженных функций.

Схема XML-языка шаблонов приведена на рис 3.6. Система шаблонов строится из корректного XML документа с корневым элементом templates. Причем каждому тегу template ставится в соответствие шаблон шаблонной системы с компонентой concept, равной классу онтологии, относительный URI которого содержится в атрибуте class. Компонент execute строится по следующему правилу — это функция, которая принимает на вход индивида класса concept и возвращает строку, построенную по содержимому тега template следующим образом: 1. Вместо тега property-value подставляется значение свойства, относительный URI которого указан в атрибуте prop, если это свойство связано с классом concept. 2. Содержимое тега for-each повторяется столько раз, сколько значений для индивида имеет свойство, относительный URI которой указан в свойстве prop, и заключается в тег, указанный в атрибуте tag. Внутри тега f or-each тег value заменяется текущим значением, а тег counter — номером этого значения. 3. Для тега getemplate подставляется результат применения шаблонной системы к индивиду, являющемуся значением объектного свойства, относительный URI которого указан в атрибуте prop, помещенный в тег, указанный в атрибуте tag. 4. Все прочее содержимое копируется без изменения. Важной особенностью разработанного механизма семантических шаблонов является возможность валидации шаблонов. Валидация понимается как проверка того, что в теле шаблона используются только те свойства, которые есть у класса, соответствующего этому шаблону. В процессе валидации шаблоны применяются к специальным объектам-заглушкам соответствующих классов. При обращении к свойству Р заглушки для класса С генерируется ошибка при невыполнении условия СЕ ЭР.Т. Таким образом, если запуск шаблонов для соответствующих заглушек прошел без ошибок, это дает гарантию, что при выполнении преобразования не возникнет ситуаций обращения к несуществующим свойствам индивидов: если индивид является экземпляром соответствующего шаблону концепта, он должен иметь все необходимые свойства. Разработанный язык позволил применить предложенный подход перегруженных функций к решению задачи трансформации данных в формате RDF и использован при реализации интерфейса внедренных систем. Наряду с верификацией перегруженных функций, валидация шаблонных систем позволяет снизить число ошибок при преобразовании данных с использованием предложенного подхода. Для обеспечения возможности экспериментальной проверки разработанных в ходе исследования моделей и алгоритмов проведена их программная реализация. В ходе исследования проведен выбор технологических средств построения системы. В качестве языка реализации выбран язык Scala. Выбор обусловлен предоставляемыми данным языком средствами функционального программирования, что упрощает реализацию разработанной аппли-кативной модели, а также интероперабельностью между языком Scala и платформой Java. Проведена реализация аппликативной модели концептов и ролей, позволяющая проводить классификацию объектов первого класса среды Java. При проведении классификации отношения между концептами могут вычисляться с использованием логического вывода. Разработанная библиотека предоставляет компактный синтаксис для работы с данными в формате RDF и OWL.

Веб-онтология предметной области

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

определения списка допустимых URL для запросов пользователя;

построения структуры интерфейса системы, например, меню; многоуровневое меню строится на основе иерархии вложенности под-концептов для SwaResource.

Наряду с выделением из предметной области концептов, которые непосредственно должны восприниматься как ресурсы, необходимо выделить свойства ресурсов, которые должны отображаться пользователю. Для этого аналогичным образом используется механизм наследования свойств: все свойства наследуются от свойства SwaProperty.

По методу хранения ресурсы разделяются на две группы: «хранимые» ресурсы и «виртуальные» ресурсы. Хранимые ресурсы непосредственно соответствуют объектам, хранимым в БД, либо в каком-либо внешнем хранилище. Их можно создавать или изменять. Метаданные классов хранимых ресурсов должны определять место хранения экземпляров, например, строку подключения к БД и имя таблицы, либо URL внешней информационной службы. Виртуальные ресурсы предназначены только для чтения; они могут вообще не соответствовать объектам, хранимым в БД, а, например, представлять какую-либо статистическую или динамическую информацию о БД системы. Соответственно, виртуальные ресурсы нельзя создавать, удалять, либо изменять, их данные изменяются при изменении других ресурсов в системе. Рассмотрим набор действий, которые должны поддерживаться ресурсами информационной системы. Возьмем за основу набор действий, определенных в протоколе HTTP. Описание этих действий приводится в табл. 4.2.

Как можно заметить, действия сильно отличаются друг от друга по степени воздействия на информационную систему. По этому аспекту все действия можно разделять на следующие группы: действия, предназначенные для внесения изменений в БД системы, сюда относятся действия create, update и destroy; действия, предназначенные для получения данных из БД, сюда относятся index, show, edit; действия, использующие только метаданные ресурсов, сюда можно отнести действие new, которое использует метаданные класса создаваемого объекта для построения формы, но при этом чаще всего не происходит обращения к БД. Действия различных групп отличаются по типу возвращаемого значения. Действия, вносящие изменения в БД, могут окончиться неудачей, если переданные данные не соответствуют ограничениям системы. Действия, считывающие данные из БД, либо возвращают считанные данные, либо сообщают о том, что данные, соответствующие запросу, не найдены в БД. Используемые системы перегруженных функций объединены в отдельные компоненты: SwaSearch — компонент, объединяющий функции, необходимые для создания поискового интерфейса и осуществления поиска; SwaCrud — реализует функции работы с данными — операции «CRUD» (Create, Read, Update, Delete). Компонент SwaBase является базовым для остальных. В нем создаются объекты, необходимые для работы остальных компонентов, такие как RDF-модель, в которой создаются все RDF-описания. Приведем отдельный пример использования перегруженных функций в системе: листинг 4.1 содержит фрагмент веб-онтологии предметной области, а листинг 4.2 — реализацию перегруженной функции, использующей концепты описанной онтологии. Приведенные функции соответствуют рассмотренным ранее в п. 2.2.3. занные с рубрикой Рубрикатора ВИНИТИ «271.17». Указание рубрики в РВИНИТИ дает возможность осуществления поиска в локальной БД ВИНИТИ. Однако, обращение к СКС расширяет заданное пользователем описание концепта эквивалентной рубрикой классификатора MSC, что, в частности, дает возможность поиска в БД Zentralblatt. Система получает информацию о доступных для поиска по данному запросу базам данных благодаря присутствующим в модели предметной области концептам метаданных LocalDbResource и ZentralblattResource. Эти метаданные используются при обработке запроса при помощи перегруженных функций поиска и загрузки документов, которые осуществля 116 ют обращения к источникам данных и формируют промежуточное представление данных в формате RDF. Затем при помощи шаблонов форматирования составляется результирующий HTML-документ со списком результатов, который возвращается пользователю. Данный пример позволяет проиллюстрировать возможности настройки системы: последовательность выполняемый действий полностью зависит от концептуальной модели предметной области, и использует содержащиеся в ней метаданные. 4.4. Оценка эффективности внедрения веб-приложений на основе концептуальной модели предметной области Возможность настройки системы на концептуальную модель предметной области снижает объем перепрограммирования имеющихся прикладных программ, а также их зависимость от схемы данных. Таким образом снижаются трудозатраты на модернизацию системы: для внесения в систему многих изменений не требуется вмешательство программиста, требуется только труд специалиста по предметной области. Для оценки эффективности использования подхода к разработке веб-ориентированных приложений, представленного в диссертации, был проведен анализ изменений ЭК НТИ и СКС за последние 5 лет (см. рис. 4.12). В результате анализа были выделены следующие виды изменений: 1) изменение функционала; 2) добавление однотипных сущностей; 3) добавление новых свойств сущностей; 4) добавление связей между сущностями; 5) изменение интерфейса. Был оценен объем трудозатрат, необходимых для внесения изменений рассматриваемых видов в предыдущую версию ЭК НТИ и в новое приложение, основанное на веб-онтологии предметной области (см. рис. 4.126). Данное сравнение показывает, что внедрение предложенного подхода позволяет снизить трудозатраты при внесении изменений в систему, что способствует повышению эффективности процесса обработки данных в целом.

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

В данной главе описана реализация каталога научно-технической литературы, проведенная для ВИНИТИ РАН. Использование технологий семантического веба позволило провести интеграцию с унаследованными приложениями на уровне семантики.

Похожие диссертации на Модели и методы аппликативного моделирования концептуальных зависимостей