High Level Architecture
Z Wikipedii
Tłumaczenie opracowane na podstawie tekstu z angielskiej i francuskiej wikipedii
HLA - High Level Architecture (architektura wysokiego poziomu) jest ogólną architekturą dla rozproszonych komputerowych systemów symulacyjnych. Dzięki wykorzystaniu HLA, symulacje komputerowe mogą porozumiewać się między sobą niezależnie od tego na jakiej platformie zostały osadzone. Komunikacją pomiędzy poszczególnymi symulacjami zajmuje się infrastruktura uruchomieniowa - Runtime Infrastructure (RTI).
Spis treści |
[edytuj] Ogólny opis techniczny
Na Architekturę Wysokiego Poziomu (HLA) składają się następujące elementy:
- Specyfikacja Interfejsu. Specyfikacja interfejsu jest dokumentem w którym zdefiniowano w jaki sposób symulatory zgodne z HLA mogą porozumiewać się z infrastrukturą uruchomieniową (RTI). RTI dostępne jest jako biblioteka i jako interfejs programisty zgodny z specyfikacją interfejsu.
- Szablon Modelu Obiektowego (OMT). W OMT wyspecyfikowano jakie informacje są wymieniane pomiędzy symulatorami i jak są udokumentowane.
- Reguły HLA. Reguły, które muszą być spełnione przez symulator by był on zgodny ze standardem.
W ramach HLA zdefiniowane jest kilka istotnych terminów, których zrozumienie jest istotne dla zrozumienia specyfikacji. Symulator zgodny z HLA nazywany jest federatem. Wiele symulatorów połączonych przy wykorzystaniu RTI i wspólnego OMT 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).
[edytuj] Specyfikacja interfejsu
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
[edytuj] Szablon modelu obiektowego
Szablon modelu obiektowego (OMT) opisuje ramy komunikacji pomiędzy symulatorami zgodnymi z HLA. Na OMT składają się następujące dokumenty:
- Modelu 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.
[edytuj] Reguły HLA
Reguły HLA określają w jaki sposób powinny zachowywać się poszczególne elementy symulatora by mogły działać w ramach HLA.
- Federacje powinny posiadać zdefiniowany Model Obiektowy Federacji (FOM) HLA, udokumentowany zgodnie z szablonem modelu obiektowego (OMT).
- W ramach federacji, wszystkie obiekty zdefiniowane w FOM powinny być w federatach, a nie w infrastrukturze (RTI).
- W czasie działania federacji, całość wymiany informacji zdefiniowanej w FOM pomiędzy federatami powinna przebiegać za pośrednictwem RTI.
- W czasie działania federacji, federaci powinni komunikować się z RTI zgodnie z specyfikacją interfejsu HLA.
- W czasie działania federacji, atrybut instancji obiektu może być w tym samym czasie własnością tylko jednego federata.
- Federaci powinni posiadać zdefiniowany Model Obiektowy Symulacji (SOM), udokumentowany zgodnie z szablonem modelu obiektowego (OMT)
- Federaci powinni mieć możliwość wysyłania i odbierania aktualizacji dowolnych atrybutów obiektów zdefioniowanych w ich SOM oraz wysyłania i odbierania interakcji tak jak zdefiniowano w ich SOM
- 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.
- Federaci powinni mieć możliwość zmieniania warunków pod którymi aktualizują atrybutu obiektów, tak jak to zdefiniowano w ich SOM.
- 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 deferacji.
[edytuj] Bazowy model obiektowy
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.
[edytuj] Standardy
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)
[edytuj] Referencje
[edytuj] Implementacje
- CERTI http://savannah.nongnu.org/projects/certi/ (1.3)
- EODiSP http://www.pnp-software.com/eodisp/
- FDK http://www-static.cc.gatech.edu/computing/pads/fdk.html (1.3)
- GMU RTI http://netlab.gmu.edu/rti/ (1.1)
- jaRTI http://jarti.sourceforge.net (1.3, IEEE 1516 being added)
- Open HLA http://sourceforge.net/projects/ohla (1.3 i IEEE 1516)
- yaRTI (yet another RTI) http://perso.wanadoo.fr/dominique.canazzi/dominique.htm (1.3)
Closed source
- DMSO RTI https://www.dmso.mil/public/transition/hla/rti/ (1.3, kiedyś dostępna bezpłatnie, teraz sprzedawana przez VIRTC)
- GERTICO http://www.iitb.fraunhofer.de/servlet/is/2920/
- Magnetar Games Chronos RTI http://www.magnetargames.com/Products/Chronos/ (IEEE 1516)
- MÄK Technologies, Inc. http://www.mak.com/products/rti.php (1.3 i IEEE 1516)
- OpenSkies http://www.openskies.net/ (1.3 i IEEE 1516)
- Pitch Technologies http://www.pitch.se/ (1.3 i IEEE 1516)
- Raytheon Virtual Technology Corporation http://www.virtc.com/products.jsp (1.3)
- XRTI (Extensible Run-Time Infrastructure) http://www.npsnet.org/~npsnet/xrti/ (IEEE 1516)