Организация взаимодействия разнородных имитационных моделей: стандарт HLA Имитационное моделирование в исследовании

advertisement
Имитационное моделирование в исследовании
и разработке информационных систем
Лекция 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
Download