High Level Architecture (HLA)


Contents
Related Links
  • Not Applicable

High Level Architecture (HLA) is a simulation interoperability standard that provides simulation applications with the ability to communicate and exchange information. Prepar3D utilizes the OpenRTI library and supports Real-time Platform Reference Federation Object Model Version 2.0 (RPR FOM 2). The native HLA implementation is considered experimental and is only available with the Professional Plus variant.


Starting a Session

The user should configure their HLA session before attempting to connect. Configuration includes items such as entity ids, connection parameters, and federate names. The OpenRTI RTINode server executable and the RPR FOM 2 are not included with Prepar3D. The creation of RTINode and the download of RPR FOM 2 are described below.

The RTINode Server

In order to run the RTINode server, the OpenRTI API must be first downloaded and built:

Once you have the RTINode application built, it will need to be executed on a separate machine. When running the RTINode, command line parameters can be passed to tell it what IP addresses to listen to. To listen to all IP addresses, pass the following command line parameter to RTINode:

Prepar3D applications on that network can now connect to the server.

RPR FOM v2

The RPR FOM v2 (Real-time Platform Reference Federation Object Model Version 2.0) XML file must then be downloaded and configured:

Entity Configuration

Each HLA federate must also configure their entity information. This includes the site, application, and entity ids. This set of id's should be unique for each federate in the federation.

Connection Configuration

The name of the federation execution to join must then be provided. This name should be the same for machines joining the given federation execution. RTI specific local parameters can also then be specified. For OpenRTI, this should be of the form rti://[ip_address]:[port] where [ip_address] and [port] are the IP address and port of the machine running the remote RTINode server.

Federate Configuration

The name and type of the machine's federate can then be specified. The federate type is optional, however the federate name is required. The full file path to the RPR FOM v2 XML file can also specified as described above.

Connect

If the above has been configured correctly, the federate should be able to connect to the federation execution.


Note: HLA is considered experimental and no error reporting is currently supported.

Troubleshooting

Here are some basic troubleshooting steps:

  1. Ensure the machines attempting to connect can ping one another
  2. Ensure the OpenRTI or RTI specific local parameters are correct
  3. If using OpenRTI, ensure that the RTINode server is executed with the correct command line parameters
  4. Ensure you are using the correct FOM version and the path is correctly configured
  5. Ensure that each machine has a unique set of site, application, and entity id's
  6. Ensure that each machine is specifying the correct federate execution name


User Interface

The HLA user interface can be found under Networking in the main menu bar. The following is a description of options available from within the user interface as well as descriptions and examples of the XML format used for the configuration.

Entity

Option Description
Site ID The Site ID of this application instance. Site IDs may be the same for multiple applications as long as each application's Application ID is unique. Valid Site IDs range from 0 to 65535.
Application ID The Application ID of this application instance. Application IDs should be unique for all applications participating in a given exercise from a given site. For example, the Application ID should be unique for all simulations sharing the same Exercise ID and Site ID. Valid Application IDs range from 0 to 65535.
Entity ID The Entity ID of the user entity. Valid Entity IDs range from 0 to 65535.

Connection

Option Description
LocalParameters The local parameters to be passed into the RTI's connect() function. For OpenRTI, this should be of the form rti://[ip_address]:[port] where [ip_address] and [port] are the IP address and port of the machine running the remote RTINode server.
FederationExecutionName The name of the federation execution to join.

Federate

Option Description
FederateName The federate name of this machine.
FederateType The federate type of this machine (optional).
RPRFOM2FilePath The full file path of the RPR FOM v2 XML file.

Options

Option Description
Attribute Update Rate The amount of time between sending attribute updates in seconds. Attribute data is only sent if it has changed.
Endianness The endianness in which attribute data is broadcast.


Entity Configuration

Entity configuration is currently shared between both HLA and DIS. Please see the Entity Configuration article for more information.


Feature Support

The following classes and interactions are currently supported:

Note: Only BaseEntity object class attributes are currently supported.