HLA: ФОМ против СОМ

Я начинаю изучать, как внедрить HLA в проект, который я разрабатываю, и есть кое-что, что я не очень хорошо понимаю.

В федерации данные, которыми обмениваются, определяются в FOM (объектная модель федерации), которая содержит все необходимые вещи (классы, взаимодействия и т. Д.). Это нормально.

Я также читал, что каждый федерат должен публиковать свою собственную SOM (объектную модель моделирования), это описание данных, которые федерат публикует и на которые он подписан.

Мои вопросы:

  • Кому нужно загрузить файл FOM? Каждая федерация? Это надо читать из РТИ-менеджера?
  • Почему федерация должна публиковать SOM, если FOM уже доступен? Если FOM определяет все структуры, которые могут быть обменены, SOM дублирует часть FOM, которая нужна только федерации?
  • Кто читает СДЛ, отправленный федерацией?
  • Какие данные хранятся в СДЛ? Существует глубокая копия какой-то структуры, определенной в FOM, есть ссылки на них в FOM?
  • SOM может содержать классы, взаимодействия и так далее, которые не определены в FOM?
  • Если каждая федерация публикует данные об объектах, которые она использует с SOM, зачем нам FOM?

Извините, если это простые вопросы, но я новичок в этом, и даже если я понимаю программный аспект HLA, логика, стоящая за этими вещами, немного неясна для меня (возможно, мой не идеальный английский тоже в этом участвует),

0 ответов

Исербиус описал разницу между FOM и SOM.

Я добавил несколько ответов на ваши прямые вопросы.

  • Кому нужно загружать файл FOM? Каждую федерацию? Его надо читать из RTI Manager?

RTI использует файл FOM. Он должен быть предоставлен при создании федерации. Только первая федерация должна предоставить это.

  • Зачем федерации публиковать SOM, если FOM уже доступен? Если FOM определяет все структуры, которыми можно обмениваться, SOM дублирует часть FOM, которая нужна только федерации?

SOM не требуется во время выполнения, когда выполняются ваши федерации. SOM можно рассматривать как документ, описывающий возможности вашего симулятора.

  • Кто читает SOM, присланный федерацией?

Во время выполнения SOM не требуется.

  • Какие данные хранятся в SOM? Есть глубокая копия какой-то структуры, определенной в FOM, есть ли ссылки на них в FOM?

SOM - это подмножество FOM.

  • SOM может содержать классы, взаимодействия и т. Д., Которые не определены в FOM?

Да, но их нельзя использовать во время выполнения, если они не добавлены в FOM.

  • Если каждая федерация публикует данные об объектах, которые она использует с SOM, зачем нам FOM?

Хороший вопрос. Обычно бывает наоборот: федерации предоставляют FOM во время выполнения, а SOM не существует, чтобы описать федерацию.

Я прошу прощения за поздний ответ, я надеюсь, что это все еще применимо. Я предполагаю, что вы используете HLA 1.3 или HLA 1516, потому что термин SOM в HLA 1516-2010/Evolved заменен модулями FOM.

  1. Первая федерация, создавшая федерацию, делает это с файлом FOM (вариант Lisp в 1.3 и XML в последующих версиях). Затем эта FOM становится доступной для каждого нового федерата, который присоединяется. Отдельные федерации не должны иметь копии файла FOM.
  2. SOM на самом деле не требуется ни для одного из ваших программ. Это просто подмножество FOM. Он используется главным образом для проверки и подтверждения соответствия, поэтому перед развертыванием федерации проверяется, какие объекты и взаимодействия может и не может использовать каждая отдельная федерация. Когда вы запускаете федерацию, SOM можно игнорировать (если только вы не запускаете какой-либо динамический универсальный федерат, действие которого можно изменить без перекомпиляции путем замены SOM).
  3. 1.3 и 1516 SOM не могут содержать ничего, чего нет в FOM. 1516-2010 представил концепцию модулей FOM. Вместо одного большого файла FOM федерат может создать FOM с набором файлов меньшего размера, которые составляют FOM. Каждый член федерации 1516-2010 может иметь свои собственные модули для добавления в FOM.
Другие вопросы по тегам