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

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

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

005010766

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

Вовченко Алексей Евгеньевич

Рассредоточенная реализация приложений в среде предметных посредников

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

Автореферат

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

1 МАР 1Ш

МОСКВА 2012

005010766

Работа выполнена в Федеральном Государственном Бюджетном Учреждении науки Институт проблем информатики РАН

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

доктор физико-математических наук, профессор

Калиниченко Леонид Андреевич

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

Кузнецов Сергей Дмитриевич доктор технических наук, профессор, Федеральное государственное бюджетное учреждение науки Институт системного программирования РАН, г.н.с.

Белоусов Василий Владимирович кандидат технических наук, Федеральное государственное бюджетное учреждение науки Институт проблем информатики РАН, с.н.с.

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

ОАО Институт электронных управляющих машин им. И.С. Брука (ИНЭУМ)

Защита диссертации состоится «--с/> . 2012 г. в /5 часов

мин. на заседании диссертационного совета Д002.073.01 при Федеральном Государственном Бюджетном Учреждении науки Институт проблем информатики РАН по адресу: 119333, Москва, ул. Вавилова, 44, корп. 2.

С диссертацией можно ознакомиться в библиотеке Федерального Государственного Бюджетного Учреждения науки Институт проблем информатики РАН.

Автореферат разослан « ^'¿¿//^ 2012 і

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

диссертационного совета Д002.073.01 доктор технических наук, профессор___Гринченко С.Н.

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

Актуальность темы

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

Основной идеей в инфраструктуре доступа к множественным неоднородным информационным ресурсам является введение

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

В лаборатории «Композиционных методов и средств построения информационных систем» в Институте проблем информатики РАН (ИЛИ РАН) разработаны средства поддержки среды предметных посредников для решения задач над неоднородными информационными ресурсами. Полученный опыт использования среды предметных посредников для решения разнообразных научных задач в области астрономии показывает необходимость разработки подходов для повышения эффективности реализации задач в таких средах. Проблема эффективной реализации (задача рассредоточения) алгоритма решения задачи в среде предметных посредников заключается в том, что каждый компонент среды обладает широкими возможностями, которые во многом пересекаются, что приводит к неоднозначности выбора конкретной реализации. Например, какая-то часть алгоритма решения задачи (далее просто задачи) может быть реализована как программа на языке программирования (ЯП), либо как программа посредника. Существует ряд видов компонентов среды предметных

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

• системы программирования;

• предметные посредники;

• средства поддержки отображений классов ресурсов в классы посредников;

• адаптеры информационных ресурсов, предоставляющие унифицированный интерфейс для разнородных ресурсов;

• конкретные информационные ресурсы.

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

Множество возможных реализаций задачи образует пространство вариантов, называемое моделью рассредоточения. Каждый вариант рассредоточения (состояние модели рассредоточения) характеризуется назначениями для всех операций алгоритма решения задачи. Назначение определяет компонент, в котором данная операция будет реализована. В качестве назначений могут выступать перечисленные выше компоненты среды предметных посредников, между которыми может быть рассредоточена реализация задачи. Задача рассредоточения заключается в построении эффективного рассредоточения, т.е. такого рассредоточения, для которого время выполнения минимально или близко к минимальному. Время выполнения эффективного рассредоточения и начального рассредоточения могут существенно отличаться. Особенно остро проблема построения эффективного рассредоточения встает в тех случаях, когда требуются многократные прогоны решаемой задачи для различных наборов параметров. Например, в астрономии некоторая задача была сформулирована для площадки размером 1 квадратный градус. Тогда, чтобы прогнать решаемую задачу по всему небу для полосы шириной 1 градус, потребуется 360 прогонов. Для того чтобы прогнать решаемую задачу для всего неба потребуется 360*180 = 64800 прогонов. При таких условиях даже выигрыш во времени выполнения одного прогона в 1 минуту экономит полтора месяца вычислений.

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

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

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

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

Объект и предмет исследования

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

Цели и задачи работы

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

1. Разработка методов и средств представления рассредоточений и манипулирования ими, а также методов и средств оценки эффективности рассредоточений.

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

3. Создание адекватных задаче рассредоточения методов и средств сопряжения систем программирования с декларативным языком предметных посредников.

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

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

Методы исследования

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

Научная новизна

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

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

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

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

Достоверность полученных результатов

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

Практическая значимость

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

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

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

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

Все предложенные в работе подходы реализованы и прошли проверку при решении практических задач в области астрономии.

Результаты диссертационной работы использованы в проектах, выполняемых по планам ИПИ РАН, в проектах РФФИ 05-07-90413-в, 06-07-89188-а, 10-07-00342-а и 10-07-00640-а, а также в проекте 4.2 Программы фундаментальных исследований Президиума РАН №15.

Реализация результатов исследования

На основании предложенного в работе подхода к построению эффективного рассредоточения для реализации алгоритмов решения задач была разработана система построения рассредоточений. Система была применена для повышения эффективности решения задач в области астрономии. Эффективный алгоритм решения задачи, связанной с наблюдением гамма-всплесков, составляет основу программной системы, используемой в ИКИ РАН для практического решения задачи. Разработанный в работе подход построения сопряжения декларативного языка правил предметных посредников с языками программирования лег в основу программной реализации сопряжения, используемого в исполнительной среде предметных посредников. Подход к конструированию адаптеров, соответствующих требованиям системы построения рассредоточений, применен для создания ряда адаптеров: для реляционных СУБД, для объектно-реляционных СУБД, для слабоструктурированных данных (XML), для реестров системы Астрогрид, для ресурсов DSA системы Астрогрид, для веб-сервисов, для астрономического ресурса SDSS, для информационного грида VizieR, для потоковых данных. Реализация подтверждается практическим опытом решения задач, а также свидетельствами о регистрации четырех программных продуктов.

Апробация работы

Основные результаты диссертации докладывались на Международных конференциях: «15th East European conference on advances in databases and information systems» ADBIS 2011 (Austria, Vienna 2011), «Distributed Computing and Grid-technologies in Science and Education» (Дубна 2008, Дубна 2010), «Современные информационные технологии и ИТ-образование»

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

(Москва 2009, Москва 2011); на Российских конференциях по электронным библиотекам RCDL (Дубна 2008, Петрозаводск 2009, Казань 2010, Воронеж 2011); на семинаре по Российской Виртуальной Обсерватории (Москва 2007); на семинаре Московской секции ACM SIGMOD (Москва 2009); на научных семинарах по проекту СИНТЕЗ лаборатории Композиционных методов проектирования информационных систем Института проблем информатики РАН.

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

• подход к построению эффективного рассредоточения реализации алгоритма решения задач в среде предметных посредников, а также программный инструментарий системы построения рассредоточений;

• подход к сопряжению систем программирования с декларативным языком предметных посредников, а также программные средства, обеспечивающие статическое и динамическое связывание предметных посредников и объектно-ориентрованного языка (Java).

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

Публикации по теме диссертации

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

Структура работы

Диссертация состоит из введения, пяти глав, заключения, списка литературы (104 наименования) и шести приложений. Объем основного текста работы - 154 страницы, включая 24 рисунка и 8 таблиц.

Содержание работы

Введение

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

Глава 1

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

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

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

Подход «движимый приложениями» предполагает создание предметного посредника, который поддерживает взаимодействие между приложением и ресурсом на основе определения прикладной области (определения посредника). Второй подход имеет очевидные преимущества по отношению к подходу, движимому информационными ресурсами. Процесс регистрации неоднородных информационных ресурсов в предметном посреднике в подходе, движимом приложениями, основан на технике СИЛУ3.

Предметная область решаемой задачи

Каноническая информационная модель

--Т-

' Rs е Г2Г IT Кгытг

MEII jjgrri

Семантический: слой:

СёмаШческйё; предметных; отображения; Посредников;

Адаптер сервисов

—. Адаптеры;

| Адаптер ресурсов fiaHHbixJ информационных:

............... ресурсов

Среды вычислительных и информационных ресурсов

Реестр ¡Грид-сервисы Р

Вычис » | Систем«

SJr'ffi

Рисунок 1.1- Общая архитектура среды предметных посредников

Рассматриваемая в данной работе архитектура среды предметных посредников (рисунок 1.1.) состоит из четырех слоев:

3 GLAV подход комбинирует два подхода: LAV (Local As View), при котором схемы регистрируемых ресурсов рассматриваются как материализованные взгляды над виртуальными классами посредника, и GAV (Global As View), при котором глобальная схема посредника является взглядом над схемами ресурсов.

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

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

• уровень предметных посредников, каждый из которых определяет спецификацию предметной области для решения некоторого класса задач, используя каноническую информационную модель («эсперанто») для представления семантики предметной области и унифицированного отображения разнообразных видов информационных моделей ресурсов (моделей данных, сервисных моделей, онтологических моделей, процессных моделей);

• уровень задач (приложений), формулируемых в терминах одного или нескольких посредников.

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

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

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

Глава 2

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

• систем программирования;

• предметных посредников;

• средств поддержки отображений классов ресурсов в классы посредников;

• адаптеров информационных ресурсов;

• конкретных информационных ресурсов.

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

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

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

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

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

• метод построения модели рассредоточения;

• алгоритмы перестановки операций в модели рассредоточения;

• метод прогонки.

Метод построения модели рассредоточения включает в себя:

• построение графа зависимости функциональных операций;

• определение начальных назначений для всех операций на основании начальной реализации;

• определение функциональных классов всех операций модели рассредоточения;

• определение возможных назначений для всех операций.

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

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

задаются операции (язык программирования, язык правил, язык спецификации взглядов). Для перестановки операций используются три алгоритма:

• алгоритм полного перебора;

• алгоритм направленного перебора;

• алгоритм, основанный на экспертных правилах.

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

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

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

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

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

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

Глава 3

В третьей главе представлен подход сопряжения систем программирования с предметными посредниками. Несмотря на многочисленные исследования в области интероперабельных архитектур, сопряжения систем программирования с базами данных и существующие стандарты (стандарт ODMG 3.0, сопряжения С++ с Oracle (OCCI), сопряжение Java с БД (JDBC), стандарт SQLJ для встраивания языка SQL в ЯП Java, стандарт Sun JDO, Microsoft LINQ, и др.), до сих пор не были систематически рассмотрены подходы проектирования и создания подобных сопряжений. Это затрудняет оценку сравнения качества различных подходов к сопряжению, а также создание сопряжения для новых языков и систем. Важной задачей является определение системы характеристик, которыми можно характеризовать и оценивать разнообразные средства сопряжения систем программирования (СП) с системами управления информационными ресурсами. Основным мотивом разработки такой систематизации является необходимость обоснованного определения подхода сопряжения средств поддержки предметных посредников с системами программирования. Хотя предметом исследований является сопряжение средств поддержки предметных посредников с СП, при анализе рассматривалось сопряжение СП с базами данных в силу подавляющего числа исследований, стандартов и реализаций в этой области. Общность рассуждений при этом не нарушается т.к. предметные посредники могут рассматриваться как системы управления виртуальными ресурсами. В итоге анализа был выявлен набор характеристик, которым можно оценивать различные подходы.

Рассмотрим представление конструкций языка определения данных (ЯОД) модели информационного ресурса в языках программирования (ЯП).

Тип-е-Тип: спецификация типа (класса) ЯОД представляется спецификацией типа долговечных коллекций ЯП.

Тип-в-Объект: спецификация типа (класса) ЯОД представляется значением (объектом) в ЯП, изображающим соответствующую спецификацию типа в ЯП.

ТипЯП-в-Тип: Отображение происходит от типов ЯП к типам схемы базы данных. Спецификация типа задается не традиционным способом на

ЯОД, а на ЯП. По заданным спецификациям в СУБД создаются таблицы, соответствующие типам ЯП.

Рассмотрим представление конструкций языка запросов (ЯЗ) модели информационного ресурса в ЯП.

Запрос-строка: запрос представляется строкой. В этом случае запрос в виде строки посредством некоторого интерфейса передается на СУБД и там уже выполняется. Проверка корректности подобных запросов осуществляется в момент исполнения в СУБД. Именно поэтому подобный вид представления запросов ведет к большому числу ошибок.

Запрос-объект: запрос представляется значением (объектом) в ЯП. В этом случае в ЯП для запроса создается класс-контейнер. Класс-контейнер позволяет задавать параметризованные запросы, а также существенно снизить возможность ошибок, связанных с корректностью запроса.

Запрос-в-ЯП: ЯП расширяется конструкциями языка запросов. В этом случае язык запросов встраивается в язык программирования. Проверка синтаксиса и контроль типов производятся статически, тем самым снижая вероятность возникновения ошибок во время исполнения.

Рассмотрим полноту отображения ЯЗ.

Полная-Поддержка-ЯЗ (ППЯЗ): язык запросов отображается полностью. Предоставляется возможность выразить любой запрос допустимый в информационном ресурсе средствами ЯП.

Ограниченная-Поддержка-ЯЗ (ОПЯЗ): язык запросов сильно ограничен. Зачастую в системах сопряжения обеспечивается только извлечение объектов одного класса по условию. При этом никакие операции с типами (соединение, декартово произведение, объединение, проекция) не поддерживаются.

Рассмотрим представление конструкций языка манипулирования данными (ЯМД) модели информационного ресурса в ЯП.

ЯМД-строка: операции манипулирования объектами представляются строкой. Все, что было сказано для представления ЯЗ строкой, справедливо и в данном случае.

ЯМД-е-ЯП: ЯП расширяется конструкциями языка манипулирования данными. Все, что было сказано для представления ЯЗ конструкциями в ЯП, справедливо и в данном случае.

Рассмотрим поддержку манипулирования долговечными данными в ЯП.

Долговечные-объекты (Д-объекты): долговечные данные поддерживаются, изменение объектов влечет за собой изменение данных в базах данных (БД).

Транзиентные-объекты (Т-объекты): долговечные данные не поддерживаются, изменение объектов не влечет за собой изменения данных в БД.

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

Универсальные-Коллекции (У-коллекции): универсальные коллекции вида&/<7>ре> поддерживаются.

Обычные-Коллекции (О-коллекции)\ универсальные коллекции не поддерживаются. Поддерживаются только не типизированные коллекции вида&/<ОАуес/>.

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

В работе были проанализированы проблемы несоответствия импеданса на основании обзора. Проблема несоответствия стоит достаточно остро при разработке, поэтому важно было обеспечить решения поставленных проблем. На основании анализа для всех характеристик было определено, какую из проблем несоответствия импеданса они покрывают. Результат представлен в таблице 3.1.

Табл. 3.1. Зависимость решения проблемы несоответствия импеданса от

Синтаксис Типы Связывание Имена Коллекции Долговечность Запросы Ссылки Рефакторинг

Тип-в-Тип V V* V*

Тип-в-Объект

ТипЯП-в-Тип V* V*

Запрос-в-ЯП V V* V V V

Запрос-строка

Запрос-объект V V

ЯМД-строка V

ЯМД-в-ЯП V

Д-Объекты V V

Т-Объекты

У-Коллекции V*

О-Коллекции

V означает, что подход с данной характеристикой полностью решает проблему. V* - означает, что проблема решается только в сочетании с другой характеристикой. Из таблицы видно, что для решения всех проблем несоответствия импеданса подход к сопряжению должен обладать следующим набором характеристик: Тип-в-Тип, Запрос-в-ЯП, Долговечные Объекты, Универсальные Коллекции. Этот набор характеристик соответствует статическому подходу. В главе показано, что ни один из существующих подходов полностью не реализует статический подход. Кроме того, из таблицы 3.1. следует, что предложенный набор характеристик полностью покрывает проблемы несоответствия импеданса, следовательно набор характеристик достаточен.

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

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

Глава 4

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

Посредник

—I-

SOAP: запрос

Адаптер

SOAP: объекты

I-

SOAP: объекты

Адаптер

Транслятор запросов

Конструктор и Загрузчик Классов

Типы,имена

1

Типы

Запрос на языке Ресурса

Трансформационная схема

Объекты Ресурса

_1_

Интерфейс получения и загрузки объектов

Рисунок 4.1 - Архитектура адаптера

Все компоненты адаптера можно разделить на три группы:

• компоненты, зависимые от модели данных информационного ресурса (Транслятор запросов, Трансформационная схема);

• компоненты общие для всех адаптеров (Адаптер, Конструктор и Загрузчик классов);

• компоненты, зависимые от конкретного информационного ресурса (интерфейсные компоненты).

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

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

Важно отметить, что адаптер создается не для конкретного ресурса, а для некоторого класса ресурсов, соответствующих одной модели данных. Используя подход конструирования адаптеров, в рамках работы созданы следующие адаптеры: для реляционных СУБД, для объектно-реляционных СУБД, для слабоструктурированных данных (XML), для реестров системы Астрогрид, для ресурсов DSA системы Астрогрид, для веб-сервисов, для астрономического ресурса SDSS, для информационного грида VizieR, для потоковых данных.

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

• выполнения запросов над ограниченной выборкой, что лежит в основе метода прогонки;

• выполнения всех операций на адаптерах, даже если они не реализованы на информационном ресурсе;

• программирования на адаптерах новых функций;

• одновременного использования адаптеров из нескольких потоков (thread safe);

• повторного использования результата запроса;

• задания операционных возможностей ресурсов;

• задания оценочных запросов и сбора статистики.

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

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

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

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

Глава 5

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

Система включает в себя:

• загрузчик спецификаций языка СИНТЕЗ5;

• трансляторы спецификаций алгоритма решения задачи в модель рассредоточения, и обратные трансляторы;

• систему проведений симуляций (методом прогонки);

• редактор рассредоточения;

• редактор модели рассредоточения (для модели рассредоточения используется текстовое представления графов основанное на языке XML);

• редактор программы на ЯП;

• редактор семантических связей между ресурсами и посредником (GLAV взглядов);

• редактор операционных возможностей адаптеров;

• редактор реализации функций;

• редактор программы на языке правил посредника;

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

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

• редактирование исходных спецификаций алгоритма решения задачи;

• редактирование модели рассредоточения вручную;

• редактирование операционных возможностей адаптеров;

5 СИНТЕЗ - язык канонической информационной модели предметных посредников.

• задание реализации для функций, причем для одной функции может быть задано несколько реализаций (например на ЯП и на PL/SQL);

• построение эффективного рассредоточения на основе экспертных правил;

• построение эффективного рассредоточения алгоритмом направленного перебора;

• построение минимального рассредоточения алгоритмом полного перебора;

• осуществление симуляции методом прогонки для определения производительности текущего рассредоточения.

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

Во второй части главы приведены результаты тестирования алгоритмов построения эффективного рассредоточения. В главе рассматриваются две тестовые задачи. Первая задача - синтетическая. В задаче определяется посредник, состоящий из трех классов. Каждому классу посредника сопоставлено по одному классу ресурсов. В программе к посреднику запрашивается конъюнкция всех классов посредника, что влечет за собой выполнение операций соединения (Join). Каждая из операций может быть выполнена на каждом из ресурсов либо в посреднике. Если не учитывать порядок выполнения соединения, а ограничиваться учетом только места выполнения операции, то всего вариантов: (п+1) + (п+1)!/2. В случае п = 3 (число ресурсов), имеем 16 вариантов. Кроме того в посреднике описаны функции модуля, а также функции разрешения конфликтов. Для каждой из функций определены всевозможные варианты реализаций.

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

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

найти астрономические объекты (звезды), которые удовлетворяют ряду параметров, вычисляемых различными функциями.

После описания схемы посредника были определены астрономические ресурсы, релевантные решаемой задаче. Каталоги SDSS, USNOB-1, 2MASS, GSC, UCAC - основные ресурсы, используемые для извлечения стандартов. Именно среди этих каталогов отбираются все звезды удовлетворяющие параметрам, описанным в ТЗ. Каталоги VSX, ASAS, GCVS, NSVS -используются для проверки факта переменности выбранных стандартов. Если звезда переменная, то из дальнейшего рассмотрения она исключается.

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

Для анализа поведения алгоритмов построения эффективного рассредоточения описанные выше две задачи (тестовая и реальная) тестировались следующим набором тестов:

• тест времени выполнения для различных алгоритмов построения эффективного рассредоточения;

• тест на масштабируемость при поиске минимального и эффективного рассредоточений;

• тест на устойчивость минимального рассредоточения (зависимость минимального рассредоточения от начального).

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

Таблица 5.1. Результаты тестирования

Синтетическая задача Реальная научная задача

Время выполнения худшего рассредоточения 217 секунд 1093 секунды

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

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

Время выполнения эффективного рассредоточения (направленный перебор) 13 секунд 52 секунды

Время выполнения рассредоточения построенного с помощью экспертных правил 13 секунд 274 секунды

Время поиска минимального рассредоточения 3 часа 50 минут Около 38 часов

Время поиска эффективного рассредоточения (направленным перебором) 15 минут 52 минуты

6 Кросс-идентификация - это процесс отождествления объектов из разных ресурсов. Обычно отождествление происходит по координатам. Считается, что если у объектов из разных каталогов расстояние между координатами не превышает некоторый радиус, то это один и тот же объект.

Время построения рассредоточения применением экспертных правил Меньше минуты

Зависимость времени поиска рассредоточения при увеличении числа ресурсов экспоненциаль- линейная ная

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

Зависимость времени поиска рассредоточения при увеличении числа операций в модели рассредоточения 3" — полный перебор 3*11 - направленный перебор

Устойчивость минимального рассредоточения Одно-и-тоже | Различное

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

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

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

Приложения

В приложении А содержится грамматика языка правил посредников -языка Syfs, встраиваемого в язык Java.

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

В приложении В содержится описание статического связывания декларативного языка правил предметных посредников и языка программирования Java.

В приложении Г содержится описание динамического связывания декларативного языка правил предметных посредников и языка программирования Java.

В приложении Д содержится подробная спецификация адаптера.

В приложении Е содержится спецификация тестового синтетического примера.

Заключение

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

• разработаны методы и средства представления рассредоточений и манипулирования ими;

• разработаны методы и средства оценки эффективности рассредоточений;

• разработан подход к построению эффективного рассредоточения;

• разработаны и реализованы алгоритмы построения эффективного рассредоточения - алгоритм полного перебора, алгоритм направленного перебора, алгоритм, основанный на экспертных правилах;

• разработан подход к сопряжению систем программирования с декларативным языком предметных посредников, адекватный задаче рассредоточения и решающий проблемы несоответствия импеданса;

• реализованы программные инструментарии поддержки разработанных в работе методов и подходов;

• разработана архитектура программируемых адаптеров, обеспечивающая эффективное выполнение рассредоточения над ресурсами, а также методы их конструирования;

• разработаны адаптеры для конкретных классов информационных ресурсов;

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

Основные публикации по теме диссертации

В рецензируемых журналах из списка ВАК:

1. Вовченко А.Е. Рассредоточение реализации алгоритма решения задач над неоднородными распределенными ресурсами. // Вестник Воронежского государственного университета, серия Системный анализ и информационные технологии. - №2. - Воронеж: Воронежский Государственный Университет, 2011, с.117-122.

2. Брюхов Д.О., Вовченко А.Е., Желенкова О.П., Захаров В.Н., Калиниченко Л.А., Мартынов Д.О., Скворцов H.A., Ступников С.А. Архитектура промежуточного слоя предметных посредников для решения задач над множеством интегрируемых неоднородных распределенных информационных ресурсов в гибридной грид-инфраструктуре виртуальных обсерваторий. // Информатика и ее применение, 2008. т.2, вып. 1, с.2-34. (личный вклад автора - разработанная архитектура сопряжения системы Астрогрид и средств поддержки слоя предметных посредников и ее реализация, а также применение системы для решения научной задачи).

В других изданиях:

3. Вовченко А.Е. Рассредоточение реализации приложений в распределенной среде предметных посредников. // Труды 13-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» RCDL-2011. - Воронеж: Воронежский государственный университет, 2011. - С. 285-292.

4. Vovchenko А.Е. Binding of Programming Languages with Subject Mediators for Scientific Problems Solving. // Advances in Databases and Information Systems: Proc. II of the 15th East-European Conference. - Vienna: Austrian Computer Society, 2011. -- P. 272-279.

5. Вовченко A.E., Калиниченко JI.A., Ступников С.А. Семантический грид, основанный на концепции предметных посредников. // Труды четвертой международная конференция "Распределённые вычисления и Грид-технологии в науке и образовании" Grid2010, Дубна, ОИЯИ, 2010. - с. 309-318. (личный вклад автора - разработанная архитектура семантического грида и реализация его прототипа, а также применение прототипа для решения научной задачи).

6. Вовченко А.Е., Вольнова A.A., Денисенко Д.В., Калиниченко JI.A., Куприянов В.В., Позаненко A.C., Скворцов H.A., Ступников С.А. Применение средств виртуальной обсерватории для выбора вторичных стандартов поля при фотометрии оптического послесвечения гамма-всплесков. // Труды Всероссийской астрономической конференции ВАК-2010 «От эпохи Галилея до наших дней». - CAO РАН: Нижний Архыз. -2010. (личный вклад автора - разработанные средства для решения научной задачи на основе прототипа предметных посредников).

7. Вовченко А.Е., Калиниченко JI.A., Костюков М.Ю. Методы и средства доступа к потоковым данным из предметных посредников. // Труды 12ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» -RCDL'2010, Казань, Россия, 2010, с.273-278. (личный вклад автора -реализация потокового адаптера на основании подхода доступа к потоковый данным, а также применение адаптера для решения задачи с участием потоковых данных).

8. Вовченко А.Е., Захаров В.Н., Калиниченко JI.A., Ступников С.А., Скворцов Н.А. Предметные посредники в гибридной грид-инфраструктуре виртуальных обсерваторий для решения задач над неоднородными распределенными информационными ресурсами. // Труды IV-ой Международной научно-практической конференции «Современные информационные технологии и ИТ-образование», Москва, МГУ имени М.В. Ломоносова, 2009. - с. 762-770. (личный вклад автора - применение гибридной грид-инфраструктуры виртуальных обсерваторий для решения научной задачи).

9. Вовченко А.Е., Крупа А.В. Планирование запросов над множеством неоднородных распределенных информационных ресурсов в архитектуре средств поддержки предметных посредников. // Труды Пой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» -RCDL'2009, Петрозаводск, Россия, 2009, с.335-342. (личный вклад автора - разработанная архитектура адаптера, поддерживающего адаптивное планирование, учет операционных возможностей ресурсов, а также возможность сбора оценок и статистики).

10.Briukhov D., Kalinichenko L., Martynov D., Skvortsov N., Stupnikov S., Vovchenko A., Zakharov V., Zhelenkova O. Application driven médiation middleware of the Russian virtual observatory for scientific problem solving over multiple heterogeneous distributed information resources. // Scientific Information for Society - from Today to the Future: Proc. of the 21st CODATA Conférence. — 2009. - P. 80-85. (личный вклад автора - применение гибридной грид-инфраструктуры виртуальных обсерваторий для решения научной задачи).

11.Брюхов Д.О., Вовченко А.Е., Желенкова О.П., Захаров В.Н., Калиниченко Л.А., Мартынов Д.О., Скворцов Н.А., Ступников С.А. Грид-инфраструктура предметных посредников, движимых приложениями, для решения задач над множеством неоднородных распределенных информационных ресурсов. // Труды третьей международная конференция "Распределённые вычисления и Грид-технологии в науке и образовании" Grid2008, Дубна, ОИЯИ, 2008. (личный вклад автора -разработанная грид-инфраструктура предметных посредников для решения задач).

12.Вовченко А.Е., Калиниченко JI.A., Малков О.Ю., Мамардашвили H.A., Патракова М.Е. Встраивание средств Data Mining в инфраструктуру виртуальной обсерватории. // Труды 9ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» - RCDL'2007, Переславль-Залесский, Россия, 2007. (личный вклад автора - встраивание средств решения задачи классификации в структуру виртуальной обсерватории).

13.Kalinichenko L.A., Stupnikov S.A., Vovchenko A.E., Zakharov V.N., Zhelenkova O.P. Russian Virtual Observatory Community Centre for Scientific Problems Solving over Multiple Distributed Information Sources. // Proc. of the Eighth Russian Conference on Digital Libraries RCDL'2006, Suzdal. — Yaroslavl: P. G. Demidov Yaroslavl State University, 2006. -- P. 120—129. (личный вклад автора — реализация средств решения научной задачи с помощью системы Астрогрид).

Список зарегистрированных программных продуктов:

14.Вовченко А.Е. Свидетельство о государственной регистрации программы для ЭВМ №2012610643 "Программа сбора оценок и статистики подключенных к предметному посреднику реляционных информационных ресурсов", ИЛИ РАН, 10.01.12.

15.Вовченко А.Е. Свидетельство о государственной регистрации программы для ЭВМ №2012610644 "Программа автоматического извлечения вторичных стандартов для фотометрической калибровки оптических компонентов космических гамма-всплесков", ИЛИ РАН, 10.01.12.

16.Вовченко А.Е. Свидетельство о государственной регистрации программы для ЭВМ №2008611630 "Программа подключения реляционных информационных источников (Oracle, MySQL, PostgreSQL) к предметному посреднику", ИЛИ РАН, 28.03.2008.

17.Вовченко А.Е., Ступников С.А. Свидетельство о государственной регистрации программы для ЭВМ №2007613884 "Программа загрузки схем реляционных баз данных в репозиторий метаинформации с одновременным преобразованием в каноническую информационную модель", ИЛИ РАН, 12.09.2007. (личный вклад автора - реализация средств автоматического извлечения схем реляционных баз данных посредством интерфейса JDBC).

Подписано в печать: 16.02.12

Объем: 1,5 усл.п.л. Тираж: 100 экз. Заказ № 7059 Отпечатано в типографии «Реглет» 119526, г. Москва, Проспект Вернадского д.39 (495) 363-78-90; www.reglet.ru

Текст работы Вовченко, Алексей Евгеньевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

61 12-5/1891

Федеральное государственное бюджетное учреждение науки Институт проблем информатики РАН (ИЛИ РАН)

Вовченко Алексей Евгеньевич

Рассредоточенная реализация приложений в среде предметных посредников

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

ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук

Научный руководитель Доктор физико-математических наук, профессор Калиниченко Л.А.

МОСКВА 2012

Оглавление

Введение.......................................................................................................................6

ГЛАВА 1. Организация решения задач над неоднородными распределенными информационными ресурсами в среде предметных посредников .............................................................................................................17

1.1. Концепция предметных посредников............................................17

1.2. Принципы построения сред предметных посредников................19

1.3. Обобщенная архитектура среды предметных посредников........22

1.4. Обобщенная архитектура исполнительного слоя среды предметных посредников для решения задач............................................24

1.5. Пример решения задачи в среде предметных посредников........28

1.5.1. Описание задачи определения вторичных стандартов...........28

1.5.2. Варианты оптимизации алгоритма решения задачи...............35

1.6. Выводы по главе...............................................................................37

ГЛАВА 2. Рассредоточение реализации алгоритма решения задачи в распределенной среде предметных посредников...................................................38

2.1. Постановка задачи рассредоточения в среде предметных посредников...................................................................................................38

2.2. Описание языка правил предметных посредников и языка спецификации взглядов................................................................................42

2.3. Функции компонентов среды предметных посредников.............46

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

2.5. Семантика графа зависимостей функциональных операций и модели рассредоточения...............................................................................52

2.6. Обобщение задачи рассредоточения..............................................54

2.7. Методы построения эффективного рассредоточения..................55

2.8. Перестановка операций при построении рассредоточения.........60

2.9. Экспертные правила.........................................................................64

2.10. Обзор существующих подходов.....................................................70

2.11. Выводы по главе...............................................................................72

ГЛАВА 3. Сопряжение языков программирования с декларативным языком правил предметных посредников.............................................................................75

3.1. Краткая характеристика задачи сопряжения.................................75

3.2. Описание проблемы несоответствия импеданса при сопряжении языков запросов к базам данных и языков программирования................76

3.3. Характеризация сопряжений ЯП с базами данных.......................78

3.4. Подход к сопряжению языков программирования с предметными посредниками.................................................................................................85

3.4.1. Статический подход....................................................................86

3.4.2. Динамический подход................................................................91

3.4.3. Долговечные и транзиентные объекты.....................................92

3.5. Реализация сопряжения предметных посредников с языками программирования.........................................................................................93

3.6. Обзор существующих подходов.....................................................97

3.7. Выводы по главе.............................................................................102

ГЛАВА 4. Конструирование адаптеров информационных ресурсов..........103

4.1. Краткая характеристика адаптеров..............................................103

4.2. Архитектура простого адаптера....................................................104

4.3. Подход к конструированию адаптеров........................................107

4.4. Требования к адаптеру для поддержки эффективного выполнения рассредоточенной программы..............................................110

4.5. Программируемый адаптер...........................................................112

4.6. Основные особенности реализации адаптеров для задачи рассредоточения..........................................................................................114

4.7. Описание реализации реляционного адаптера............................116

4.8. Обзор существующих подходов...................................................120

4.9. Выводы по главе.............................................................................121

ГЛАВА 5. Практическое применение и тестирование системы построения рассредоточений......................................................................................................122

5.1. Описание программной реализации системы построения рассредоточений..........................................................................................122

5.2. Пример применения системы построения эффективного рассредоточения для научной задачи........................................................124

5.3. Описание процесса тестирования алгоритмов построения эффективного рассредоточения........................... .......................................147

5.3.1. Описание тестовых примеров..................................................147

5.3.2. Набор тестов..............................................................................148

5.3.3. Результаты тестирования.........................................................149

5.4. Выводы по главе.............................................................................152

Заключение...............................................................................................................153

Литература................................................................................................................155

Приложение А Грамматика декларативного языка правил предметных посредников (язык Syfs)..........................................................................................168

Приложение Б Алгебраическая форма языка правил предметных посредников -

язык Asyfs.................................................................................................................173

Приложение В Статическое связывание языка СИНТЕЗ и языка программирования Java...........................................................................................180

Приложение Г Динамическое связывание языка СИНТЕЗ и языка программирования Java...........................................................................................190

Приложение Д Спецификация адаптера.......................... .....................................197

Приложение Е Спецификация синтетического тестовой задачи.......................214

Введение

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

Основной идеей в инфраструктуре доступа к множественным неоднородным информационным ресурсам является введение промежуточного слоя между ресурсами и потребителями информации. Базовыми компонентами промежуточного слоя являются предметные посредники [1], определяемые независимо от информационных ресурсов. Применение среды предметных посредников для решения задач над множеством распределенных неоднородных информационных ресурсов обеспечивает их интеграцию в контексте предметных областей приложений. Такой контекст для класса приложений определяется декларативной спецификацией посредников.

В лаборатории «Композиционных методов и средств построения информационных систем» в Институте проблем информатики РАН (ИЛИ

РАН) разработаны средства поддержки среды предметных посредников для решения задач над неоднородными информационными ресурсами [1]. Полученный опыт использования среды предметных посредников для решения разнообразных научных задач в области астрономии показывает необходимость разработки подходов для повышения эффективности реализации задач в таких средах. Проблема эффективной реализации (задача рассредоточения) алгоритма решения задачи в среде предметных посредников заключается в том, что каждый компонент среды обладает широкими возможностями, которые во многом пересекаются, что приводит к неоднозначности выбора конкретной реализации. Например, какая-то часть алгоритма решения задачи (далее просто задачи) может быть реализована как программа на языке программирования (ЯП), либо как программа посредника. Существует ряд видов компонентов среды предметных посредников, между которыми может быть рассредоточена реализация задачи:

• системы программирования (СП);

• предметные посредники;

• средства поддержки отображений классов ресурсов в классы посредников;

• адаптеры информационных ресурсов;

• конкретные информационные ресурсы.

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

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

определяет компонент, в котором данная операция будет реализована. В качестве назначений могут выступать перечисленные выше компоненты среды предметных посредников, между которыми может быть рассредоточена реализация задачи. Задача рассредоточения заключается в построении эффективного рассредоточения, т.е. такого рассредоточения, для которого время выполнения минимально или близко к таковому. Время выполнения эффективного рассредоточения и начального рассредоточения могут существенно отличаться. Особенно остро проблема построения эффективного рассредоточения встает в тех случаях, когда требуются многократные прогоны решаемой задачи для различных наборов параметров. Например, в астрономии некоторая задача была сформулирована для площадки размером 1 квадратный градус. Тогда, чтобы прогнать решаемую задачу по всему небу для полосы шириной 1 градус, потребуется 360 прогонов. Для того чтобы прогнать решаемую задачу для всего неба потребуется 360*180 = 64800 прогонов. При таких условиях даже выигрыш во времени выполнения одного прогона в 1 минуту экономит полтора месяца вычислений.

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

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

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

Объект и предмет исследования

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

Цели и задачи работы

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

1. Разработка методов и средств представления рассредоточений и манипулирования ими, а также методов и средств оценки эффективности рассредоточений.

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

3. Создание адекватных задаче рассредоточения методов и средств сопряжения систем программирования с декларативным языком предметных посредников.

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

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

Методы исследования

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

Научная новизна

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

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

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

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

Достоверность полученных результатов

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

Практическая значимость

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

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

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

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

Все предложенные в работе подходы реализованы и прошли проверку при решении практических задач в области астрономии.

Результаты диссертационной работы использованы в проектах, выполняемых по планам ИЛИ РАН, в проектах РФФИ 05-07-90413-в, 06-07-89188-а, 10-07-00342-а и 10-07-00640-а, а также в проекте 4.2 Программы фундаментальных исследований Президиума РАН №15.

Реализация результатов исследования

На основании предложенного в работе подхода к построению эффективного рассредоточения для реализации