Инструментальная система распределенного имитационного моделирования (Объектно-событийный подход)
Иерархическая структура модели группа (головная) группа объект процесс (прибор) прибор (процесс)... элемент (метод)...
Данные Библиотека каталогизированных типов Данные, общие для всех экземпляров типа («константы») Данные, различающиеся по экземплярам («фазовые переменные»)
Структура процесса... Исходящие сигналыВходящие сигналы... Элементы
Модельное время Выбор шага модельного времени t. Классификация элементов по отношению к шагу модельного времени: А) Сосредоточенные (быстрые,
Планирование событий Сосредоточенный элемент Метод + планировщик событий Распределенный элемент Метод Планировщик событий (таймер) Планировщик событий (таймер) Условно-распределенный элемент
Ахиллес и черепаха
Группа test = GROUPE OBJECTS : man(2), bee(1); END; PHASETYPE = RECORD dist : REAL; back : BACKGRND; END;
Объект bee = OBJECT DEVICES : fly(1); END; PHASETYPE = RECORD LEFT : BOOLEAN; velocity, x : REAL; pict : ARRAY [0..1] OF PICTURE; END;
Прибор fly(FLY) = DEVICE FASTELS : endofrun; SLOWELS : motion; ROOTELM : motion; END; SWITCHES = endofrun : motion; motion : endofrun; END;
Сигналы Объект Исходящий сигнал Входящий сигнал Прибор Сообщение
Коммутация сигналов Исходящий сигнал Входящий сигнал Сообщение
Примеры описаний КОМАНДА = GROUPE OBJECTS : TPEHEP(1). ФУТБОЛИСТ (16), ВРАТАРЬ(2); GROUPES : МАССАЖИСТЫ (1); END; CONNECTIONS = [0] МАССАЖИСТЫ[0] = [0] ТРЕНЕР[0]; i=0..15 : [0] ФУТБОЛИСТ[i] = [i+2] ТРЕНЕР[0]; i=0..15 : [1] ФУТБОЛИСТ[i] = [i]; [ 16] = [1] ТРЕНЕР[0]; i=0..15 : [i] = [0] ФУТБОЛИСТ[i]; END; PHASETYPE = RECORD болельщики : LONGINT; END; CONSTTYPE = RECORD; ПризЗаПобеду : CARDINAL; END; ФУТБОЛИСТ = OBJECT DEVICES : Мозг(1), Голова(1), ПараНог(1); END; CONNECTIONS = i=0..1 : [i] Мозг[0] = [i]; [0] Голова[0] = [0] ПараНог[0]; i=0..1 : [i] ПараНог[0] = [[i] Мозг[0]; [0] = [1] ПараНог[0]; END; PHASETYPE = RECORD точка, скорость : ВЕКТОР; вес, рост : REAL; номер : CARDINAL; травмы : LIST OF ЧастьТела : (ЛеваяНога, ПраваяНога); тяжесть : (тяжелая, легкая); ВремяПолучения : REAL; END;
Описание прибора МОЗГ = DEVICE FASTELS : СменаПоведения; SLOWELS : Ожидание, Управление; CONVELS : ВыборПоведения; ROOTELM : Ожидание; END; CONNECTIONS = i=0..1 : [i] INT = [i]; [2] INT = [2] INT + ИНФОРМАЦИЯ; [0] = [0] INT + ПРИКАЗ; [1] = [1] INT; END; SWITCHES = Ожидание : СменаПоведения, 0 + 1, ВыборПоведения; СменаПоведения : Управление; ВыборПоведения : Управление; Управление : СменаПоведения, 1, Ожидание; END; PHASETYPE = RECORD Состояние : (ясный, усталый); END;
Синхронизация процессов
Структура распределенной модели... Исходящие сигналыВходящие сигналы Головные группы, реализованные на разных компьютерах
Сигналы в головных группах Транзитные сигналы: [1] = [3]; (* третий входной сигнал передается далее по кольцу, как первый выходной *) Выходные сигналы: i=0..5 : [i] = [0] ОБЪЕКТ[i]; Входные сигналы: i=0..2 : [i] ГРУППА[0] = [i];