О работах в области системного программирования

68. Roublev I.V. On minimax and idempotent generalized weak solutions to the Hamilton-Jacobi equation // AMS Contemporary Mathematics book series. Vol. "Proceedings of the Conference on Idempotent Mathematics and Mathematical Physics" / Eds. G.L. Litvinov, V. P. Maslov. 2004.

69. Рублев И. В. Множества достижимости в каскадных управляемых системах // Диф. ур-ния. 2004. 40. № 12. С. 1636-1644.

70. Олейник О. А. Разрывные решения нелинейных дифференциальных уравнений // УМН. 1957. № 3. С. 3-73.

71. Кружков С.Н. Обобщенные решения нелинейных уравнений первого порядка со многими независимыми переменными // Мат. сб. 1966. 70. № 112. Вып. 3. С. 394-115.

72. Crandall M.G.,Evans L.С.,Lions P.-J. Some properties of viscosity solutions of Hamilton-Jacobi equations // Trans. Amer. Math. Soc. 1984. 282. N 2. P. 487-502.

73. Subbotin A.I. Generalized solutions of first-order PDE's. The dynamical optimization perspective. Boston: Birkhauser, 1995.

74. Set hi an J. A. Level set methods and fast marching methods. Cambridge: Univ. Press, 1999.

75. Osher S., Fedkiw R. Level set methods and dynamic implicit surfaces. Springer Ser. AMS, 2003. Vol. 153.

76. Филиппов А.Ф. Дифференциальные уравнения с разрывной правой частью. М.: Наука, 1985.

Поступила в редакцию 10.05.04

В. П. Иванников

О РАБОТАХ В ОБЛАСТИ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ

1. Введение. Кафедра системного программирования была образована в 1970 г. при создании факультета ВМиК МГУ. Первым заведующим кафедрой являлся профессор М.Р. Шура-Бура, которого в 1993 г. сменил на этом посту профессор, член-корреспондент РАН В. П. Иванников. Основными направлениями научных исследований, проводимых на кафедре совместно с Институтом системного программирования РАН, Институтом прикладной математики им. М.В. Келдыша РАН, ВЦ им. A.A. Дородницына РАН и Научно-исследовательским центром электронной вычислительной техники, являются: разработка систем параллельного и распределенного программирования, развитие технологии Grid для распределенных вычислений, разработа методов верификации, тестирования сложных программных систем и автоматического обнаружения уязвимостей в программах, создание методов автоматического планирования решений сложных задач, систем управления данными и оперативной интеграции информационных ресурсов.

2. Параллельное и распределенное программирование

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

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

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

Интегрированная среда ParJava установлена на вычислительных ресурсах ИСП РАН, ГУ МСЦ и НИВЦ МГУ. Есть возможность загрузки программного обеспечения среды с сайта в Интернете (http://www.ispras.ru/groups/ctt/parjava.html).

Работа выполняется по программе № 17 фундаментальных исследований президиума РАН "Параллельные вычисления на многопроцессорных вычислительных системах" и поддерживается грантами РФФИ 02-07-90302 и 02-01-00961. Основные результаты по этому направлению исследований изложены в работах [1-4].

2.2. Система программирования DVM. Совместно с сотрудниками ИПМ им. М.В. Келдыша РАН была разработана новая методология создания параллельных программ и на ее основе создана система программирования (DVM-система), которая позволяет разрабатывать на языках C-DVM и Fortran-DVM мобильные и эффективные параллельные программы для ЭВМ различной архитектуры и сетей ЭВМ. Аббревиатура DVM соответствует двум понятиям: Distributed Virtual Memory и Distributed Virtual Machine. Первое отражает наличие единого адресного пространства, второе — использование виртуальных машин для двухступенчатой схемы отображения данных и вычислений на реальную параллельную машину. Система установлена на многих параллельных ЭВМ и используется для решения задач в ряде организаций страны, а также для обучения параллельному программированию на факультете ВМиК МГУ и в ННГУ (Нижний Новгород).

При использовании языков C-DVM и Fortran-DVM программист имеет только один вариант программы и для последовательного и для параллельного выполнения. Эта программа, помимо описания алгоритма обычными средствами языков Си или Фортран, содержит правила параллельного выполнения этого алгоритма. Эти правила оформляются синтаксически таким образом, что они являются "невидимыми" для стандартных компиляторов с языков Си и Фортран для последовательных ЭВМ и не препятствуют выполнению и отладке DVM-программы на рабочих станциях как обычной последовательной программы. Компилятор переводит программу на языке C-DVM (Fortran-DVM) в программу на стандартном языке Си (Фортран), расширенную функциями системы поддержки выполнения DVM-программ, которая для организации межпроцессорного взаимодействия использует стандартные коммуникационные библиотеки (MPI, PVM). Разработаны средства отладки и анализа производительности, позволяющие пользователю получить информацию об основных характеристиках эффективности выполнения его программы.

Работа [5] была посвящена проблеме отладки программ, создаваемых в рамках DVM-модели. В основу этой модели положена следующая основная идея: параллельное выполнение программы должно осуществляться в соответствии с ее потенциальным параллелизмом, явно описанным пользователем с помощью специальных директив. Параллельная программа представляет собой обычную последовательную программу, в которую вставлены DVM-указания, определяющие ее параллельное выполнение. Специальные компиляторы переводят программу в программу на стандартном языке (С или Fortran 77), расширенную функциями библиотеки Lib-DVM (системы поддержки DVM-программ). Предложен метод поэтапной отладки DVM-программ. Разработан специальный инструмент — динамический отладчик DVM-программ.

Работы по DVM-системе были поддержаны грантами РФФИ: 93-012-628, 96-01-01745, 9901-00209, 02-01-00752, 04-07-90316, проектом МНТЦ № 68, а также международными грантами и контрактами: INTAS-РФФИ 95-0369, INRIA-IRISA (Франция), RAL (Великобритания), 96EMCR/471218K-439 RF с NCI (КНР). Часть из этих грантов и контрактов выполнялась совместно с

ИСП РАН и ИПМ РАН. Работы по отладке параллельных программ ведутся с 2002 г. по контрактам между факультетом ВМпК МГУ n компанией Интел. Результаты исследований по этому направлению отражены в работах [5-10].

3. Распределенные вычисления

3.1. Программные средства для функционирования Grid. В 1998 г., т.е. практически одновременно с появлением первых программных разработок за рубежом, в ИПМ РАН под руководством Д. А. Корягина и Э. 3. Любимского были начаты работы по технологиям Grid. Возглавляемый ими коллектив был первым в России, обратившимся к этой тематике, которая сейчас признана одним из самых перспективных направлений компьютерной отрасли, а национальные и интернациональные проекты по созданию Grid выполняются практически во всех странах мира.

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

Основное содержание проводимых исследований направлено на разработку методов и программных средств, обеспечивающих функционирование Grid как операционной среды с коллективно используемым множеством глобально распределенных ресурсов. Разработанный программный комплекс "Грид-диспетчер" решает задачу виртуализации ресурсов, т.е. автоматического их подбора (в том числе в гетерогенной среде разноплатформенных компьютеров), доставки и исполнения на них пользовательских заданий. Для решения задачи предложен метод планирования размещения заданий на ресурсах, учитывающий специфические особенности Grid: наличие двух уровней управления и двух потоков заданий (кластер — Grid), приоритетное право владельцев на использование ресурсов.

ИПМ РАН принимает участие в крупнейшем в мире проекте по созданию общеевропейского Grid для нужд науки — EGEE (Enabling Grids for E-Science in Europe). Создаваемая программно-аппаратная инфраструктура, объединяя 70 институтов в 27 странах (в их числе 9 российских институтов), должна обеспечить круглосуточный доступ к вычислительным ресурсам с суммарной мощностью, эквивалентной 20 000 процессоров. Это позволит в распределенном режиме обрабатывать потоки данных с ускорителя LHC (ЦЕРН), вырабатываемые со скоростью до 100 Мбайт/с и общим объемом 10-12 петабайтов в год.

Исследования были поддержаны грантами РФФИ 99-01-00389(а), 02-01-00282(а), 04-07-90299(в) и контрактом № 203-3(00)-П программы "Информатизация России".

3.2. Оптимизации использования ресурсов в среде Grid. В ИСП РАН и на кафедре системного программирования факультета ВМиК МГУ под руководством С. С. Гайсаряна выполняются работы по оптимизации использования вычислительных ресурсов в среде Grid. Глобальные вычислительные сети Grid были предложены в качестве новой парадигмы для решения крупномасштабных вычислительных задач в науке, технике и бизнесе. Они дают возможность одновременного использования вычислительных ресурсов, принадлежащих различным организациям и расположенных в различных административных областях. В качестве одного из видов ресурсов Grid можно рассматривать кластеры.

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

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

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

Научно-исследовательская работа по технологиям Grid выполняется по программе № 21 фундаментальных исследований президиума РАН "Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологий GRID" и поддерживается грантом РФФИ 03-07-90198. Результаты исследований по этому направлению изложены в работах [11-14].

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

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

Работа была поддержана грантами РФФИ, в частности грантом "Повторное использование формальных спецификаций в производстве и тестировании программных систем". Результаты исследований по этому направлению изложены в работах [15-22].

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

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

5. Безопасное программирование. В ИСП РАН под руководством С. С. Гайсаряна и А. В. Чернова выполняется проект по автоматическому обнаружению уязвимостей в программах. В последнее время при разработке программного обеспечения все большее внимание уделяется вопросу его устойчивости к внешним атакам. Огромное количество компьютерных вирусов, наносящих значительный ущерб экономике, распространяется из-за плохой защищенности программного обеспечения. На настоящий момент нет качественных инструментов для автоматического обнаружения соответствующих ошибок в программном обеспечении. Существующие средства анализа находят слишком много ложных ошибок, среди которых сложно выявить истинные. Кроме того, эти средства не находят многих ошибок. Разрабатываемая система позволяет автоматически обнаруживать три типа ошибок:

• переполнение буфера (buffer overflow) — самая распространенная и, пожалуй, самая опасная ошибка, заключающаяся в обращении за пределы границ выделенного участка памяти, что может привести к выполнению произвольного кода. Первым вирусом, использующим ошибку такого рода, был еще легендарный вирус Морриса 1988 г. Из современных можно отметить крупнейшую эпидемию вируса MSBlast, который пользовался подобной уязвимостью;

• некорректные строки формата вывода (format strings) — проявляет себя в случае, если параметр формата вывода (к примеру, для функций семейства printf/scanf языка С) зависит от входных данных и не проверяется на корректность;

• утечки памяти (memory leaks) — имеют место в случае, когда в программе теряются все ссылки на выделенный участок памяти и предварительно эта память не была освобождена. Вообще говоря, такая ошибка не является уязвимостью, однако ввиду ее серьезности мы ее обнаруживаем.

Результаты работы по этому направлению изложены в [25, 26].

Исследованию маскирующих преобразований программ посвящены работы [27-29]. Маскировка программ изучалась на уровне исходного кода, т.е. исходная программа представлялась на языке Си, и замаскированная программа также представлялась на языке Си. Была предложена и обоснована новая методика маскировки программ, устойчивая к существующим методам статического и полустатического анализа, основанная на разрушении структурности графа потока управления функции и внесении в функцию несущественных операций, объединяемых с основными операциями с помощью тождеств. Разработана и реализована инструментальная среда Poirot, обеспечивающая возможность маскировки и демаскировки программ, а также поддерживающая анализ маскирующих преобразований программ и разработку новых маскирующих преобразований. Интегрированная среда является расширяемой и позволяет добавлять новые методы анализа и трансформации программ. Установлена степень стойкости опубликованных методов маскировки программ по отношению к различным методам анализа программ и на этом основании предложена классификация методов маскировки.

6. Методы автоматического планирования решений сложных задач. Сотрудниками кафедры Л. С. Коруховой, Э.З. Любимским и В. В. Малышко проводится научно-исследовательская работа, направленная на решение фундаментальной проблемы программирования, связанной с созданием систем искусственного интеллекта для решения задач автоматического планирования действий и информационного поиска.

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

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

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

Проводимые исследования были поддержаны грантами РФФИ. Результаты работы по этому направлению отражены в публикациях [30-35].

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

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

7. Управление данными, интеграция информационных ресурсов

7.1. Система логического программирования баз данных DEVISER. Система логического программирования баз данных DEVISER (loosely-coupled Datalog EValuator Integrated with SchemE) разрабатывается A.C. Марковым при участии К.Ю. Лисовского и A.C. Семенова. Система DEVISER представляет собой завершенную открытую экспериментальную систему, которая способна вычислять программы и запросы к базе данных, написанные на языке логического программирования Дейталог. Одна из главных особенностей системы заключается в том, что в реализации использован функциональный подход — система написана на языке Scheme. Существуют перспективы дальнейшего развития системы (например, параллельные вычисления на кластерах), а также возможность интеграции с другими системами и использования в образовательном процессе. На сайте кафедры создана и поддерживается страница http://sp.cmc.msu.ru/datalog/ Logic and Databases, на которой обеспечивается доступ к исходным кодам системы DEVISER.

7.2. Интегрированная система информационных ресурсов. В ВЦ РАН им. A.A. Дородницына под руководством В. А. Серебрякова разработана концептуальная модель и открытая архитектура федеративной распределенной среды информационных систем по научно-технической информации, характеризующейся следующими чертами:

• основой является объектно-ориентированный подход к представлению данных;

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

• на данном этапе подобный механизм отображения поддерживается для всех распространенных реляционных СУБД; разрабатывается отображение в LDAP;

• поиск объектов в хранилище выполняется с помощью диалекта языка ODMG OQL;

• в качестве основы описания объектных схем используется язык RDF Schema;

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

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

характерных для многих информационных систем, включая, в частности, базовую информацию о публикациях, организациях, людях и их деятельности. Базовая схема научных метаданных базируется на открытых стандартах метаданных. Используются последние разработки Dublin Core Element Set и Qualified Dublin Core в RDFS. Совместимость с этими стандартами — гарантия интероперабельности со многими сторонними системами.

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

Результаты исследований по этому направлению изложены в работах [39-46].

7.3. Система оперативной интеграции данных BizQuery и проект Sedna. В ИСП РАН

под руководством С.Д. Кузнецова и при участии М.Н. Гринева, Л.Г. Новака, A.B. Фомичева и Д. А. Лизоркина ведется научно-исследовательская работа, связанная с разработкой системы интеграции данных на основе языка XML и управления XML-данными. Были разработаны общая архитектура и программный прототип системы оперативной интеграции данных BizQuery на основе технологий XML и UML. Основные возможности BizQuery заключаются в следующем:

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

• использование XML как для внутреннего представления данных, так и для представления результата;

• представление глобальной схемы интегрированных данных как в терминах UML, так и в терминах XML;

• возможность формулировки запросов к интегрированным данным с использованием декларативных языков запросов UQL (разработка группы) и XQuery в терминах UML и XML соответственно;

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

Эта работа поддерживается грантами РФФИ 02-01-01088-а и 02-07-90300-в. Она включена в программу фундаментальных исследований президиума РАН "Математические и алгоритмические проблемы информационных систем нового поколения". Результаты работ по созданию системы оперативной интеграции данных исследований BizQuery изложены в [47-53].

В работах [47-49] были разработаны: метод поддержки моделей данных UML и XML в рамках единой многоуровневой системы баз данных; язык запросов UQL, который позволяет формулировать запросы к данным в терминах UML диаграммы классов; метод трансляции UQL-запросов в запросы на языке XQuery; общий подход к логической оптимизации XQuery-запросов и достаточно полный набор правил перезаписи, позволяющий производить логическую оптимизацию таких запросов. Язык запросов UQL может служить основой для создания подсистем поддержки запросов, определяемых в терминах модели данных UML с повышенным уровнем семантики. Методы логической оптимизации выполнения XQuery-запросов могут быть использованы для повышения эффективности подсистем поддержки XQuery-запросов в XML СУБД и системах интеграции данных на базе XML. Разработан прототип системы, поддерживающей UQL-запросы и XQuery-запросы на разных уровнях в единой системе баз данных и включающей логический оптимизатор XQuery-запросов. Этот прототип был использован в качестве основы для создания в ИСП РАН системы виртуальной интеграции BizQuery.

Второе направление выполняемых исследований связано с проектом Sedna. Цель проекта — создание полнофункциональной XML-СУБД с поддержкой языка XQuery, расширенного средствами обновления хранимых данных, собственной подсистемой хранения XML-данных во внешней памяти, развитыми средствами буферизации данных в основной памяти, средствами управления транзакциями, журнализации и восстановления, в которых учитывается специфика XML-данных. Прототип

СУБД Sedna размещен на сайте http://www.modis.ispras.ru/ и доступен для опытного использования.

Результаты работ по проекту Sedna опубликованы в [54-56].

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

1. Ivannikov V., Gaissaryan S.,Avetisyan A., Padaryan V. Improving properties of a parallel program in ParJava environment // The 10th EuroPVM/MPI Conference. Venice, Sept. 2003. LNCS 2840. P. 491-494.

2. Ivannikov V., Gaissaryan S., Avetisyan A., Padaryan V. Model based recovery protocol in ParJava environment // PDPTA'04. June 21-24. 2004. Las Vegas, USA. P. 1118-1123.

3. Avetisyan A., Gaissaryan S., Samovarov O. Extension of Java environment by facilities supporting development of SPMD Java-programs // Ed. V. Malyshkin. PaCT 2001. LNCS 2127. Berlin; Heidelberg: Springer-Verlag, 2001. P. 175-180.

4. Аветисян А.И., Гайсарян С. С., Самоваров О. И. Возможности оптимального выполнения параллельных программ, содержащих простые и итерированные циклы на неоднородных параллельных вычислительных системах с распределенной памятью // Программирование. 2002. 28. № 1. С. 38-54.

5. К р ю к о в В. А., Удовиченко Р. Отладка DVM-программ / / Программирование. 2001. 27. № 3. С. 19-29.

6. Konovalov N.A., Krukov V.A., Mihailov S.N., Pogrebtsov A. A. Fortran DVM—a language for portable parallel program development // Proceedings of Software for Multiprocessors and Supercomputers: Theory, Practice, Experience. M.: Institute for System Programming RAS, 1994. P. 124-133.

7. Коновалов H.А., Крюков В. А., Михайлов С.H., Погребцов A. A. Fortran DVM — язык разработки мобильных параллельных программ // Программирование. 1995. 21. № 1. С. 49-54.

8. Коновалов Н.А., Крюков В. А., Погребцов А. А., Сазанов Ю.Л. C-DVM — язык разработки мобильных параллельных программ // Программирование. 1999. 25. № 1. С. 54-65.

9. Бахтин В. А., К о н о в а л о в Н. А., Крюков В. А. Расширение языка OpenMP Fortran для распределенных систем // Вопросы атомной науки и техники. Сер. Матем. моделир. физ. процессов. 2002. Вып. 4. С. 65-70.

10. Крюков В.А. Разработка параллельных программ для вычислительных кластеров и сетей // Информационные технологии и вычислительные системы. 2003. № 1-2. С. 42-61.

11. Коваленко В.Н., Коваленко Е.И., Корягин Д.А., Любимский Э.З., Орлов А.В., Хухлаев Е.В. Структура и проблемы развития программного обеспечения среды распределенных вычислений Грид. Препринт ИПМ РАН. № 22. М.: ИПМ РАН, 2002. С. 1-23.

12. Kovalenko V.N., Kovalenko E.I., Koryagin D.A., Ljubimskii E.Z., Orlov A.V., H u-hlaev E.V. Resource manager for GRID with global job queue and with planning based on local schedules // Nuclear Instruments and Methods in Physics Research. Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. 2003. 502. № 2-3. P. 411-414.

13. Avetisyan A., Gaissaryan S., Grushin D., Kuzjurin N., Shokurov A. Managing parallel computational tasks in a Grid environment // XIX Intern. Symp. on Nuclear Electronics and Computing. Varna, Bulgaria. 2003. P. 16-17.

14. Avetisyan A., Gaissaryan S., Grushin D., Kuzjurin N., Pospelov A., Shokurov A., Zhuk S.,Tchernykh A. Comparison of scheduling heuristics for Grid / / PCS 2004. Colima, Mexico: IEEE. 2004. P. 388-392.

15. Кулямин В. В., Петренко А. К., Косачев А. С., Бурдонов И. Б. Подход UniTesK к разработке тестов // Программирование. 2003. 29. № 6. С. 25-43.

16. Зеленова С. В., Зеленовой С. А., Петренко А. К. Генерация тестов для компиляторов и других текстовых процессоров // Программирование. 2003. 29. № 2. С. 59-69.

17. Bourdonov I. В., Kosatchev A.S.,Kuliamin V. V., Petrenko А. К. UniTesK test suite architecture // Proceedings of FME'2002 Conference. Copenhagen; Denmark: LNCS, 2002. N 2391. P. 77-88.

18. Petrenko A. Specification based testing: towards practice //VI Ershov Conference Proceedings. LNCS. 2001. N 2244. P. 287-300.

19. Petrenko A.K., Bourdonov I.В., Kosatchev A.S., Kuliamin V. V. Experiences in using testing tools and technology in real-life applications // Proceedings of SETT'01. Pune, India. 2001. P. 3-39.

20. Bourdonov I., Kosatchev A., Petrenko A., Gaiter D. KVEST: Automated generation of test suites from formal specifications // Proceedings of World Congress of Formal Methods. Toulouse, France: LNCS, 1999. N 1708. P. 608-621.

21. Kuliamin V.V., Petrenko A.K., Pakoulin N.V., Kosatchev A.S., Bourdonov I. B. Integration of functional and timed testing of real-time and concurrent systems // Proceedings of PSI'03, Novosibirsk. Lect. Notes in Comput. Sci. 2003. 2890. P. 450-461.

22. Kuliamin V., Petrenko A., Kosatchev A., Bourdonov I. UniTesK: Model based testing in industrial practice // Proceedings of the 1st European Conference on Model-Driven Software Engineering. Nuremberg: Imbus AG, 2003. P. 55-63.

23. Мансуров H.H., Рагозин А. С. Генерация кода с простой и наглядной структурой по языку SDL-92 // Вопросы кибернетики. Вып. 3. М.: Научный совет РАН по комплексной проблеме "Кибернетика", 1997. С. 162-181.

24. Mansurov N., Ragozin A., Chernov A. Industrial strength code generation from SDL // Proc. of the 8th SDL Forum. Elsevier Sci. Publ. В. V. (North-Holland). 1997. P. 415-430.

25. Чернов А. В. Интегрированная инструментальная среда Poirot для изучения методов маскировки программ. Препринт Ин-та системного программирования РАН. М.: ИСП РАН, 2003.

26.Гайсарян С.С., Чернов А.В., Белеванцев А.А., Маликов О.Р., Мельник Д.М., Меньшикова А. В. О некоторых задачах анализа и трансформации программ // Труды Ин-та системного программирования РАН. Т. 5. М.: ИСП РАН, 2004. С. 7-40.

27. Чернов А. В. Анализ запутывающих преобразований программ // Труды Ин-та системного программирования РАН. Т. 3. М.: ИСП РАН, 2002. С. 7-37.

28. Чернов А. В. Об одном методе маскировки программ // Труды Ин-та системного программирования РАН. Т. 4. М.: ИСП РАН, 2003. С. 85-119.

29. Chernov A. A new program obfuscation method // Proc. of the Adrei Ershov 5th Intern. Conf. "Perspectives of Systems Informatics". International Workshop on Program Understanding. Novosibirsk, 2003. P. 70-80.

30. Корухова JI. С., Любимский Э.З. О процедурности и непроцедурности в задачах планирования целенаправленной деятельности // Изв. РАН. Техническая кибернетика. 1994. № 5. С. 72-78.

31. Корухова Л. С., Любимский Э.З., Островский В. В. Программирование на основе стереотипов. Препринт ИПМ РАН. № 18. М.: ИПМ РАН, 1994.

32. Корухова Л.С., Любимский Э.З., Манжелей С.Г., Соловская Л. Б. Альтернативное немонотонное планирование при свободном взаимодействии процедурных и дедуктивных элементов // Вопросы кибернетики. Приложения системного программирования. № 2. М., 1996.

33. Вакин В.В., Корухова Л.С., Любимский Э.З., Малышко В. В. Ассоциативные методы планирования решений сложных задач. Препринт ИПМ РАН. № 81. М.: ИПМ РАН, 1997.

34. Вакин В. В., Корухова Л. С., Любимский Э.З. Об одном механизме вывода для экспертных систем с неполной информацией. Препринт ИПМ РАН. № 14. М.: ИПМ РАН, 2000. 26 с.

35. Ассоциативные и дедуктивные методы в планировании многошаговых многовариантных задач // Программные системы и инструменты. № 4. М.: Изд. отдел ф-та ВМиК МГУ, 2003. С. 108-121.

36. Корухова Л.С., Любимский Э.З., Малышко В.В. Реализация стратегий планирования на основе управляющих стереотипов. Препринт ИПМ им. М.В. Келдыша РАН. № 13. М.: ИПМ РАН, 2000.

37. Корухова Л.С., Любимский Э.З., Малышко В.В. Программные средства реализации ассоциативного планирования. Препринт ИПМ им. М.В. Келдыша РАН. № 10. М.: ИПМ РАН, 2002.

38. Вакин В. В., Корухова Л. С., Любимский Э.З. Сравнительный анализ экспертых систем диагностики. Препринт ИПМ им. М.В. Келдыша РАН. № 77. М.: ИПМ РАН, 1999.

39. Агошков С.В., Бездушный А.Н., Галочкин М.П., Кулагин М.В., Меденни-ков A.M., Серебряков В. А. Интегрированная система информационных ресурсов (ИСИР) РАН — подход к созданию интегрированных цифровых библиотек // Международная научная конференция "Электронные библиотеки: перспективные методы и технологии, электронные коллекции". СПб., 1999.

40. Agoshkov S., Bezdushny A., Galochkin М., Medennikov A., Koulagin М., Sегеbiа-k о v V. The integrated system of information resources of the Russian Academy of Sciences // Workshop on EIS-CCE/NIS Project "Establishment of Electronic Information Services in CCE/NIS". Dusseldorf, Germany, 1999.

41. Бездушный А.Н., Жнжченко А.Б., Кулагин М.В., Серебряков В.А. Интегрированная система информационных ресурсов РАН и технология разработки цифровых библиотек // Программирование. 2000. № 4.

42. Агошков С.В., Вигурский К.В., Поляков А.Е., Котов А.В., Серебряков В.А., Штольберг А. А. Технология и программная поддержка создания электронных изданий / / Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Сб. докладов Второй Всероссийской научной конференции. Протвино, 2000.

43. Бездушный А.Н., Ковалев Д.А., Серебряков В.А. Технологии репликации данных и распределенного поиска в ИСИР РАН // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Сб. докладов Третьей Всероссийской научной конференции. Петрозаводск, 2001.

44. Бездушный А. Н., Ковалев Д. А., Серебряков В. А. Архитектура сервисов интегрированной системы информационных ресурсов (ИСИР) // Электронный журнал, посвященный созданию и использованию электронных библиотек. М.: Ин-т развития информационного общества, 2002. 5. Вып. 1.

45. Бездушный А.А., Бездушный А.Н., Нестеренко А.К., Серебряков В.А., Сысоев Т.М. Архитектура RDFS-системы. Практика использования открытых стандартов и технологий Semantic Web в системе ИСИР // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Сб. докладов Пятой Всероссийской конференции. СПб., 2003.

46. Бездушный А.Н., Михеев П.Н., Меденников A.M., Серебряков В.А. Проектирование информационных Web-порталов в ИСИР // Электронный журнал, посвященный созданию и использованию электронных библиотек. М.: Ин-т развития информационного общества, 2004. 7. Вып. 1.

47. Grinev М., Kuznetsov S. An integrated approach to semantic-based searching by metadata over the Internet/Intranet // Proc. of the 5th East-European Conference on Advances in Databases and Information Systems (ADBIS). Professional Communications and Reports. 2001. 2. P. 25-28.

48. Grinev M., Kuznetsov S. UQL: A query language on integrated data in terms of UML // Programming and Computer Software. 2002. 28. N 4. P. 189-196.

49. Grinev M., Kuznetsov S. Towards an exhaustive set of rewriting rules for XQuery optimization: BizQuery experience // Proc. of the 6th East-European Conference on Advances in Databases and Information Systems (ADBIS). LNCS 2435. 2002. P. 340-345.

50.Antipin K., Fomichev A., Grinev M., Kuznetsov S., Novak L., Pleshachkov P., Rekouts M., Shiryaev D. Efficient virtual data integration based on XML // Proc. of the 7th East-European Conference on Advances in Databases and Information Systems (ADBIS). LNCS. 2003. P. 70-79.

51. H о в а к JI. Г., Кузнецов С. Д. Свойства схем данных XML / / Труды Ин-та системного программирования. Т 4. М.: ИСП РАН, 2003. С. 191-218.

52. Новак Л. Г., Кузнецов С. Д. Канонические формы схем XML // Программирование. 2003. 29. № 5. С. 65-80.

53. Антипин К., Фомичев А., Гринев М., Кузнецов С., Новак Л., Плешачков П., Рекуц М.,Ширяев Д. Оперативная интеграция данных на основе XML: системная архитектура BizQuery // Труды Ин-та системного программирования. Т. 5. М.: ИСП РАН, 2004. С. 157-175.

54. Rekouts М. Application programming interface for XML DBMS: design and implementation proposal // Proc. of the Spring Young Researcher's Colloquium on Database and Information Systems. St.Petersburg, 2004. P. 1-7.

55. Pleshachkov P., Novak L. Transaction isolation in the Sedna native XML DBMS // Proc. of the Spring Young Researcher's Colloquium on Database and Information Systems. St.Petersburg, 2004. P. 26-30.

56. Fomichev A. XML storing and processing techniques // Proc. of the Spring Young Researcher's Colloquium on Database and Information Systems. St.Petersburg, 2004. P. 13-16.

Поступила в редакцию 15.01.05