High-level architecture (simulation)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A high-level architecture (HLA) is a general purpose architecture for distributed computer simulation systems. Using HLA, computer simulations can interact (that is, to communicate data, and to synchronize actions) with other computer simulations regardless of the computing platforms. The interaction between simulations is managed by a Run-Time Infrastructure (RTI).

Contents

[edit] Technical overview

A high-level architecture consists of the following components:

  • Interface specification, that defines how HLA compliant simulators interact with the Run-Time Infrastructure (RTI). The RTI provides a programming library and an application programming interface (API) compliant to the interface specification.
  • Object model template (OMT), that specifies what information is communicated between simulations, and how it is documented.
  • Rules, that simulations must obey in order to be compliant to the standard..

[edit] Common HLA terminology

  • Federate: an HLA compliant simulation entity.
  • Federation: multiple simulation entities connected via the RTI using a common OMT.
  • Object: a collection of related data sent between simulations.
  • Attribute: data field of an object.
  • Interaction: event sent between simulation entities.
  • Parameter: data field of an interaction.

[edit] Interface specification

The interface specification is object oriented. Many RTIs provide APIs in C++ and the Java programming languages.

The interface specification is divided into service groups:

  • federation management
  • declaration management
  • object management
  • ownership management
  • time management
  • data distribution management
  • support services

[edit] Object model template

The object model template (OMT) provides a common framework for the communication between HLA simulations. OMT consists of the following documents:

  • Federation object model (FOM). The FOM describes the shared object, attributes and interactions for the whole federation.
  • Simulation object model (SOM). A SOM describes the shared object, attributes and interactions used for a single federate.

[edit] HLA rules

The HLA rules describe the responsibilities of federations and the federates that join.[1]

  1. Federations shall have an HLA federation object model (FOM), documented in accordance with the HLA object model template (OMT).
  2. In a federation, all representation of objects in the FOM shall be in the federates, not in the run-time infrastructure (RTI).
  3. During a federation execution, all exchange of FOM data among federates shall occur via the RTI.
  4. During a federation execution, federates shall interact with the run-time infrastructure (RTI) in accordance with the HLA interface specification.
  5. During a federation execution, an attribute of an instance of an object shall be owned by only one federate at any given time.
  6. Federates shall have an HLA simulation object model (SOM), documented in accordance with the HLA object model template (OMT).
  7. Federates shall be able to update and/or reflect any attributes of objects in their SOM and send and/or receive SOM object interactions externally, as specified in their SOM.
  8. Federates shall be able to transfer and/or accept ownership of an attribute dynamically during a federation execution, as specified in their SOM.
  9. Federates shall be able to vary the conditions under which they provide updates of attributes of objects, as specified in their SOM.
  10. Federates shall be able to manage local time in a way that will allow them to coordinate data exchange with other members of a federation.

[edit] Base Object Model

The Base Object Model (BOM), SISO-STD-003-2006 is a related standard by SISO to provide better reuse and composability for HLA simulations, and is highly relevant for HLA developers. It provides a way to specify conceptual models and how to map them to an HLA FOM. More information can be found at Boms.info.

[edit] Federation development and execution process (FEDEP)

FEDEP, IEEE 1516.3-2003, is a standardized and recommended process for developing interoperable HLA based federations. FEDEP is an overall framework overlay that can be used together with many other, commonly used development methodologies.

[edit] Distributed Simulation Engineering and Execution Process (DSEEP)

In spring 2007 SISO started revising the FEDEP. It has been renamed to Distributed Simulation Engineering and Execution Process (DSEEP) and is now an active standard IEEE 1730–2010 (instead of IEEE 1516.3).

[edit] Standards

HLA is defined under IEEE Standard 1516:

  • IEEE 1516–2010 – Standard for Modeling and Simulation High Level Architecture – Framework and Rules
  • IEEE 1516.1–2010 – Standard for Modeling and Simulation High Level Architecture – Federate Interface Specification
  • IEEE 1516.2-2010 – 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)
  • IEEE 1516.4-2007 – Recommended Practice for Verification, Validation, and Accreditation of a Federation an Overlay to the High Level Architecture Federation Development and Execution Process

Machine-readable parts of the standard, such as XML Schemas, C++, Java and WSDL APIs as well as FOM/SOM samples can be downloaded from the IEEE 1516 download area of the IEEE web site. The full standards texts are available at no extra cost to SISO members or can be purchased from the IEEE shop.

Previous version:

  • 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

See also:

Prior to publication of IEEE 1516, the HLA standards development was sponsored by the US Defense Modeling and Simulation Office. The first complete version of the standard, published 1998, was known as HLA 1.3.

[edit] STANAG 4603

HLA (in both the current IEEE 1516 version and its ancestor "1.3" version) is the subject of the NATO standardization agreement (STANAG 4603) for modeling and simulation: Modeling And Simulation Architecture Standards For Technical Interoperability: High Level Architecture (HLA).

[edit] DLC API

SISO has developed a complementary HLA API specification known as the Dynamic Link Compatible (DLC) API for the IEEE 1516-2000 version of HLA. The DLC API addresses a limitation of the IEEE 1516 and 1.3 API specification, whereby federate recompilation was necessary for each different RTI implementation. Note that this API has since been superseeded by the HLA Evolved APIs, informally known as Evolved DLC APIs (EDLC).

[edit] HLA Evolved

The IEEE 1516 standard has been revised under the SISO HLA-Evolved Product Development Group and was approved 25-Mar-2010 by the IEEE Standards Activities Board. The revised IEEE 1516–2010 standard includes current DoD standard interpretations and the EDLC API, an extended version of the SISO DLC API. Other major improvements include:

  • Extended XML support for FOM/SOM, such as Schemas and extensibility
  • Fault tolerance support services
  • Web Services (WSDL) support/API
  • Modular FOMs
  • Update rate reduction
  • Encoding helpers
  • Extended support for additional transportation (such as QoS, IPv6,...)
  • Standardized time representations

[edit] Alternatives

While no direct alternatives to HLA are known to exist Distributed Interactive Simulation (DIS) is widely used for similar purposes. HLA was intended to succeed DIS as the interconnect fabric of choice for distributed Modeling and Simulation (M&S) exercises.

[edit] Interoperability Controversy

The HLA is an architectural standard establishing among other things, an Application Programming Interface (API) between the application and the RTI, which is often proprietary software. There is no standard specifying how data is manipulated on the wire which is up the RTI. HLA applications must use the same Run-Time Infrastructure (RTI) in order to interoperate, which some say, is a critical limitation of interoperability of the current HLA standard. However, interoperability is often viewed as an implementation detail and therefore not important to any given application.

[edit] See also

[edit] References

  1. ^ U.S. Defense Modeling and Simulation Office (2001). RTI 1.3-Next Generation Programmer's Guide Version 4. U.S. Department of Defense. 

[edit] External Links

  • proto-x: a cross-platform, open source C++ library for developing HLA compliant simulations, tools, and utilities.
  • Portico: an open source, cross-platform HLA RTI implementation.
  • MÄK Technologies: provides a leading HLA Compliant RTI for HLA 1.3 / 1516 / Evolved in both C++, with Java bindings.
Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages