ВВЕДЕНИЕ |
6 |
1. ПРОБЛЕМЫ АНАЛИЗА АРХИТЕКТУРНОЙ НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СЛОЖНЫХ СИСТЕМ |
8 |
1.1. Повышение архитектурной надежности программного обеспечения |
9 |
1.1.1. Терминологические проблемы анализа архитектурной надежности |
10 |
1.1.2. Адекватность программных архитектур условиям и требованиям работоспособности систем |
14 |
1.1.3. Системные методы повышения архитектурной надежности |
17 |
1.2. Архитектура программного обеспечения сложных систем управления и обработки информации |
19 |
1.2.1. Фазы разработки программного обеспечения сложных систем управления и обработки информации |
19 |
1.2.2. Анализ фазы архитектурного дизайна |
20 |
1.2.3. Архитектурная спецификация критических систем |
26 |
2. МОДЕЛЬНО-АЛГОРИТМИЧЕСКИЙ АППАРАТ АНАЛИЗА АРХИТЕКТУРНОЙ НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СЛОЖНЫХ СИСТЕМ |
33 |
2.1. Аналитическое определение показателей архитектурной надежности программного обеспечения |
33 |
2.2. Модели анализа архитектурной надежности программного обеспечения сложных систем |
41 |
2.2.1. Универсальная модель анализа архитектурной надежности программного обеспечения сложных систем |
41 |
2.2.2. Анализ надежности программного обеспечения сложных систем на фазе кодирования |
45 |
2.2.3. Анализ надежности программного обеспечения сложных систем на фазе тестирования системы |
46 |
2.2.4. Операционные профили тестирования компонент |
48 |
2.2.5. Модель оценки надежности объектно-ориентированного программного обеспечения |
52 |
2.2.6. Модель оценки транзакционной надежности ПО сложных систем |
56 |
2.2.7. Модификация универсальной модели для анализа архитектурной надежности систем с программной архитектурой «клиент-сервер» |
59 |
3. ПРОБЛЕМЫ СОЗДАНИЯ МУЛЬТИВЕРСИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ |
67 |
3.1. Методология мультиверсионного программирования как средство повышения надежности программного обеспечения |
67 |
3.2. Критические замечания относительно современного состояния методологии мультиверсионного программирования |
72 |
4. СОЗДАНИЕ МУЛЬТИВЕРСИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПРИМЕНЕНИЕМ МУЛЬТИСИНТАКСИЧЕСКИХ ЯЗЫКОВ И ТЕХНОЛОГИЙ |
78 |
4.1. Неформальное определение мультисинтаксического языка (МСЯ) |
78 |
4.2. Обзор современных мультисинтаксических средств |
79 |
4.2.1. Использование ассемблерных вставок при программировании на языках высокого уровня |
79 |
4.2.2. Скриптовые языки для создания динамических Web-страниц |
84 |
4.2.3. Встраивание языков запросов данных в языки программирования |
87 |
4.2.4. Концепция Domain Specific Languages |
90 |
4.2.5. Синтаксис включений в программы на одном языке кода на другом языке |
92 |
4.3. Формальное описание мультисинтаксического языка |
94 |
5. МОДЕЛИРОВАНИЕ РАСПОЗНАВАТЕЛЕЙ МУЛЬТИСИНТАКСИЧЕСКИХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ |
99 |
5.1. Мультиавтоматы с магазинной памятью как средство распознавания мультисинтаксических языков |
99 |
5.2. Формирование таблиц синтаксического анализа мультисинтаксических языков программирования |
105 |
5.3. Лексический анализ мультисинтаксических языков программирования |
109 |
5.4. Семантический анализ мультисинтаксических языков программирования и этап синтеза компилятора МСЯ |
114 |
6. АВТОМАТИЗАЦИЯ РАЗРАБОТКИ ТРАНСЛЯТОРОВ МУЛЬТИСИНТАКСИЧЕСКИХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ МУЛЬТИВЕРСИОННЫХ ПРОГРАММНЫХ СИСТЕМ |
117 |
6.1. Система построения трансляторов мультисинтаксических языков программирования мультиверсионных систем MuYacc |
117 |
6.2. Входная спецификация системы MuYacc |
119 |
6.3. Применение трансляторов МСЯ при разработке мультиверсионного ПО |
123 |
6.3.1. Проект IntegrAsm – компилятор языка C, обеспечивающий вставки ассемблерного кода |
123 |
6.3.2. Проект MulQuery – компилятор языка C, обеспечивающий включение кода на языках запросов к СУБД |
125 |
6.3.3. Использование трансляторов MulQuery и IntegrAsm для разработки мультиверсионного ПО |
127 |
ЗАКЛЮЧЕНИЕ |
130 |
БИБЛИОГРАФИЧЕСКИЙ СПИСОК |
132 |