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

кандидата технических наук
Шапкин, Павел Александрович
город
Москва
год
2010
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Модели и методы аппликативного моделирования концептуальных зависимостей»

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



На правах рукописи

4843256

Шапкин Павел Александрович

МОДЕЛИ И МЕТОДЫ АПГ1ЛИКАТИВНОГО МОДЕЛИРОВАНИЯ КОНЦЕПТУАЛЬНЫХ ЗАВИСИМОСТЕЙ

Специальность 05.13.11 — математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат диссертации на соискание ученой степени кандидата технических наук

Автор:

Москва — 2010

4843256

Работа выполнена в Национальном исследовательском ядерном университете «МИФИ».

Научный руководитель:

доктор технических наук, профессор Вольфенгаген Вячеслав Эрнстович

Официальные оппоненты:

доктор технических наук, профессор Петров Андрей Евгеньевич

кандидат технических наук Четвериков Василий Николаевич

Ведущая организация:

Учреждение Российской академии наук Институт системного анализа РАН (ИСА РАН)

Защита состоится "16" февраля 2011 г. в 15часов на заседании диссертационного совета Д 212.130.03 при Национальном исследовательском ядерном университете «МИФИ» по адресу: 115409, г. Москва, Каширское ш., 31.

С диссертацией можно ознакомиться в библиотеке НИ-ЯУ МИФИ.

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

Автореферат разослан суьхе^уа-- г.

Ученый секретарь

диссертационного совета

Леонова Н. М.

Общая характеристика работы

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

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

Основное содержание работы

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

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

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

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

Язык описания веб-онтологий OWL DL имеет в своей основе формальную систему описания концептов — дескрипционную логику (ДЛ) ST-LOXM, основная особенность которой заключается в вычислимости вложенности концептов, что позволяет выводить не указанные в явном виде зависимости между концептами ПрОбл. Анализ доступных сегодня средств разработки программных систем с использованием веб-онтологий показал, что только часть из них позволяет использовать возможности вычисления концептуальных зависимостей, и при этом теряются возможности языка программирования, такие как статическая типизация.

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

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

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

В качестве языка дескрипций концептов использована ДЛ SHÖXÄf. В качестве аппликативной вычислительной среды было выбрано лямбда-исчисление второго порядка с подтипизацией (система F<:), моделирующее такие особенности обьектно-ориеитированных языков программирования, как наследование и обобщенные (generic) функции. Система F<: была расширена типами-пересечениями и конструкцией case для проверки типов во время выполнения. В системе F<; при помощи кодирования по Черчу были определены значения истинности tru и fis, операции над ними, а также конструкции списков с соответствующими операциями.

Погружение языка дескрипций концептов в систему F<: проведено путем построения двух отображений:

• type, ставящего в соответствие каждой дескрипции концепта С тип системы F<:;

• inte, ставящего в соответствие каждой дескрипции концепта С терм системы F<:, который соответствует функции интенсионала и имеет тип type —► Bool.

Функция интенсионала рассматривается как функция принадлежности индивидов концептам: индивид г считается экземпляром концепта С т. и т. т., когда выполняется условие intc(¿) tru. За счет использования типов достигается возможность частичного вычисления принадлежности индивидов концептам при помощи типизации: если выражение int с (г) не имеет типа, то индивид г не является экземпляром концепта С.

Аналогичным образом проведено погружение дескрипций ролей — бинарных отношений между индивидами: отображения domTypji и codTypa ставят в соответствие роли R типы областей определения и значений, intn — ее интенси-онал.

Значения функций typ и int для различных дескрипций концептов приведены в табл. 1. Построенное отображение составляет модель ДЛ SHÖTN в системе F<:, т. к. сохраняет условия принадлежности индивидов концептам, эквивалентные интерпретациям концептов в ДЛ. Из вычислимости отношений в ДЛ SHÖ1M следует вычислимость отношений, и, в частности, вложенности, для построенной аппликативной модели концептов.

Табл. 1: Отображение концептов ДЛ SHOlM на типы и термы F<:

Дескрипция typ int

T Top \x : Top.true

± Top \x : Top.false

-hC Top \x : Top.case[typA](-^intA(x))true

CnD type П typD Xx : (type П typD).(intc(x)) A (intD(x))

Аж : Top.case[typc П typo]

CUD Top (intc[x)) VintD(x))

(case [type] (int с {x))

(case [type] (intc (x)))fls)

3R.C domTypR Xx : domTijpR.exists into (intn(x))

VR.C domTypn Xx : domTypn.fora.il intc (intn(x))

> nR.C domTypn, Xx : dom,TypR.existsn into (intn(x))

Перегруженные функции представлены термами типа ОТ {Tin, TOut), где Tin — тип области определения, TOut — тип области значений. Рассмотрены перегруженные функции двух типов: первый тип — индивидуальные, принимающие на вход индивиды, второй — концептуальные, принимающие на вход концепты. Каждой перегруженной функции соответствует список ее реализаций, или методов, представляющих собой пару из концепта и функции-тела метода.

Определение 1 Пусть Cs — множество концептов, связанных с реализациями некоторой перегруженной функции. Данная функция называется правильно сформированной, если Cs U {_L} является нижней полурешеткой — множеством концептов, в которое включены все пересечения его элементов.

Определение 2 Глубиной концепта т в наборе концептов Т называется значение функции depth(r, Т), вычисляемой следующим образом:

1) если $С € Т.т С С, mo depth(r,T) = 0;

2) если 3Cs.Cs С TA(Vc € Cs.t С с), то depth(r, Т) = maxceCa(depth(c, Т))+1.

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

choose{i,T) = maxxt.depth(t,T){t\i G concept{t) Ate m.ethod.s(T)}.

10

Однозначность диспетчеризации при использовании данной функции показана путем доказательства теоремы 1.

Теорема 1 Если в правильно сформированной перегруженной функции F для индивида г для реализации г выполняется условие г = choose(i, F), то:

1) данная реализация единственна;

2) данная реализация является наиболее специфичной для индивида г, т. е. не существует реализации, концепт которой более специфичен для i, чей у т, и при этом содержит i:

Mr' 6 mcthods(F).i € c.onœpt(r') т С conccpt(r) Vr' = r,

В третьей главе описывается разработка программных инструментов для определения в среде Java концептов и функций, перегруженных на основе концептов. Кроме того, описан реализованный язык преобразования данных в формате RDF (Resource Description Framework, формат данных семантического Веба) на основе шаблонов.

В качестве языка реализации выбран язык Scala. Типизация в Scala основана на использованной в данной работе системе F<: с типами-пересечениями. Наличие интероперабельности между языком Scala и платформой Java позволяет использовать имеющиеся средства вычислений в ДЛ, такие как Pellet.

Проведена реализация алпликативной модели концептов и ролей, позволяющая осуществлять классификацию объектов среды Java (рис. 1). Разработанная библиотека (Concepts.jar) предоставляет компактный синтаксис для работы с данными в формате RDF и OWL. При проведении классификации вложенность концептов вычисляется с использованием логического вывода в ДЛ, осуществляемого библиотекой Pellet. Для доступа к Pellet, а также анализа RDF и OWL документов используется библиотека Jena.

Разработанный программный инструментарий включает реализацию алгоритмов диспетчеризации и верификации перегруженных функций, т. е. проверки их правильной сформированное™. На основе реализованных средств работы с перегруженными функциями разработан язык преобразования данных в формате RDF с использованием веб-онтологий в формате OWL. Основу языка составляют системы шаблонов, схожие с таблицами стилей XSL (Extensible Stylesheet Language, Расширяемый язык таблиц стилей), применяемыми для преобразования данных в формате XML. При интерпретации шаблоны в разработанном языке понимаются как реализации перегруженных функций. В дополнение к верифи-

Т\

онтология

КОР докумет

Рис. 1: Взаимодействие библиотек Онкч'рК^аг. ^па.^аг и среды 5са1а

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

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

ЭК-НТИ предоставляет доступ через веб-интерфейс к массивам данных ВИНИТИ, накапливающим большие обьемы сведений о разнообразных объектах, вовлеченных в сферу научио-технической информации. ПрОбл характеризуется большим числом разнородных объектов (более 6 млн.) и связей между ними (более 14 млн.), а также устойчивой тенденцией к расширению по мере появления новых источников информации.

Семантическая характеристика объектов (тематика литературы или научных мероприятий, профили организаций и т. п.) формализуется через указание рубрик различных классификаторов, таких как Универсальная десятичная классификация, Государственный классификатор НТИ России и др. Доступ к иерархиям рубрик классификаторов осуществляется через Систему классификационных схем (СКС). СКС ВИНИТИ поддерживает доступ к отображениям рубрик меж-

ду различными классификационными схемами, что позволяет автоматизировать перевод тематического описания документов на языки различных классификационных схем. В настоящее время в СКС представлено 15 классификаторов с суммарным количеством рубрик 275 270 шт.

ПрОбл каталога научной литературы представлена в виде веб-онтологии на языке OWL. Разработанная программная система имеет возможность настройки на ПрОбл благодаря набору предопределенных концептов: концепты ПрОбл должны быть связаны с этими внутрисистемными концептами для того, чтобы система могла их верно интерпретировать. Данные от СКС получаются в формате RDF. Данные из внутренних и внешних по отношению к ВИНИТИ документальных баз данных получаются в различных форматах, однако для внутреннего представления данных в системе используется формат RDF. Функционал системы описывается перегруженными функциями, при построении интерфейса используются шаблоны, преобразующие RDF-представление данных в код HTML-страниц, возвращаемых пользователям.

Пример обработки запроса в ЭК-НТИ приведен на рис. 2. Запрос пользователя содержит идентификатор действия — получение списка экземпляров (index), и концепт — журнальные статьи, связанные с рубрикой Рубрикатора ВИНИТИ «271.17». При обработке запроса проводится обращение к различным источникам данных: системе классификационных схем, локальной базе данных (БД) ВИНИТИ и к внешней БД международного центра Zentralblatt. Использование СКС расширяет заданное пользователем описание концепта, давая возможность поиска во внешней БД. Процесс обработки запроса управляется концептуальной моделью ПрОбл, с концептами которой связаны реализации используемых при обработке запроса перегруженных функций. Составление HTML-ответа на запрос проводится с использованием XML-шаблонов преобразования RDF-данных.

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

Запрос

действие: index концепт: JournalArticIc п h.isHabrif..{/il'" .т .17}

J JournalArticle

LocalDbReaource ih:!SRubi-<'c RVRufcric

ZentraiblaURescurce BfiSSRubric.MSCR-Jbric

3tiasRubrlc.(ffl'.??/. fi)

Dhasliub.-»; (ЯК. т. IT) 5 ilmsfiubric.!.i»'e MW]

Рис. 2: Пример обработки запроса в ЭК-НТИ

концептуальной модели; при этом не требуется вмешательство программиста, требуется только труд специалиста по ПрОбл.

Для оценки эффективности использования метода разработки веб-ориентированных приложений, представленного в диссертации, был проведен анализ изменений ЭК НТИ и СКС. Производимые изменения были разделены на следующие виды: изменение функционала, добавление однотипных сущностей, добавление новых свойств сущностей, добавление связей между сущностями, изменение интерфейса. Была собрана статистика изменений ЭК НТИ и СКС за последние 5 лет. Был оценен объем трудозатрат, необходимых для внесения изменений рассматриваемых видов в предыдущую версию ЭК НТИ и в новое приложение, основанное на веб-онтологии ПрОбл. Сравнение показывает, что внедрение предложенного инструментария позволяет почти в два раза снизить трудозатраты при внесении изменений в систему, что способствует повышению эффективности процесса обработки данных в целом.

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

Основные результаты и выводы

В представленном исследовании решена задача разработки моделей и методов аппликативного моделирования концептуальных зависимостей. В результате работы:

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

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

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

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

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

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

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

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

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

Основное содержание диссертационной работы изложено и следующих публикациях:

1. Шапкин П. А. Применение технологий ASP.NET и Семантического Интернета для обеспечения доступа к системе классификационных схем // Научно-техническая информация, серия 2. — 2006. — № 5. — С. 20-26.

2. Shapkin P. A. Explicit Substitutions Calculi // Proceedings of CSIT'2005. Vol. 1.

- Ufa, 2005. - P. 57-62.

3. Shapkin P., Shapkin A. Software tools for navigation in document databases. Developing of Information Navigation Service Based on Classification Schemes // Proceedings of the Third International Conference on Web Information Systems and Technologies (WebIST2007). Vol. "Web Interlaces and Applications" (WIA).

- INSTJCC Press, 2007. - P. 455-458.

4. Shapkin P. A. Web Service for Accessing Classification Scheme Mappings // Proceedings of CSIT'2007. Vol. 1. - Ufa, 2007. - P. 105-109.

5. Залаев Г. 3., Меркулов В. Н., Шапкин П. А. Подход к построению АИПС с цифровыми копиями фотодокументов // Сб. трудов конференции «Научно-техническая информация 2007». - М.: ВИНИТИ, 2007. - С. 248-249.

6. Шапкин П. А. Поиск документов в разнородных источниках на основе системы классификационных схем // Науч. сессия МИФИ-2008. Сб. науч. трудов. Т. 3 - М.: МИФИ, 2008. - С. 120-121.

7. Шапкин П. А. Описание Web-приложений с использованием аппликативного подхода // Труды конференции по аппликативным вычислительным системам (АВС'2008) - Москва, 2008. - С. 20-21.

8. Shapkin P. A. Potential of Using Ontologies as Models for Web Application Development // Proceedings of the Workshop on Computer Science and Information Technologies (CSIT'2008). Vol. 2. - Ufa, 2008. - P. 249-252.

9. Шапкин П. А. Разработка службы доступа к системе классификационных схем на основе формальной модели связанных понятий. — М., 2009. — 60 е., ил. - Деп. в ВИНИТИ РАН 28.09.09, № 575-В2009.

10. Шапкин П. А. Использование онтологии при разработке веб-приложений, настраиваемых на предметную область. // Информационные технологии и вычислительные системы. — 2009. — № 2. — С. 44-50.

11. Shapkin P. A. Developing Web Information Systems On the Basis of Domain Ontology // Proceedings of the Workshop on Computer Science and Information Technologies (CSIT'2009). Vol. 1. - Crete, Greece, 2009. - Pp. 120-123.

12. Шапкин П. А. Разработка веб-приложений на основе онтологии и семантических шаблонов // XIII Международная телекоммуникационная конференция студентов и молодых ученых «Молодежь и наука». Тезисы докладов. Ч. 2. — М.: НИЯУ МИФИ, 2010 - С. 28-29.

13. Шапкин П.А. Модели и методы разработки Веб-приложений на основе онтологии предметной области // Информационные технологии. — М.: Новые технологии, 2010. - № 2. - С. 13-18.

14. Шумский Л. Д., Шапкин П. А. Преобразование данных в формате RDF на основе веб-онтологий // Аппликативные вычислительные системы: Труды 2-й международной конференции по аппликативным вычислительным системам (ABC'2010) / Под ред. В. Э. Вольфенгагена. — М.: НОУ Институт Актуального образования «ЮрИнфоР-МГУ», 2010. - С. 195-204.

15. Шапкин П. А. Вычисления с концептами в апгшикативном языке программирования. // Аппликативные вычислительные системы: Труды 2-й международной конференции по аппликативным вычислительным системам (АВС'2010) / Под ред. В. Э. Вольфенгагена. — М.: НОУ Институт Актуального образования «ЮрИнфоР-МГУ», 2010. - С. 205-213.

Подписано в печать 27.12.2010. Заказ № 357. Тираж 100 экз. Типография НИЯУ МИФИ. 115409, г. Москва, Каширское ш., 31

Оглавление автор диссертации — кандидата технических наук Шапкин, Павел Александрович

Введение

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

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

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

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

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

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

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

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

1.4. Постановка задачи разработки среды создания настраивае

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

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

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

При разработке программных систем на базе веб-онтологий определенные трудности обусловливаются тем, что языки их описания, такие как 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. Berners-Lee, Т. The semantic web / Т. Berners-Lee, J. Hendler,

2. Lassila // Scientific American. — 2001. — Vol. 284. — Pp. 28-37.

3. Semantic Web: роли XML и RDF // Открытые системы. — 2001.— № 9. http://www.osp.ru/os/2001/09/180411/.

4. OWL, язык веб-онтологий. Руководство. Рекомендация W3C 10 февраля 2004. http://sherdim.rsu.ru/pts/semanticweb/ REC-owl-guide-2 0 040210ru.html.

5. RDFS как основа среды разработки цифровых библиотек и web-порталов / А. А. Бездушный, А. Н. Бездушный, А. К. Нестеренко и др. // Электронные библиотеки. — 2003. — Т. 6, № 3.

6. Boley, Н. Design rationale of RuleML: a markup language for semantic web rules / H. Boley, S. Tabet, G. Wagner // International Semantic Web Working Symposium (SWWS). 2001. - Pp. 381-402.

7. Brickley, D. FOAF vocabulary specification 0.91 / D. Brickley, L. Miller // Namespace document, FOAF Project. — 2007. http: //xmlns . com/ foaf/0.1.

8. SWRL: a semantic web rule language combining OWL and RuleML /

9. Horrocks, P. F. Patel-Schneider, H. Boley et al. // W3C Member submission.— 2004. — Vol. 21.

10. SPARQL query language for RDF 11 W3C Recommendation 15 January 2008. http://www.w3.org/TR/2008/ REC-rdf-sparql-query-20080115/.

11. Seaborne, A. SPARQL/Update: A language for updating RDF graphs, technical report. — 2007.

12. Broekstra, J. Sesame: A generic architecture for storing and querying RDF and RDF Schema / J. Broekstra, A. Kampman, F. Van Harmelen // The Semantic Web (ISWC 2002). 2002. - Pp. 54-68.

13. Ciancarini, P. Towards ontology driven software design / P. Ciancarini, V. Presutti // Proc. 8th Monterey Workshops: Radical Innovations of Software and Systems Engineering in the Future. — Pp. 158-168.

14. Davis, I. RDF template language 1.0. Specification Draft. — 2003. http : //www.semanticplanet.com/2003/08/rdft/spec.

15. Survey over existing query and transformation languages. / T. Furche, F. Bry, S. Schaffert et al. II REWERSE. 2004.

16. Goldman, N. M. Ontology-oriented programming: Static typing for the inconsistent programmer / N. M. Goldman // Lecture Notes on Computer Science, The Semantic Web, ISWC.- 2003,— Pp. 850-865.

17. The Protégé OWL plugin: An open development environment for semantic web applications / H. Knublauch, R. Fergerson, N. Noy, M. Musen // Lecture notes in computer science. — 2004. — Pp. 229-243.

18. Tudorache, T. Web-Protégé: A Lightweight OWL Ontology Editor for the Web / T. Tudorache, J. Vendetti, N. Noy // 5th OWL Experiences and Directions Workshop (OWLED 2008). 2008.

19. Abadi, M. A theory of objects / M. Abadi, L. Cardelli. — Springer Berlin, 1996.

20. The Description Logic Handbook: Theory, Implementation, and Applications / F. Baader, D. Calvanese, D. McGuinness et al. — Cambridge University Press, 2007. — 622 pp.

21. Extending UML to Support Ontology Engineering for the Semantic Web / K. Baclawski, M. Kokar, P. Kogut et al. II Lecture Notes in Computer Science. 2001. - Vol. 2185. - Pp. 342-360.

22. Codd, E. F. Extending the database relational model to capture more meaning / E. F. Codd // ACM Transactions on Database Systems (TODS). 1979. - Vol. 4, no. 4. - Pp. 397-434.

23. Ceri, S. Web modeling language (webml): a modeling language for designing web sites / S. Ceri, P. Fraternali, A. Bongio // Computer Мг/worfa. 2000. - Vol. 33.-Pp. 137-157.

24. Conallen, J. Building Web Applications With UML / J. Conallen.— Addison-Wesley Professional, 2002.

25. Ganter, В. Formal concept analysis / B. Ganter, R. Wille, R. Wille.— Springer Berlin, 1999.

26. Gruber, Т. R. A translation approach to portable ontology specifications / T. R. Gruber et al. // Knowledge acquisition. — 1993. — Vol. 5. — Pp. 199199.

27. Lenat, D. The CycL representation language / D. Lenat, R. Guha, D. Wallace // MCC technival report N ACA-AI-302-88. 1988.

28. Шенк, P. Обработка концептуальной информации / P. Шенк // M: Энергия. — 1980.

29. Schild, К. A correspondence theory for terminological logics: Preliminary report / K. Schild // Proc. of IJCAI. Vol. 91. - 1991. - Pp. 466-471.

30. Taivalsaari, A. On the notion of inheritance / A. Taivalsaari // ACM Computing Surveys (CSUR). 1996. - Vol. 28, no. 3. - Pp. 438-479.

31. Леоненков, А. Самоучитель UML / А. Леоненков. — БХВ-Петербург СПб., 2001.

32. Волъфенгаген, В. Аппликативные вычислительные системы и концептуальный метод проектирования систем знаний / В. Вольфенга-ген, В. Яцук // М: МО СССР. 1987.

33. Wolfengagen, V. Е. Logic, individuals and concepts / V. E. Wolfengagen // Proceedings of the 2nd International Workshop on Computer Science and Information Technologies CSIT'2000 Ufa, Russia, 2000. 2000.

34. CLASSIC: A structural data model for objects / A. Borgida, R. Brachman, D. McGuinness, L. Resnick // Proceedings of the 1989 ACM SIGMOD international conference on Management of data / ACM. — 1989. — Pp. 58-67.

35. KL-ONE reference manual / R. Brachman, E. Ciccarelli, N. Greenfeld, M. Yonke // BBN Report, Cambridge, Mass. — 1981.

36. Fïkes, R. A representation system user interface for Knowledge Base designers / R. Fikes // AI Magazine. 1982. - Vol. 3, no. 4. — P. 28.

37. Haarslev, V. RACER system description / V. Haarslev, R. Moller // Lecture Notes in Computer Science. — 2001.— Pp. 701-706.

38. Horrocks, I. The FaCT system /1. Horrocks // Automated Reasoning with Analytic Tableaux and Related Methods. — 1998.— Pp. 307-312.

39. Lipids, T. A KL-One Classfier / T. Lipkis // Proceedings of the 1981 KL-ONE Workshop.- 1982.-Pp. 128-145.

40. MacGregor, R. The LOOM knowledge representation language. — 1987.

41. Sirin, E. Pellet: An OWL DL Reasoner / E. Sirin, B. Parsia // 2004 International Workshop on Description Logics. — 2004. — P. 212.

42. CubicWeb Semantic Web Framework, http : //www. cubicweb. org.

43. McBride, B. Jena: Implementing the RDF Model and Syntax Specification / B. McBride // Proc. of the 2001 Semantic Web Workshop. — 2001.

44. Шапкин, П. А. Применение технологий ASP.NET и Семантического Интернета для обеспечения доступа к системе классификационных схем / П. А. Шапкин // Научно-техническая информация. Сер. 2. — 2006. № 5. - С. 20-26.

45. Shapkin, P. A. Potential of Using Ontologies as Models for Web Application Development / P. A. Shapkin // Proceedings of the Workshop on Computer Science and Information Technologies (CSIT'2008).— 2008. Vol. 2. - Pp. 249-252.

46. Шапкин, П. А. Описание web-приложений с использованием аппли-кативного подхода / П. А. Шапкин // Труды конференции по аппли-кативным вычислительным системам (АВС'2008). — М.: ЮрИнфоР, 2008.-С. 20-21.

47. Shapkin, P. Developing web information systems on the basis of domain ontology / P. Shapkin // Proceedings of the Workshop on Computer Science and Information Technologies (CSIT'2009). Vol. 1.— Crete, Greece: 2009.-Pp. 120-123.

48. Тыугу, Э. X. Концептуальное программирование / Э. X. Тыугу. — Наука. Гл. ред. физ.-мат. лит., 1984.

49. Pedersen, C. Extending ordinary inheritance schemes to include generalization / C. Pedersen // OOPSLA'89 Conference Proceedings.— 1989.-Pp. 407-417.

50. Hindley, J. R. Basic simple type theory / J. R. Hindley. — Cambridge Univ. Pr., 1997.

51. Gantz, J. F The expanding digital universe: A forecast of worldwide information growth through 2010.— 2007.

52. Kifer, M. Logical foundations of object-oriented and frame-based languages / M. Kifer, G. Lausen, J. Wu 11 Journal of the ACM. — 1995. — Vol. 42, no. 4.- Pp. 741-843.

53. Gordon, M. J. C. Operational reasoning and denotational semantics.: Tech. rep. / M. J. C. Gordon: Stanford University, 1975.

54. Hoare, C. A. R. An axiomatic basis for computer programming / C. A. R. Hoare // Communications of the ACM.— 1969.— Vol. 12, no. 10.-Pp. 576-580.

55. Grâdel, E. On logics with two variables / E. Grâdel, M. Otto // Theoretical computer science. — 1999. — Vol. 224, no. 1-2. — Pp. 73-113.

56. A comparative study of language support for generic programming / R. Garcia, J. Jarvi, A. Lumsdaine et al. // ACM SIGPLAN Notices. — 2003.-Vol. 38, no. 11.-Pp. 115-134.

57. Concepts: linguistic support for generic programming in С++ / D. Gregor, J. Jarvi, J. Siek et al. // Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications. 2006. - Pp. 291-310.

58. Haskell 98 / S. Jones, J. Hughes, L. Augustsson et al. II Journal of Functional Programming. — 2003. — Vol. 13, no. 1. — Pp. 0-255.

59. Type classes in haskell / С. V. Hall, K. Hammond, S. L. P. Jones, P. L. Wadler // ACM Transactions on Programming Languages and Systems (TOPLAS).- 1996.- Vol. 18, no. 2,- Pp. 109-138.

60. Remy, D. Using, understanding, and unraveling the OCaml language, from practice to theory and vice versa / D. Remy // Applied Semantics, Advanced Lectures. 2002. - Vol. 2395. - Pp. 413-537.

61. Lowy, J. An Introduction to C# Generics / J. Lowy // Visual Studio 2005 Technical Articles. — 2005. http: //msdn .microsoft. com/ en-us/library/ms379564.aspx.

62. Bracha, G. Generics in the Java programming language / G. Bracha // Tutorial, Sun Microsystems, Mar. — 2004.

63. Вандевурд, Д. Шаблоны С++: справочник разработчика / Д. Ванде-вурд, Н. Джосаттис // М.: Издательский дом «Вильяме». — 2003.

64. Extensible markup language (XML) 1.0 / Т. Bray, J. Paoli, С. M. Sperberg-McQueen et al. // W3CRecommendation 6 October 2000. http://www.w3.org/TR/2000/REC-xml-20001006.

65. ГОСТ 7.25—2001. Система стандартов по информации, библиотечному и издательскому делу. Тезаурус информационно-поисковый одноязычный. Правила разработки, структура, состав и форма представления. — М.: Издательство стандартов, 2001. — 15 с.

66. Harth, A. On Searching and Displaying RDF Data from the Web / A. Harth, H. Gassert // Demo at ESWC. 2005.

67. Noy, N. Representing classes as property values on the semantic web / N. Noy et al. // W3C Working Draft. — 2004. http : / /www. w3 . org/ TR/swbp-classes-as-values/.

68. Beged-Dov, G. RDF Site Summary (RSS) 1.0.- 2008. http://web. resource.org/rss/1.0/spec.

69. Dublin core metadata for resource discovery / S. Weibel, J. Kunze, C. Lagoze, M. Wolf // Internet Engineering Task Force RFC. — 1998. — Vol. 2413.

70. Tabulator: Exploring and analyzing linked data on the semantic web / T. Berners-Lee, Y. Chen, L. Chilton et al. // Proceedings of the 3rd International Semantic Web User Interaction Workshop. — 2006.

71. Berners-Lee, T. Semantic Web-XML2000 / T. Berners-Lee // W3C Website. — 2000.

72. ActiveRDF: Object-oriented semantic web programming / E. Oren, R. Delbru, S. Gerke et al. // Proceedings of the 16th international conference on World Wide Web / ACM. 2007. - Pp. 817-824.

73. Smith, В. C. Procedural reflection in programming languages: Ph.D. thesis / Massachusetts Inst, of Technology. — 1982.

74. Chambers, C. Predicate classes / C. Chambers // Lecture Notes in Computer Science. — 1993. — Pp. 268-268.

75. Ernst, M. Predicate dispatching: A unified theory of dispatch / M. Ernst, C. Kaplan, C. Chambers // Lecture Notes in Computer Science. — 1998. — Vol. 1445.-Pp. 186-211.

76. Волъфенгаген, В. Э. Методы и средства вычислений с объектами. Аппликативные вычислительные системы / В. Э. Вольфенгаге?т. — М.: ЮрИнфоР, 2004. 787 pp.

77. Интероперабельные информационные системы: архитектуры и технологии / Д. Брюхов, В. Задорожный, JI. Калиниченко et al. // СУБД. 1995.-Vol. 4.

78. Chambers, С. Efficient multiple and predicated dispatching / C. Chambers, W. Chen // ACM SIGPLAN Notices.- 1999.- Vol. 34, no. 10.-Pp. 238-255.

79. Шапкин, П. А. Модели и методы разработки Веб-приложений на основе онтологии предметной области / П. А. Шапкин // Информационные технологии. — 2010. — № 2. — С. 13-18.

80. Scott, М. L. Programming language pragmatics / М. L. Scott. — Morgan Kaufmann, 2000.

81. An Extension of System F with Subtyping / L. Cardelli, S. Martini, J. Mitchell, A. Scedrov // Theoretical Aspects of Computer Software / Springer. 1991,- Pp. 750-770.

82. Pierce, В. C. Types and programming languages / В. C. Pierce. — The MIT Press, 2002.

83. Shapkin, P. Explicit substitutions calculi / P. Shapkin // Proceedings of CSIT'2005. Vol. 1,- Ufa: 2005.- Pp. 57-62.

84. Castagna, G. A calculus for overloaded functions with subtyping / G. Castagna // ACM Transactions on Programming Languages and Systems. 1995. - Vol. 17. - Pp. 431-447.

85. A core calculus for Scala type checking / V. Cremet, F. Garillot, S. Lenglet, M. Odersky // Lecture Notes in Computer Science. — 2006. — Vol. 4162.-P. 1.

86. Вольфенгаген, В. Э. Комбинаторная логика в программировании: Вычисления с объектами в примерах и задачах / В. Э. Вольфенгаген.— 3 изд. М.: Институт «ЮрИнфоР-МГУ», 2008. - Х+384 с.

87. Гретцер, Г. Общая теория решеток. — 1982.

88. Горбатов, В. А. Фундаментальные основы дискретной математики / В. А. Горбатов. 2000.

89. Castagna, G. Integration of Parametric and "ad hoc" Second Order Polymorphism in a Calculus with Subtyping / G. Castagna // Formal Aspects of Computing. 1996. - Vol. 8, no. 3. - Pp. 247-293.

90. An overview of the Scala programming language / M. Odersky, P. Altherr, V. Cremet et al. // LAMP-EPFL. 2004.

91. Michie, D. Memo functions and machine learning / D. Michie // Nature. — 1968.-Vol. 218, no. l.-Pp. 19-22.

92. Clark, J. XSL transformations (XSLT) version 1.0 / J. Clark et al. // W3C Recommendation 16 November 1999. http://www.w3.org/ TR/1999/REC-xslt-19991116.

93. Waterson, C. XUL template primer / C. Waterson // XULNotes.— 2008. http://www-archive.mozilla.org/docs/xul/ xulnotes/template-primer.html.

94. Рябова, PL. Развитие технологий semantic web: обработка RDF-графов на основе XSLT. http: //shcherbak. net/rdfxslttech/.

95. Kawamoto, K. Kawawiki: A semantic wiki based on RDF templates / K. Kawamoto, Y. Kitamura, Y. Tijerino // Proceedings of the 2006 IEEE/WIC/ACM international conference on Web Intelligence and Intelligent Agent Technology. — 2006. — Pp. 425-432.

96. Bergsten, H. JavaServer pages / H. Bergsten. — O'Reilly & Associates, Inc. Sebastopol, CA, USA, 2002.

97. Cavaness, C. Programming Jakarta Struts, 2nd Edition / C. Cavaness.— 2 edition. O'Reilly Media, Inc., 2004. — 550 pp.

98. Fielding, R. Principled design of the modern web architecture / R. Fielding, R. Taylor // ACM Trans. Inter. Tech. 2002. - Vol. 2. -Pp. 115-150.

99. Kleppe, A. MDA explained: the model driven architecture: practice and promise / A. Kleppe, J. Warmer, W. Bast. — Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2003.

100. Pawson, R. Naked objects / R. Pawson // IEEE SOFTWARE. 2002.-Pp. 81-83.

101. Agile Web Development with Rails / D. Thomas, D. Hansson, L. Breedt et al. — Pragmatic Bookshelf, 2006.

102. Walls, C. Spring in Action (In Action series) / C. Walls, R. Breidenbach. — Manning Publications Co., 2005.

103. Understanding mashup development / J. Yu, B. Benatallah, F. Casati, F. Daniel // IEEE Internet Computing. — 2008. Pp. 44-52.

104. Ziegeler, C. Cocoon: Building XML Applications / C. Ziegeler, M. Langham. — Sams, 2002.

105. Shapkin, P. Web service for accessing classification scheme mappings / P. Shapkin // Proceedings of CSIT'2007. Vol. 1. — Ufa: 2007. Pp. 105109.

106. Залаев, Г. 3. Подход к построению АИПС с цифровыми копиями фотодокументов / Г. 3. Залаев, В. Н. Меркулов, П. А. Шапкин // Сб. трудов конференции «Научно-техническая информация 2007». — М.: ВИНИТИ, 2007. С. 248-249.

107. Шапкин, П. А. Поиск документов в разнородных источниках на основе системы классификационных схем / П. А. Шапкин // Науч. сессия МИФИ-2008. Сб. науч. трудов. Т. 3.- М.: МИФИ, 2008.— С. 120-121.

108. Шапкин, П. А. Разработка службы доступа к системе классификационных схем на основе формальной модели связанных понятий / П. А. Шапкин. М., 2009. - 60 с. - Деп. в ВИНИТИ РАН 28.09.09, № 575-В2009.

109. Шапкин, П. А. Использование онтологий при разработке веб-приложений, настраиваемых на предметную область / П. А. Шапкин // Информационные технологии и вычислительные системы. — 2009. № 2. - С. 44-50.

110. Гиляревский, Р. Рубрикатор как инструмент информационной навигации / Р. Гиляревский, А. Шапкин, В. Белоозеров. — Профессия, 2008.- 352 с.

111. Михайлов, А. И. Основы информатики / А. И. Михайлов, А. И. Черный, Р. С. Гиляревский. — 2-е изд., перераб. и доп. изд. — М.: Наука, 1968.

112. Никольская, И. Ю. Принципы и методы создания базы данных «Математика» в составе информационной системы ВИНИТИ / И. Ю. Никольская. М.: ВИНИТИ, 2006.

113. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. — СПб: Питер, 2007. 366 с.

114. Krasner, G. Е. A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 / G. E. Krasner, S. T. Pope // J. Object Oriented Program. — 1988. — Vol. 1, no. 3. — Pp. 26-49.

115. Thomas, D. Programming Ruby: the pragmatic programmer's guide / D. Thomas, A. Hunt. — Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2000.

116. Алур, Д. Образцы J2EE. Лучшие решения и стратегии проектирования / Д. Алур, Д. Крупи, Д. Малке. М.: Лори, 2004. - 400 с.

117. Либерти, Д. Программирование на С# / Д. Либерти. — Символ-Плюс СПб., 2003.