Введение
1 Обзор области применения графов. методов их представления и обработки в компьютерных системах. постановка задачи 25
1.1 Использование графов в компьютерных системах 25
1.2 Области использования неоднородных графовых структур 27
1.3 Общие сведения 28
1.4 Основные методы описания структуры графов 29
1.4.1 Описание структуры текстовых документов 30
1.4.2 Описание структуры xml документов 31
1.4.3 Другие методы описания структуры графов 32
1.4.4 Описание структуры внутрипрограммного представления графов 33
1.4.4.1 Объектно-ориентированное представление данных 33
1.4.4.2 Гомогенное представление графа 34
1.4.4.3 Гетерогенное представление графа 36
1.4.4.4 Использование описания структуры текстового, xml или другого внепрограммного представления данных для описания структуры внутрипрограммного представления 42
1.4.4.5 Описание структуры внутрипрограммного представления графов на специализированных языках 44
1.5 Необходимые возможности языка описания структуры графов 45
1.5.1 Синтаксис языка 46
1.5.2 Типизация элементов структуры данных 48
1.5.3 Поддержка жизненного цикла графа 51
1.5.4 Определение операций над графами 53
1.5.5 Модульность описания структуры графов 54
1.5.6 требования к инструментальной поддержке 56
1.6 Постановка задачи 57
2 Язык описания графовых структур treedl 60
2.1 Синтаксис языка 60
2.2 Типы данных 61
2.2.1 Типы вершин 62
2.2.2 Предопределенные типы 63
2.2.3 Перечислимые типы 64
2.2.4 Пользовательские типы 66
2.2.5 Типовые выражения 66
2.2.6 Поддержка жизненного цикла графа 68
2.2.7 Дополнительная декларативная информация 69
2.2.8 Пользовательский код 71
2.2.8.1 Ограничения на значение отдельного поля 71
2.2.8.2 Ограничения на совокупность значений полей 72
2.2.8.3 Синтезируемые атрибуты 73
2.2.8.4 Поля с отложенным вычислением значения 74
2.2.8.5 Поддержка нескольких целевых языков программирования 75
2.2.9 Наследование типов вершин 76
2.3 Модули 81
2.4 Операции над графом 84
2.4.1 Определение операций над графом 84
2.4.2 Расширение определения операций 89
2.5 Пример использования языка treedl для описания графовой структуры -описание структуры абстрактного синтаксиса bnf грамматики 90
2.6 Общая схема трансляции 93
2.7 Основные результаты главы 93
3 Инструментальная поддержка языка treedl 95
3.1 Анализатор языка 96
3.2 Открытая платформа для обработки языка treedl 97
3.3 Запуск инструмента из командной строки 100
3.4 Интеграция со средой разработки eclipse 101
3.5 Общая структура библиотеки атр 103
3.6 Общая структура инструмента treedl 104
3.7 Основные результаты главы 106
4 Апробация языка treedl 108
4.1 Транслятор исполнимого подмножества языка спецификации rsl в процедурный fl3bikprotel 108
4.2 Транслятор спецификационного расширения языка java ill
4.3 Транслятор спецификационного расширения языка с# 114
4.4 Модуль интеграции транслятора спецификационного расширения языка со
средой разработки 116
4.5 Генератор тестов на основе моделей 117
4.6 открытый анализатор языка java для специализированной обработки и расширения языка 119
4.7 Основные результаты главы 121
Заключение 123
Благодарности 125
Литература


