Architektura wysokiego poziomu

(Przekierowano z High Level Architecture)

Opracowano na podstawie tekstu oryginalnych dokumentów standardu[jakich?]

Architektura wysokiego poziomu, HLA (skrótowiec od ang. high-level architecture) – ogólna architektura dla rozproszonych systemów komputerowych, ze szczególnym uwzględnieniem systemów symulacyjnych.

Ideą HLA jest, aby aplikacje programowe (symulatory komputerowe) mogły porozumiewać się między sobą niezależnie od tego, na jakiej platformie zostały osadzone. Komunikacją pomiędzy poszczególnymi aplikacjami zajmuje się infrastruktura uruchomieniowa – runtime infrastructure (RTI) – która pełni rolę podobną do usług systemu operacyjnego lub funkcji maszyny wirtualnej. Zapewnia między innymi:

  • interoperacyjność powiązanych symulatorów
  • możliwość wielokrotnego wykorzystania elementów systemów symulacyjnych
  • rozdzielenie warstw elementów symulacyjnych i warstwy elementów pomocniczych środowiska.

Ogólny opis techniczny edytuj

Prace związane z określeniem i przyjęciem nowego standardu Architektury Wysokiego Poziomu (HLA) rozpoczęto wraz z zatwierdzeniem DoD 5000.59-P, Modeling and Simulation Master Plan w Październiku 1995 r. w Departamencie Obrony USA. Podstawę stanowiły dwa protokoły:

  • DIS – protokół umożliwiający prowadzenie ćwiczeń w czasie rzeczywistym, definiujący standardowe struktury komunikatów oraz reguły ich wymiany (IEEE 1278-1993);
  • ALSP - protokół umożliwiający współdziałanie konstruktywnych symulatorów pola walki, przeznaczony dla elementów zagregowanych, konserwatywny mechanizm upływu czasu symulacyjnego.

Kolejne etapy zatwierdzania standardu realizowano na:

1) Poziomie rządowym USA:

  • 1996 - DoD - architektura techniczna
  • 1998 - DoD Joint Technical Architecture (JTA)

2) Poziomie międzynarodowym - NATO:

  • 1998 - NATO Standard Architecture w ramach NATO M&S Master Plan

3) Poziom międzynarodowym - ogólny:

  • 1998 - Standard Object Management Group (OMG)
  • 1999 - Organizacja IEEE - draft IEEE P1516
  • 09.2000 - Organizacja IEEE – zatwierdzenie 1516

Na standard składają się następujące elementy:

  • HLA Framework and Rules (IEEE 1516) - Reguły HLA: reguły, które muszą być spełnione przez symulator, by był on zgodny ze standardem.
  • HLA Federate Interface Specification (IEEE 1516.1) - Specyfikacja Interfejsu: specyfikacja interfejsu jest dokumentem, w którym zdefiniowano w jaki sposób aplikacje programowe (przede wszystkim symulatory) zgodne z HLA mogą porozumiewać się z infrastrukturą uruchomieniową (RTI). RTI dostępne jest jako biblioteka i jako interfejs programisty zgodny ze specyfikacją interfejsu.
  • HLA Object Model Template (OMT) (IEEE 1516.2) - Szablony Modelu Obiektowego: W OMT wyspecyfikowano, jakie informacje są wymieniane pomiędzy symulatorami i jak są udokumentowane.
  • Recommended Practice for High Level Architecture Federation Development and Execution Process (FEDEP) (IEEE 1516.3-2003) - wytyczne dla procesu (metodyki) wytwarzania i eksperymentowania z symulatorami zgodnymi z zasadami HLA.

W ramach HLA zdefiniowane jest kilka nowych terminów, których zrozumienie jest istotne dla zrozumienia specyfikacji. Program (symulator) zgodny z HLA nazywany jest federatem. Wiele programów (symulatorów) połączonych przy wykorzystaniu RTI i wspólnego FOM nazywane jest Federacją. Zbiory danych przekazywane pomiędzy symulatorami nazywane są obiektami. Obiekty posiadają atrybuty (pola danych). Zdarzenia przesyłane pomiędzy symulatorami nazywane są interakcjami. Interakcje posiadają parametry (pola danych).

Specyfikacja interfejsu edytuj

Specyfikacja interfejsu jest zorientowana obiektowo. Wiele z RTI implementuje API w językach C++ i Java.

Specyfikacja interfejsu podzielona jest na następujące grupy serwisów:

  • zarządzanie federacją
  • zarządzanie deklaracjami
  • zarządzanie własnością obiektów
  • zarządzanie czasem
  • zarządzanie dystrybucją danych
  • dodatkowe usługi.

Szablon modelu obiektowego edytuj

Szablon modelu obiektowego (OMT) opisuje ramy komunikacji pomiędzy symulatorami zgodnymi z HLA. Na OMT składają się następujące dokumenty:

  • model obiektowy federacji (Federation Object Model - FOM). W FOM opisane są współdzielone obiekty, atrybuty i interakcje wykorzystywane w całej federacji
  • model obiektowy symulacji (Simulation Object Model - SOM). SOM zawiera opis współdzielonych obiektów, atrybutów oraz interakcji wykorzystywanych w pojedynczym federacie.

Reguły HLA edytuj

Reguły HLA określają w jaki sposób powinny zachowywać się poszczególne elementy symulatora by mogły działać w ramach HLA.

  1. Federacje powinny posiadać zdefiniowany Model Obiektowy Federacji (FOM) HLA, udokumentowany zgodnie z szablonem modelu obiektowego (OMT).
  2. W ramach federacji, wszystkie obiekty zdefiniowane w FOM powinny być w federatach, a nie w infrastrukturze (RTI).
  3. W czasie działania federacji, całość wymiany informacji zdefiniowanej w FOM pomiędzy federatami powinna przebiegać za pośrednictwem RTI.
  4. W czasie działania federacji, federaci powinni komunikować się z RTI zgodnie ze specyfikacją interfejsu HLA.
  5. W czasie działania federacji, atrybut instancji obiektu może być w tym samym czasie własnością tylko jednego federata.
  6. Federaci powinni posiadać zdefiniowany model obiektowy symulacji (SOM), udokumentowany zgodnie z szablonem modelu obiektowego (OMT)
  7. Federaci powinni mieć możliwość wysyłania i odbierania aktualizacji dowolnych atrybutów obiektów zdefiniowanych w ich SOM oraz wysyłania i odbierania interakcji, tak jak zdefiniowano w ich SOM
  8. Federaci powinni mieć możliwość brania na własność / zrzekania się własności atrybutów w sposób dynamiczny w czasie działania federacj, tak jak to zdefiniowano w ich SOM.
  9. Federaci powinni mieć możliwość zmieniania warunków pod którymi aktualizują atrybutu obiektów, tak jak to zdefiniowano w ich SOM.
  10. Federaci powinni mieć możliwość zarządzania lokalnym czasem w sposób, który umożliwi im koordynację wymiany danych z pozostałymi członkami federacji.

Bazowy model obiektowy edytuj

Bazowy model obiektowy (Base Object Model - BOM) jest nową koncepcją opracowaną przez SISO w celu zapewnienia łatwiejszego ponownego wykorzystania symulatorów oraz prostszego łączenia symulatorów ze sobą. Koncepcja BOM jest bardzo istotna dla twórców oprogramowania. Więcej szczegółów można odnaleźć na stronie Boms.info.

Standardy edytuj

HLA jest standardem IEEE 1516:

  • IEEE 1516-2000 - Standard for Modeling and Simulation High Level Architecture - Framework and Rules
  • IEEE 1516.1-2000 - Standard for Modeling and Simulation High Level Architecture - Federate Interface Specification
  • IEEE 1516.1-2000 Errata (2003-oct-16)
  • IEEE 1516.2-2000 - Standard for Modeling and Simulation High Level Architecture - Object Model Template (OMT) Specification
  • IEEE 1516.3-2003 - Recommended Practice for High Level Architecture Federation Development and Execution Process (FEDEP)