Архитектура высокого уровня ( High Level Architecture , HLA ) — это стандарт для распределенного моделирования, используемый при построении моделирования для более масштабной цели путем объединения (федерации) нескольких симуляций. [1] Стандарт был разработан в 1990-х годах под руководством Министерства обороны США [2] и позднее был преобразован в открытый международный стандарт IEEE. Это рекомендуемый стандарт в НАТО через STANAG 4603. [3] Сегодня HLA используется в ряде областей, включая оборону и безопасность, а также гражданские приложения.
Цель HLA — обеспечить взаимодействие и повторное использование. Ключевые свойства HLA:
HLA формирует основу для разработки стандартизированных и расширяемых FOM в различных областях, например, в аэрокосмической и оборонной промышленности.
Архитектура определяет следующие компоненты.
Вместе вышеуказанные компоненты образуют Федерацию .
Стандарт HLA состоит из трех частей:
HLA была инициирована в начале 1990-х годов, когда доктор Анита К. Джонс , директор по оборонным исследованиям и инжинирингу Министерства обороны США, поручила Управлению моделирования и симуляции обороны (DMSO) задачу «обеспечения совместимости и возможности повторного использования оборонных моделей и симуляций». [1] В 1995 году DMSO сформулировал видение моделирования и симуляции и создал генеральный план моделирования и симуляции, который включал архитектуру высокого уровня.
Уже существовало два протокола для взаимодействия M&S: Distributed Interactive Simulation (DIS), фокусирующийся на моделировании на уровне платформы в реальном времени с фиксированной объектной моделью, и Aggregate Level Simulation Protocol (ALSP), фокусирующийся на моделировании агрегата с управлением временем, управлением собственностью и гибкими объектными моделями, называемыми моделями конфедерации. Целью HLA было предоставить один унифицированный стандарт, который бы отвечал требованиям к взаимодействию моделирования всех компонентов Министерства обороны США. [2]
Разработка HLA основывалась на четырех прототипических федерациях: Platform Prototype Federation, Joint Training Protofederation, Analysis Protofederation и Engineering Prototype Federation. Спецификация HLA была прототипирована и доработана, пока HLA 1.3 не был окончательно выпущен. Чтобы облегчить использование за пределами оборонного сообщества, HLA затем был переведен в стандарт IEEE, поддерживаемый Simulation Interoperability Standards Organization (SISO). Чтобы облегчить миграцию для пользователей DIS, также была разработана модель объектов федерации, соответствующая фиксированной объектной модели DIS, как Real-time Platform Reference FOM ( RPR FOM ).
Существуют следующие версии HLA:
HLA 1.3 был опубликован в марте 1998 года DMSO. Он состоит из:
Министерство обороны США также опубликовало интерпретации для HLA 1.3:
HLA IEEE 1516-2000 был опубликован IEEE в 2000 году. Он состоит из:
Основные усовершенствования в IEEE 1516-2000 включали FOM на основе XML с подробными спецификациями типов данных, а также улучшенную конструкцию DDM.
Стандарт IEEE 1516-2000 также был дополнен рекомендуемым процессом разработки, а также рекомендуемым процессом VV&A:
Вскоре было обнаружено, что стандарт 1516-2000 имел API, которые немного отличались для каждой реализации RTI. SISO разработал стандарт с альтернативными, совместимыми с динамическими ссылками (DLC) C++ и Java API:
Позднее API DLC были объединены в основной стандарт.
Стандарт IEEE 1516-2010 был опубликован в августе 2010 года IEEE и широко известен как HLA Evolved. [7] Он состоит из:
Основные улучшения в IEEE 1516-2010 включают модульные FOM, [8] включение API DLC в C++ и Java, API веб-сервисов [9] и отказоустойчивость. [10]
Машиночитаемые части этой версии HLA, такие как XML-схемы, C++, Java и API WSDL , а также образцы FOM/SOM можно загрузить из раздела загрузок IEEE 1516 на веб-сайте IEEE. Полные тексты стандартов доступны бесплатно для членов SISO или могут быть приобретены в магазине IEEE.
Разработка новой версии HLA началась в январе 2016 года SISO и продолжается в настоящее время.
Стандарт HLA состоит из трех частей:
Службы RTI определены в спецификации интерфейса HLA. Они сгруппированы в семь групп служб. В дополнение к этим службам, модель объектов управления (MOM) предоставляет службы, которые позволяют программно проверять и корректировать состояние федерации.
Большинство RTI состоят из центрального компонента RTI (CRC), который является исполняемым файлом, и локальных компонентов RTI (LRC), которые являются библиотеками, используемыми федератами. Услуги предоставляются через API C++ или Java , а также с использованием веб-сервисов. В API C++ и Java службы вызываются с помощью вызовов экземпляра класса RTI Ambassador. RTI доставляет информацию федерату с помощью обратных вызовов, которые доставляются с помощью вызовов экземпляра класса Federate Ambassador. В API веб-сервисов, определенном с помощью WSDL , вызовы выполняются, а обратные вызовы извлекаются федератом с помощью запросов и ответов веб-сервисов.
Описания групп услуг ниже сосредоточены на ключевых услугах. Исключения и рекомендации не включены.
Целью служб управления федерацией, описанных в главе 4 спецификации интерфейса HLA [5] , является управление выполнением федерации, а также операциями в масштабах всей федерации, такими как точки синхронизации и сохранение/восстановление.
Один набор служб управления федерацией управляет подключением к RTI, выполнением федерации и набором присоединенных федератов. Ключевые службы:
Другой набор служб относится к точкам синхронизации. Это события, охватывающие всю федерацию, где все или выбранные федераты должны завершить операцию, например, инициализировать сценарий, прежде чем выполнение может быть продолжено. Ключевые службы:
Еще один набор услуг относится к сохранению и восстановлению выполнения федерации. Операция сохранения требует, чтобы и RTI, и каждый федерат выполнили сохранение своего внутреннего состояния. Операция восстановления требует, чтобы и RTI, и каждый федерат выполнили восстановление своего внутреннего состояния. Ключевые услуги:
Сохранять:
Восстановить:
Целью служб управления декларациями, описанных в главе 5 спецификации интерфейса HLA [5] , является предоставление возможности федератам объявлять, какую информацию они хотят публиковать (отправлять) и на которую они хотят подписываться (получать) на основе классов объектов и взаимодействий в FOM. RTI использует эту информацию для маршрутизации обновлений и взаимодействий подписавшимся федератам. Для класса объектов публикация и подписка выполняются для определенного набора атрибутов. Для классов взаимодействия публикуется и подписывается все взаимодействие, включая все параметры. Ключевые службы:
Целью служб управления объектами, описанных в главе 6 спецификации интерфейса HLA [5] , является предоставление возможности федератам обмениваться информацией об экземплярах объектов и обмениваться взаимодействиями.
Имена экземпляров объектов могут быть зарезервированы или автоматически сгенерированы. Федераты могут регистрировать экземпляры объектов указанных классов объектов, которые затем обнаруживаются подписавшимися федератами. Атрибуты этих экземпляров объектов могут быть обновлены. Эти обновления будут отражены в подписавшихся федератах. Взаимодействия могут быть отправлены. Эти взаимодействия будут доставлены подписавшимся федератам. Ключевые службы:
Объекты:
Атрибуты:
Взаимодействия:
Целью служб управления владением, описанных в главе 7 спецификации интерфейса HLA [5] , является динамическое управление тем, какой федерат имитирует какой аспект экземпляра объекта. В HLA только одному федерату разрешено обновлять заданный атрибут заданного экземпляра объекта. Этот федерат считается владельцем атрибута. Федерат, регистрирующий новый экземпляр объекта, автоматически становится владельцем всех публикуемых им атрибутов. В некоторых случаях атрибуты экземпляра объекта могут стать бесхозными, т. е. не принадлежащими ни одному федерату.
Управление владением предоставляет услуги по передаче права собственности на один или несколько атрибутов во время выполнения, что может включать в себя федерацию, отчуждающую атрибут, и другую федерацию, приобретающую атрибут. Существует два основных шаблона: «pull», инициируемые приобретающим федератом, и «push», инициируемые отчуждающим федератом.
Ключевые услуги для инициирования «тянущего» владения:
Ключевые услуги для инициирования «проталкивания» права собственности:
Все экземпляры объектов имеют предопределенный атрибут HLAPrivilegeToDeleteObject. Только владелец этого атрибута для экземпляра объекта может удалить экземпляр объекта. Право собственности на этот атрибут может быть передано во время выполнения с помощью вышеуказанных операций.
Обмен информацией в федерации HLA происходит в режиме реального времени с немедленной (Receive Order, RO) доставкой сообщений, если только не включено управление временем HLA. Целью управления временем HLA, описанного в главе 8 спецификации интерфейса HLA [5] , является обеспечение причинно-следственной связи и корректного и последовательного обмена сообщениями с метками времени (обновления и взаимодействия) в порядке меток времени (TSO), независимо от того, выполняется ли федерация в реальном времени, быстрее, чем в реальном времени, медленнее, чем в реальном времени или настолько быстро, насколько это возможно.
Некоторые важные концепции управления временем HLA:
Логическое время : ось времени в HLA, начинающаяся с нуля. Логическое время используется для временных меток и операций управления временем. Ось логического времени может быть сопоставлена со временем сценария федерации. Примером такого сопоставления является то, что ноль представляет время сценария 8:00 1 января 1066 года, а приращение на единицу представляет одну секунду сценария.
Lookahead : Временной интервал, указывающий наименьшее время в будущем, для которого федерат будет производить сообщения. Для федерата с фиксированным временным шагом это обычно длина временного шага.
Предоставлено : федерату предоставляется (разрешается продвигаться) до определенного логического времени RTI, когда все сообщения с временной меткой до этого времени будут доставлены. Затем федерат может безопасно начать вычислять сообщения с временной меткой в будущем. Эта временная метка не может быть раньше предоставленного времени плюс прогнозируемое федератом время.
Advancing : Когда федерат закончил производить данные для предоставленного времени плюс lookahead, он может запросить переход на более позднее время, что также означает, что он обещает не производить больше сообщений с временной меткой меньше, чем запрошенное время плюс lookahead. Теперь федерат находится в состоянии advancing.
Регулирование времени : Федерация, отправляющая события с меткой времени, считается Регулированием времени, поскольку ею может регулироваться ход времени другими федерациями.
Ограничение по времени : федерация, получающая управляемые по времени события, считается ограниченной по времени, поскольку получение сообщений с меткой времени ограничивает ее продвижение по времени.
Основные принципы HLA Time Management заключаются в следующем:
Пример Lookahead, предоставленного и продвигающегося:
Если хотя бы один федерат в федерации выполняет тактирование, т. е. коррелирует свои запросы на опережение времени с часами реального времени, федерация может работать в реальном времени или масштабированном реальном времени. Без тактирования федерация будет работать так быстро, как только возможно (например, федерации, не требующие человеческого взаимодействия во время выполнения или интерфейсов с системами, зависящими от часов реального времени, могут работать так быстро, как позволяют вычислительные ресурсы).
Основные услуги включают в себя:
Для моделирования на основе событий федерат также может запросить переход к следующему событию, используя следующую службу:
Еще одна важная концепция — это наибольшее доступное логическое время (GALT). Наибольшее время, которое может быть предоставлено каждому федерату, зависит от времени, которое было предоставлено другим федератам, а также от их прогноза. GALT для федерата определяет, насколько далеко федерат может быть предоставлен, без необходимости ждать предоставления другим федератам. Это особенно интересно для федерата, который присоединяется поздно к федерации, управляемой по времени.
Ключевые услуги для GALT:
Более продвинутые услуги включают в себя:
Целью DDM, описанной в главе 9 спецификации интерфейса HLA [5] , является повышение масштабируемости федераций путем выполнения дополнительной фильтрации подписанных данных за пределами подписок на классы и атрибуты. [11] Фильтрация может быть основана на непрерывных значениях (например, широта и долгота) или дискретных значениях (например, марка автомобиля).
Ключевые концепции DDM:
Dimension : именованный интервал (0..n), используемый для фильтрации, со значениями, начинающимися с 0 и заканчивающимися верхней границей n. Данные в области моделирования сопоставляются с одним или несколькими измерениями. Например, измерениями для географической фильтрации могут быть LatitudeDimension и LongitudeDimension. Измерением для фильтрации на основе марки автомобиля может быть CarBrandDimension.
Функция нормализации : функция, которая сопоставляет входные значения с целыми значениями для использования в измерении. Примером может служить функция нормализации для LatitudeDimension, которая может сопоставлять значение широты в диапазоне от -90,0 до +90,0 с целым числом в диапазоне 0..179. Функция нормализации для CarBrandDimension может сопоставлять набор марок автомобилей Kia, Ford, BMW и Peugeot с целым числом в диапазоне 0..3.
Диапазон : интервал измерения, заданный нижней границей (включительно) и верхней границей (исключая).
Region : набор диапазонов, каждый из которых относится к определенному измерению. В приведенном выше примере регион может состоять из диапазона (3..5) для LatitudeDimension (55..65) для LongitudeDimension и (0..1) для CarBrandDimension. Во время выполнения создаются экземпляры Region Realizations (объекты) для представления регионов. Диапазоны региона могут изменяться с течением времени.
Перекрытие областей : две области перекрываются, если для всех общих измерений их диапазоны перекрываются.
Во время выполнения федерат может предоставлять регионы при подписке на атрибуты и взаимодействия класса объекта. Регионы также используются при отправке обновлений атрибутов и взаимодействий. При использовании DDM обновления атрибутов и взаимодействия будут доставлены только в случае перекрытия регионов.
Ключевые услуги для регионов:
Ключевые сервисы для обмена обновлениями атрибутов с DDM:
Ключевые сервисы для обмена взаимодействиями с DDM:
Службы поддержки HLA, описанные в главе 10 спецификации интерфейса HLA [5] , предоставляют ряд вспомогательных служб. Они включают:
Целью модели объекта управления, описанной в главе 11 спецификации интерфейса HLA [5] , является предоставление услуг по управлению федерацией. Это выполняется с использованием объектов MOM и классов взаимодействия. Объекты MOM определяются в специальном модуле FOM, называемом MIM, который автоматически загружается RTI. Ключевые функции MOM включают:
OMT — это шаблон, используемый для описания моделей объектов федерации (FOM) и моделей объектов имитации (SOM). FOM и SOM могут быть представлены в табличном формате или с использованием XML. Последний формат используется при загрузке FOM в RTI.
В более ранних версиях HLA FOM были монолитными, но текущая версия стандарта поддерживает модульные FOM, т.е. в RTI могут быть предоставлены несколько модулей, охватывающих различные аспекты обмена информацией.
В стандарте предусмотрено несколько предопределенных классов, типов данных, измерений и типов транспортировки. Они представлены в модуле FOM HLAstandardMIM.xml. Предопределенные концепции имеют префикс HLA, например HLAobjectRoot и HLAunicodeString.
Для OMT существуют три различные XML-схемы:
Целью идентификационной таблицы является предоставление метаданных о модели для облегчения повторного использования FOM/SOM или федераций.
Указаны следующие поля:
Целью таблицы структуры классов объектов является указание иерархии классов (подкласс/суперкласс) классов объектов, которые используются для создания экземпляров объектов в федерации HLA. Атрибуты классов объектов наследуются от суперклассов к подклассам на основе этой иерархии. Корень дерева классов объектов известен как HLAobjectRoot. Примером полностью квалифицированного имени класса объектов является HLAobjectRoot.Car.ElectricCar
Для класса объекта в иерархии указываются следующие поля:
Цель таблицы атрибутов — указать атрибуты, доступные для данного класса объектов. Поскольку атрибуты наследуются, класс объектов будет иметь объединение всех атрибутов, которые локально определены в классе объектов или указаны в любом прямом или косвенном суперклассе.
Для атрибута указаны следующие поля
Целью таблицы структуры классов взаимодействия является указание иерархии классов (подкласс/суперкласс) классов взаимодействия, которые используются для обмена взаимодействиями в федерации HLA. Параметры классов взаимодействия наследуются от суперклассов к подклассам на основе этой иерархии. Корень дерева классов взаимодействия известен как HLAinteractionRoot. Примером полностью квалифицированного имени класса взаимодействия является HLAinteractionRoot.CarCommand.Start.
Для класса взаимодействия в иерархии указаны следующие поля:
Цель таблицы параметров — указать параметры, доступные для данного класса взаимодействия. Поскольку параметры наследуются, класс взаимодействия будет иметь объединение всех параметров, которые локально определены в классе взаимодействия или указаны в любом прямом или косвенном суперклассе.
Целью таблицы измерений является указание измерений DDM, используемых для атрибутов и классов взаимодействия.
Целью таблицы представления времени является указание типов данных, используемых службами управления временем.
Пользовательский тег может быть предоставлен при вызове определенных служб HLA. Целью таблицы пользовательских тегов является указание типов данных этих тегов.
Целью таблицы синхронизации является указание точек синхронизации, используемых в федерации.
Цель таблицы типов транспортировки — указать доступные типы транспортировки. Существует два предопределенных типа транспортировки: HLAreliable и HLAbestEffort.
Целью таблицы частоты обновления является указание максимально возможных частот обновления.
Поведение RTI во время выполнения можно контролировать с помощью ряда предопределенных переключателей. Цель таблицы переключателей — предоставить начальные значения для этих переключателей. Некоторые переключатели также можно обновлять во время выполнения.
Цель таблиц типов данных — предоставить спецификации типов данных, используемых для атрибутов, параметров, измерений, представления времени, пользовательских тегов и точек синхронизации. Существует шесть категорий типов данных с отдельным табличным форматом для каждой из них.
Целью таблицы представления базовых данных является предоставление двоичных представлений для использования в других таблицах. В стандарте HLA предусмотрено несколько предопределенных базовых типов данных: HLAinteger16BE, HLAinteger32BE, HLAinteger64BE, HLAfloat32BE, HLAfloat64BE, HLAoctetPairBE, HLAinteger16LE, HLAinteger32LE, HLAinteger64LE, HLAfloat32LE, HLAfloat64LE, HLAoctetPairLE и HLAoctet. Набор базовых типов данных обычно не расширяется базовыми типами данных, определяемыми пользователем.
Цель таблицы простых типов данных — описать простые скалярные элементы данных. В стандарте HLA предусмотрено несколько предопределенных простых типов данных: HLAASCIIchar, HLAunicodeChar, HLAbyte, HLAinteger64time и HLAfloat64time. Обычно в FOM включаются определяемые пользователем простые типы данных.
Целью таблицы перечисленных типов данных является описание элементов данных, которые могут принимать конечный дискретный набор значений. В стандарте предусмотрен один предопределенный перечисленный тип данных: HLAboolean. Обычно в FOM включаются определенные пользователем перечисленные типы данных.
Целью таблицы перечисленных типов данных является описание массивов элементов данных (простых, перечисленных, массивов, фиксированных записей или вариантных записей). В стандарте HLA предусмотрено несколько предопределенных простых типов данных: HLAASCIIstring, HLAunicodeString, HLAopaqueData и HLAtoken. Обычно в FOM включаются определяемые пользователем типы данных массива.
Целью таблицы фиксированных типов данных записей является описание записей с фиксированным набором элементов данных (простые, перечислимые, массивы, фиксированные записи или вариантные записи).
Целью таблицы типов данных вариантных записей является описание записей, которые могут содержать различные предопределенные наборы элементов данных. Различные наборы называются Альтернативами. Какая альтернатива применяется к данной вариантной записи, указывается элементом данных, называемым Дискриминант.
Цель таблицы примечаний — предоставить аннотации и дополнительные описания элементов в других таблицах.
Правила HLA описывают обязанности федераций и присоединяющихся федераций. [12]
Стандарт IEEE 1516 был пересмотрен в рамках SISO HLA-Evolved Product Development Group и был одобрен 25 марта 2010 года Советом по стандартам IEEE. Пересмотренный стандарт IEEE 1516–2010 включает в себя текущие интерпретации стандартов DoD и EDLC API, расширенную версию SISO DLC API. Другие важные улучшения включают в себя:
Для обеспечения надлежащего взаимодействия между симуляциями определен способ тестирования соответствия федерации. Это включает в себя обеспечение того, что каждый класс и взаимодействие, перечисленные в SOM для конкретного федерации, используются в соответствии с описанным использованием, "PublishSubscribe", "Publish", "Subscribe" или "None".
HLA (как в текущей версии IEEE 1516, так и в ее предыдущей версии «1.3») является предметом соглашения НАТО по стандартизации (STANAG 4603) для моделирования и имитации: Стандарты архитектуры моделирования и имитации для технической совместимости: Архитектура высокого уровня (HLA) [13] .
Базовая модель объекта (BOM), SISO-STD-003-2006 — это связанный стандарт SISO, обеспечивающий лучшее повторное использование и компоновку для симуляций HLA. Он предоставляет способ указания концептуальных моделей и того, как сопоставлять их с HLA FOM. [14]
Что касается отрасли распределенного моделирования и имитации (DM&S), наиболее часто используемой альтернативой HLA для моделирования военных платформ в реальном времени является распределенное интерактивное моделирование (DIS), IEEE 1278.1-2012, протокол имитации. Большинство поставщиков HLA RTI также включают DIS в свои продукты. Что касается приложений промежуточного программного обеспечения, которые наиболее точно соответствуют функциям HLA, таким как функция публикации и подписки (P&S), см. Data Distribution Service (DDS) , которая имеет много тех же характеристик, но имеет открытый протокол on-the-wire для системного взаимодействия. [15]
HLA — это промежуточное программное обеспечение, ориентированное на сообщения , которое определяется как набор служб, предоставляемых API C++ или Java . Стандартизированного протокола on-the-wire не существует. Участники федерации должны использовать библиотеки RTI от одного и того же поставщика и, как правило, одной и той же версии, что в некоторых случаях воспринимается как недостаток. [16] Большинство современных инструментов также обеспечивают взаимосвязь через сокеты.
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )