Имитационное моделирование в исследовании и разработке информационных систем Лекция 11 Организация взаимодействия разнородных имитационных моделей: стандарт HLA Взаимодействие компонентов информационных систем • Аппаратные компоненты – Каналы – Интерфейсы и протоколы • Программные компоненты – Файлы – Средства межпроцессного и сетевого взаимодействия – Промежуточное ПО (middleware) 2 Промежуточное ПО http://www.xserver.ru/computer/nets/razn/76/ Промежуточное ПО http://www.osp.ru/cw/2000/39/7455/ Промежуточное ПО • Web-сервисы • XML RPC • Component object model (COM), DCOM • CORBA • Java 2 Enterprize Edition Для передачи сообщений: • ZeroMQ (http://zeromq.org/) 5 Объединение имитационных моделей Важный потребитель: моделирование военных действий • объединение разнородных моделей – Подвижные объекты – Внешняя среда – Пункты управления – Связь, и т.д. • Подключение унаследованных (legacy) моделей 6 Distributed Interactive Simulator (DIS) Основная цель – объединение систем моделирования различных типов, распределённых географически Основная идея – стандартизация интерфейсов 7 Возможные типы участников • Человек (virtual) [human-in-the-loop] • Оборудование (live) [hardware-in-the-loop] • Модель (constructive) [as-fast-as-possible] ? ? ? Интерфейс Distributed Interactive Simulator 8 Принципы DIS (IEEE 1278) • Независимость узлов – Участник не знает получателей данных – Независимое продвижение времени у участников • Узлы передают состояние частной модели – передаются только изменения в состоянии – keep-alive (heart-beat) сообщения • Использование алгоритмов приближённого вычисления следующего состояния (счисление, dead reckoning) 9 Принципы DIS http://self.gutenberg.org/articles/distributed_int eractive_simulation Предопределённая системы типов сообщений Entity information/interaction family - Entity State, Collision, Collision-Elastic, Entity State Update, Attribute Warfare family Fire, Detonation, Directed Energy Fire, Entity Damage Status Logistics family - Service Request, Resupply Offer, Resupply Received, Resupply Cancel, Repair Complete, Repair Response Simulation management family - Start/Resume, Stop/Freeze, Acknowledge Distributed emission regeneration family Designator, Electromagnetic Emission, IFF/ATC/NAVAIDS, Underwater Acoustic, Supplemental Emission/Entity State (SEES) Radio communications family - Transmitter, Signal, Receiver, Intercom Signal, Intercom Control 10 И т.д. Dead reckoning Вместо постоянной пересылки состояний, участники предсказывают их изменения. Для этого строится локальная модель dead reckoning model (DRM). Улучшения алгоритма: • Компенсация времени [учитывает время передачи данных] • Сглаживание [плавное уменьшение ошибки] 11 Пример модели, поддерживающей DIS (и HLA) Имитатор полёта с открытым исходным кодом http://wiki.flightgear.org/Main_Page Реализация DIS с открытым исходным кодом http://opendis.sourceforge.net/javadoc/opendis/docs/index.html 12 Распределённое моделирование боевых действий Составные части HLA HLA 1.3 - 1998 г. Стандартизована IEEE 1516 2000-2010 • Правила HLA [определяет принципы стандарта HLA] • Object Model Template (OMT) [определяет формат описания FOM] • Run-Time Infrastructure (RTI) [набор служб, доступных участникам] 14 Основные понятия HLA Федерат – участник моделирования. Федерация – совокупность федератов. Объект – любой параметр, видимый сразу нескольким федератам в составе федерации. Издатель – федерат владеющий атрибутом объекта. Отражение – вызов федерата инфраструктурой RTI при изменении значения атрибута. Подписчик – федерат, желающий получать отражения. Взаимодействие (interaction) – сообщение Объект Идентификатор Издатель Атрибуты Подписчик Ассоциации 15 Архитектура HLA Федерат 1 Федерат n RTI FOM 16 Правила HLA [правила для федерации] 1. Федерации должны документировать Federation Object Model (FOM) в соответствии с OMT 2. Все представления объектов должны храниться в федератах [RTI не хранит состояния моделей] 3. Обмен данными между федератами происходит через RTI [правильность семантики - ответственность федерата] 4. Федераты взаимодействуют с RTI только через стандартные интерфейсы 5. У атрибута может быть только один владелец в конкретный момент времени 17 Правила HLA [правила для федератов] 1. Федераты должны документировать Simulation Object Model (SOM) в соответствии с OMT; 2. Федераты управляют продвижением локального времени; В соответствии с SOM федераты могут: 3. Модифицировать и/или отражать любые атрибуты объектов, и посылать и/или принимать взаимодействия; 4. Передавать и/или принимать права на использование атрибутов динамически; 5. Изменять условия, при которых необходимо обновить значения атрибутов объектов. 18 Объекты • Объект – хранилище для атрибутов [не содержит методов] • Атрибуты объекта распределены [атрибуты могут храниться не локально] • Наследование [одиночное наследование] • Флаги [publish/subscribe] 19 Свойства атрибута • Класс объекта • Имя • Тип • Мощность (число элементов массива) • Единицы измерения • Разрешение • Точность • Условия точности • Тип обновления • Условие обновления • Допускает приём и передачу владения • Допускает изменение и отражение 20 Таблицы HLA OMT 1. Таблица идентификации объектной модели [информация о FOM/SOM] 2. Таблица структуры классов объектов [иерархии классов] 3. Таблица структуры классов взаимодействия [иерархии классов] 4. Таблица атрибутов объектов [типы и характеристики] 5. Таблица параметров взаимодействия [типы и характеристики] 6. Таблица пространственной маршрутизации [области распределения данных] 7. Словарь FOM/SOM [определяет термины, используемые в других таблицах] 21 Службы RTI 1. Управление федерацией [запуск, остановка, приостановка, возобновление, входвыход…] 2. Управление декларациями [объявление и подписка на классы разделяемых объектов] 3. Управление объектами [создание и удаление объектов и сообщений, обновление атрибутов, посылка сообщений] 4. Управление правами доступа (владением) [передача владения атрибутом между федератами] 5. Управление временем [продвижение модельного времени и синхронизация] 6. Управление распределением данных [фильтрация обновлений и взаимодействий по пространству маршрутизации и регионам] http://www.pitch.se/images/files/tutorial/TheHLAtutorial.pdf 22 Управление объявлениями Публикация класса объекта (или сообщения) – заявление возможности создавать экземпляры объектов • Object Publication • Interaction Publication Подписка на класс объектов • Object Subscription • Interaction Subscription При подписке учитывается иерархия 23 классов Управление объектами • Registering – создание объекта; • Discovering – уведомление подписчика о создании, • Deleting - удаление • updating – обновление атрибутов объекта • Reflecting – уведомление подписчика об обновлении • Передача и приём сообщений Можно явно запросить обновление атрибута 24 Управление временем • У каждого федерата – свои локальные часы; • Сообщению присваивается временная метка отправителя (сообщение == update || interaction) • (один из вариантов настройки): сообщения доставляются в порядке возрастания временных меток 25 Управление временем (2) Запроcы: • queryFederateTime() • timeAdvanceRequest( t ) • nextEventRequest( t ) • Ответ (callback) • timeAdvanceGrant() – либо до t, либо до времени следующего события 26 Дополнительные службы • Управление владением (ownership) – Переход атрибута объекта от одного федерата к другому (смена имитационной модели для объекта) • Управление распределением данных (data distribution) – Объявление пространства маршрутизации по некоторым атрибутам объекта – Ограничение рассылки пространством маршрутизации 27 Реализации RTI • Коммерческие (MAK Software, Pitch AB, …) • С открытым кодом (CERTI) http://savannah.nongnu.org/projects/certi И не только … 28 Литература Замятина. Современные теории имитационного моделирования www.sisostds.org – Simulation Interoperability Standards Organization Стандарты по средствам моделирования, в том числе в военном деле Simulation Interoperability Workshop (дважды в год); доступны тексты докладов (в основном, модели театра военных действий) simulation.su – российская ассоциация имитационного моделирования; подборка материалов wintersim.org – ежегодная международная конференция по ИМ 29 Спасибо за внимание! 30