Введение
ГЛАВА 1. Обзор методов проектирования и реализации реактивных систем на основе конечных автоматов 12
1.1. Язык описания и спецификации SDL 12
1.2. Графический язык Statecharts 14
1.3. Синхронное программирование 19
1.3.1. SbhnsiArgos 22
1.3.2. Язык SyncCharts 23
1.4. ЯЮТСЯ-технология 24
1.5. Реализация систем на основе Ж7ТСЯ-технологии 27
1.6. Конечные автоматы в объектно-ориентированных системах . 28
1.6.1. Паттерн проектирования State и его варианты 31
1.6.2. Реализация автоматных объектов на основе методов 33
1.6.3. Расширение поведения конечных автоматов с помощью наследования 34
Выводы 36
ГЛАВА 2. Реализация автоматных систем на основе библиотеки STOOL 38
2.1. Термины и определения 39
2.2. Архитектура библиотеки STOOL 40
2.3. Обзор классов библиотеки STOOL 42
2.4. Основные возможности 44
2.4.1. Выделение состояния системы в целом 44
2.4.2. Действия и деятельности 45
2.4.3. Повторное использование автоматов 46
2.4.4. Автоматическое протоколирование 47
2.4.5. Механизм обработки ошибок 48
2.4.6. Параллельные вычисления 49
2.4.7. Реализация входных и выходных воздействий 51
2.5. Пример использования библиотеки STOOL , 55
2.5.1. Проектирование и реализация автоматов 55
2.5.2. Реализация окружения 60
2.5.3. Связывание системы автоматов 61
2.5.4. Протоколирование работы системы 63
2.5.5. Запуск системы автоматов 64
Выводы 65
ГЛАВА 3. Графическая нотация для проектирования автоматных объектов 66
3.1. Термины и определения 66
3.2. Наследование автоматных объектов 68
3.3. Декомпозиция и структурирование логики автоматных объектов 71
3.4. Диаграммы поведения автоматных объектов 72
3.4.1. Графическое представление наследования автоматов 74
3.4.2. Графическое представление структурирования логики автоматных объектов 76
Выводы 80
ГЛАВА 4. Реализация автоматных объектов на основе виртуальных методов и виртуальных вложенных классов 81
4.1. Демонстрационный пример: доступ к файлу 81
4.2. Реализация автоматных объектов на основе виртуальных методов 86
4.2.1. Термины и определения 86
4.2.2. Метод реализации автоматных объектов на основе виртуальных методов 87
4.2.3. Отношения и взаимодействия 88
4.2.4. Реализация посредника 90
4.2.5. Реализация контекста и структурирование логики 93
4.2.6. Расширение логики с помощью наследования 96
4.2.7. Каркас VMBase 98
4.2.8. Недостатки FM-метода 101
4.3. Реализация автоматных объектов на основе виртуальных вложенных классов 102
4.3.1. Термины и определения 103
4.3.2. Метод реализации автоматных объектов на основе виртуальных вложенных классов 103
4.3.3. Отношения и взаимодействия 105
4.3.4. Реализация посредника 108
4.3.5. Реализация контекста и структурирование логики 109
4.3.6. Расширение логики с помощью наследования 114
4.3.7. Реализация расширения поведения в группе состояний .116
4.3.8. Каркас VICBase 118
Выводы 119
ГЛАВА 5. Внедрение предложенных методов проектирования и реализации автоматных объектов в практику разработки реактивных систем 121
5.1. Эмуляция систем связи Inmarsat-C и Inmarsat-D+ 122
5.1.1. Область внедрения 122
5.1.2. Использование глобальных систем спутниковой связи.. 122
5.1.3. Тестирование взаимодействия с системами глобальной спутниковой связи 124
5.1.4. Постановка задачи 127
5.1.5. Применимость автоматного программирования 127
5.1.6. Проектирование поведения терминала системы Inmarsat 128
5.1.7. Реализация терминала системы Inmarsat 133
5.2. Каркас для построения графических редакторов Iris 137
5.2.1. Обзор каркаса Unidraw 138
5.2.2. Механизмы редактирования в каркасе Unidraw 139
5.2.3. Архитектура каркаса/га 145
5.2.4. Механизмы в каркасе Iris 146
5.2.5. Реализация манипуляторов в каркасе/ 149
5.3. Сравнение методов реализации автоматных объектов 160
Выводы 163
Заключение 165
Литература 167


