Российская Академия Наук
Ордена Трудового Красного Знамени
Институт радиотехники и электроники
На правах рукописи
Морозов Алексей Александрович
Логический анализ
функциональных диаграмм
в процессе интерактивного
проектирования информационных
систем
05. 13. 11 — математическое и программное обеспечение
вычислительных машин, комплексов, систем и сетей
Диссертация на соискание учёной степени кандидата
физико-математических наук
Научный руководитель
доктор
физико-математических
наук Ю. В. Обухов
Москва 1998
Оглавление
Введение 4
1 Синтаксис, семантика и проблемы логической интерпре-
тации функциональных диаграмм 17
1. 1 Синтаксис функциональных диаграмм . . . . . . . . . . . . 19
1. 1. 1 Функциональные диаграммы Росса . . . . . . . . . . 19
1. 1. 2 Диаграммы потоков данных . . . . . . . . . . . . . . 22
1. 1. 3 Функциональные диаграммы систем виртуальных
приборов . . . . . . . . . . . . . . . . . . . . . . . . . 26
1. 2 Семантика функциональных диаграмм . . . . . . . . . . . . 27
1. 3 Проблемы логической интерпретации функциональных
диаграмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1. 3. 1 Логическая интерпретация объектов . . . . . . . . . 36
1. 3. 2 Взаимодействие человека и машины . . . . . . . . . 37
1. 3. 3 Поддержка согласованности объектов . . . . . . . . . 39
1. 4 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2 Метод интерактивного функционального моделирования
информационных систем и Акторный Пролог 41
2. 1 Логическая акторная модель функциональных диаграмм
информационных систем . . . . . . . . . . . . . . . . . . . . 43
2. 2 Структурные семантические модели . . . . . . . . . . . . . 46
2. 2. 1 Классы, миры, наследование . . . . . . . . . . . . . . 47
2. 2. 2 Пример структурной семантической модели . . . . . 52
2. 3 Интерактивные семантические модели . . . . . . . . . . . . 54
2. 4 Имитационные семантические модели . . . . . . . . . . . . . 58
2. 5 Разработка Акторного Пролога . . . . . . . . . . . . . . . . 64
2. 6 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1
3 Семантика Акторного Пролога 66
3. 1 Корректность логической интерпретации ООП . . . . . . . 67
3. 2 Архитектура акторной машины . . . . . . . . . . . . . . . . 80
3. 3 Система переходов . . . . . . . . . . . . . . . . . . . . . . . . 87
3. 3. 1 Автономное доказательство актора . . . . . . . . . . 87
3. 3. 2 Взаимодействие акторов . . . . . . . . . . . . . . . . 93
3. 4 Операционная семантика акторной машины . . . . . . . . . 97
3. 5 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4 Использование Акторного Пролога для анализа функци-
ональных диаграмм информационных систем 100
4. 1 Цель и этапы моделирования . . . . . . . . . . . . . . . . . . 101
4. 2 Описание модулей системы . . . . . . . . . . . . . . . . . . . 102
4. 3 Трансляция SADT-модели . . . . . . . . . . . . . . . . . . . 114
4. 4 Исполнение логической программы . . . . . . . . . . . . . . 121
4. 5 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Заключение 125
Список литературы 127
A Определение Акторного Пролога 135
A. 1 Алфавит языка . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A. 2 Лексика . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 138
A. 2. 1 Лексемы . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A. 2. 2 Комментарии . . . . . . . . . . . . . . . . . . . . . . . 142
A. 3 Определение данных . . . . . . . . . . . . . . . . . . . . . . . 143
A. 3. 1 Простые термы . . . . . . . . . . . . . . . . . . . . . 144
A. 3. 2 Составные термы . . . . . . . . . . . . . . . . . . . . 145
A. 3. 3 Выражения . . . . . . . . . . . . . . . . . . . . . . . . 148
A. 3. 4 Унификация термов . . . . . . . . . . . . . . . . . . . 149
A. 4 Структура программы . . . . . . . . . . . . . . . . . . . . . 150
A. 4. 1 Классы . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A. 4. 2 Проект . . . . . . . . . . . . . . . . . . . . . . . . . . 155
A. 4. 3 Трансляция программных модулей . . . . . . . . . . 156
A. 5 Предложения классов . . . . . . . . . . . . . . . . . . . . . . 157
A. 5. 1 Собственные предложения . . . . . . . . . . . . . . . 159
A. 5. 2 Заголовки внешних предложений . . . . . . . . . . . 162
A. 5. 3 Объявления внешних вызовов . . . . . . . . . . . . . 163
2
A. 6 Атомарные формулы . . . . . . . . . . . . . . . . . . . . . . 164
A. 6. 1 Простые атомы . . . . . . . . . . . . . . . . . . . . . 164
A. 6. 2 Бинарные отношения . . . . . . . . . . . . . . . . . . 165
A. 6. 3 Объявления функций . . . . . . . . . . . . . . . . . . 166
A. 7 Акторный механизм . . . . . . . . . . . . . . . . . . . . . . . 168
A. 7. 1 Акторы . . . . . . . . . . . . . . . . . . . . . . . . . . 168
A. 7. 2 Общие переменные . . . . . . . . . . . . . . . . . . . 170
A. 7. 3 Согласование акторов . . . . . . . . . . . . . . . . . . 173
A. 7. 4 Корректное разрушающее присваивание . . . . . . . 178
A. 7. 5 Актуализация значений общих переменных . . . . . 179
A. 7. 6 Копирование производных значений . . . . . . . . . . 180
A. 7. 7 Обработка исключительных ситуаций . . . . . . . . 181
A. 8 Встроенные предикаты и операторы . . . . . . . . . . . . . 183
B Синтаксические правила Акторного Пролога 185
C Термины и определения 189
3
Введение
В диссертации развит аппарат объектно-ориентированного логического
программирования, исследованы и разработаны логические средства для
семантического анализа функциональных диаграмм при интерактивном
проектировании информационных систем.