10
HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

Embed Size (px)

Citation preview

Page 1: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

HLA: RPR-FOM

Real Time Reference Platform FOM and Interoperability with DIS

Page 2: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

RPR-FOM

Suppose you have an existing DIS simulation and have a mandate to make it HLA-compliant per DMSO decree (circa 1999)

What is the easiest, lowest-cost way to get there?• Come up with a FOM that tracks closely to the

existing DIS standard. Same attributes, same semantics for enumerated types, etc

• Rewrite your code enough to update via HLA rather than DIS

If you’re lucky you can reuse most of your existing code and get complaint with as little drama as possible

Page 3: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

RPR-FOM

It makes sense to agree upon FOMs and to have a few standardized FOMs that are appropriate to specific problem domains

Without this every project tries to create its own FOM, and we are back to the pre-DIS days of no standardized way to communicate between simulations--which was the whole point of the exercise

We want common semantics in addition to common network plumbing.

Page 4: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

RPR-FOM

This is the central objective of RPR-FOM. It is a standardized (within SISO) FOM that defines interactions and classes

The FOM tracks what DIS was already doing• Same velocity, angular acceleration, entity type,

world location, etc• Same enumerated types (country, entity type

values, etc)Same syntax, same semantics already agreed

upon by DIS, so this leverages the installed base

Page 5: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

Example Class

(class BaseEntity (attribute AccelerationVector best_effort receive) (attribute AngularVelocityVector best_effort receive) (attribute DeadReckoningAlgorithm best_effort receive) (attribute EntityType best_effort receive) (attribute EntityIdentifier best_effort receive) (attribute IsFrozen best_effort receive) (attribute Orientation best_effort receive) (attribute WorldLocation best_effort receive) (attribute VelocityVector best_effort receive)

Page 6: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

Example Class

(class MilitaryEntity (attribute AlternateEntityType best_effort receive) (attribute CamouflageType best_effort receive) (attribute FirePowerDisabled best_effort receive) (attribute ForceIdentifier best_effort receive) (attribute IsConcealed best_effort receive)

Page 7: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

Interactions

Interactions are events:(class WeaponFire best_effort receive (parameter EventIdentifier) (parameter FireControlSolutionRange) (parameter FireMissionIndex)… (parameter QuantityFired) (parameter RateOfFire) (parameter TargetObjectIdentifier) (parameter WarheadType) )

Page 8: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

RPR-FOM

The classes track the concepts of DIS: Entity type, force ID, coordinate systems, all have the same meaning as DIS

You can also write a DIS-HLA gateway without too much of a problem, since the semantics match so closely

Page 9: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

DIS-HLA Gateway

HLARPR-FOMFederate

DISCode

Gateway

HLAFederate

RTI

DIS Simulation

Page 10: HLA: RPR-FOM Real Time Reference Platform FOM and Interoperability with DIS

DIS-HLA Gateway

The gateway is one piece of code that both listens to an HLA RPR-FOM federate execution and the network for DIS PDUs

Changes in state for HLA classes result in a DIS PDU being issued

Receipt of a DIS PDU can cause the HLA class to be changedDiscovery of a new entity on the DIS network can result in a

new HLA object instance being created and announced to the network

The gateway acts as the owner of the object instance in the HLA federate

A gateway is not trivial code, but it can be done