HLA OMT Fundamentals - Carnegie Mellon University

HLA OMT
Fundamentals
Alessandro Specchia
Carnegie Mellon University
What is it ?
HLA Object Model Template (OMT)
a common format and syntax for
recording the information in HLA
Object Models
OMT Objective
Facilitate interoperability among simulations
and reuse of simulation components.
How ?
• By providing a commonly understood mechanism for
FOM development coordination
• By providing a common, standardized means of describing
potential federation members
• By facilitating the design and application of common
tool sets for development of HLA object models
FOM
• Federation Object Model (FOM) specification of the exchange of public data
among the participants in HLA federation
The intent is to describe inter-federate
exchange within the system.
SOM
• Simulation Object Model (SOM) - a
specification the capabilities offered to
federations by individual simulations.
The intent is to describe the public interface
of the federate in terms of an identified set
of supported objects and interactions.
OMT Components I
There are seven components :
• Object model identification: to associate important
identifying information with the HLA object model.
• Object class structure table: to record the namespace of all
simulation/federation object classes and to describe their
class-subclass relationship.
• Interaction class structure table: to record the namespace
of all simulation/federation interaction classes and to
describe their class-subclass relationship.
OMT Components II
• Attribute table: to specify features of object attributes in a
simulation/federation.*
• Parameter table: to specify features of interaction
attributes in a simulation/federation.*
• Routing space table: to specify features of object attributes
and interactions in a federation.
• FOM/SOM lexicon: to define all of the terms used in the
tables.
* The Attribute and Parameter table are associated with Object and Interaction class
structure table respectively.
Warning
In some cases, certain tables may be empty.
However all HLA object models shall
contain at least one object class or
interaction class.
Examples :
• Some federates might not be involved in interaction (such a WrightFlyer viewer) => no interaction class structure (=> no parameter table)
• For SOMs, the routing space is always empty.
• If there is no Data Distribution Management (DDM), the routing space
is also empty for FOMs.
Object model identification table
Category
Name
Version
Date
Purpose
Application Domain
Sponsor
POC
Information
The name assigned to the object model.
The version identification assigned to the model.
The date on which this version of the object model was created.
The purpose for which the federate or federation was created; may also
contain a brief description of key features.
The application domain to which the federate or federation
applies
The organization that sponsored the development of the federate
or federation
The point of contact for information on the federate or federation and the
associated object model; shall include an honorific.
POC Organization
The organization with which the POC is affiliated.
POC Telephone
POC Email
The telephone number for the POC.
The email address of the POC
Object class structure table
<class>(<ps>) [<class> (<ps>)] [<class> (<ps>)] [<class> (<ps>)][,<class>(<ps>)]*
| [<ref>]
[<class> (<ps>)] [<class> (<ps>)][,<class>(<ps>)]*
| [<ref>]
…
…
…
[<class> (<ps>)] [<class> (<ps>)][,<class>(<ps>)]*
| [<ref>]
…
…
[<class> (<ps>)] [<class> (<ps>)] [<class> (<ps>)][,<class>(<ps>)]*
| [<ref>]
…
…
Interaction class structure table
<class>(<isr>) [<class>(<isr>)] [<class>(<isr>)]
[<class>(<isr>)]
…
[<class>(<isr>)]
[<class>(<isr>)] [<class>(<isr>)]
…
[<class>(<isr>)]
…
…
<class>(<isr>) [<class>(<isr>)] [<class>(<isr>)]
[<class>(<isr>)]
…
…
…
…
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
…
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
…
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
…
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
[<class>(<isr>)][,<class>(isr>)]*|[<ref>]
…
…
Attribute table
Object
Attribute
Data
type
Cardina Units
lity
Resol
ution
Accu
racy
Accuracy
Condition
Update
Type
Update
Condition
T/A
U/R
Routing
Space
<class> < “ >
<“>
[<size>]
<“>
<“>
<“>
<condition>
<type>
<rate>|
<condition>
<ta>
<ur>
<r_space>
<“>
<“>
[<size>]
<“>
<“>
<“>
<condition>
<type>
<rate>|
<condition>
<ta>
<ur>
<r_space>
…
…
…
…
…
…
…
…
…
…
…
…
<“>
[<size>]
<“>
<“>
<“>
<condition>
<type>
<rate>|
<condition>
<ta>
<ur>
<r_space>
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
<class> < “ >
…
Parameter table
Interaction Parameter
<class>
<class>
…
Data
type
Cardinality Units Resolution Accuracy Accuracy
Condition
Routing
Space
<“>
<“>
[<size>]
<“>
<“>
<“>
<condition> <r_space>
<“>
<“>
[<size>]
<“>
<“>
<“>
<condition>
<“>
<“>
[<size>]
<“>
<“>
<“>
<condition>
…
…
…
…
…
…
…
<“>
<“>
[<size>]
<“>
<“>
<“>
<condition> <r_space>
<“>
<“>
[<size>]
<“>
<“>
<“>
<condition>
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
Routing space table
Routing
Space
<r_space>
Dimension
Dimension
Type
Dimension
Range/Set
Range/Set
Units
Normalization
Function
<dimension>
<type>
<range/set>
<units>
<n_function>
<dimension>
<type>
<range/set>
<units>
<n_function>
<dimension>
<type>
<range/set>
<units>
<n_function>
…
…
…
…
…
…
<r_space>
<dimension>
<type>
<range/set>
<units>
<n_function>
<dimension>
<type>
<range/set>
<units>
<n_function>
…
…
…
…
…
…
FOM/SOM lexicon
Object or Interaction Class Definitions
Term
Definition
<term name>
<term definition>
…
…
<term name>
<term definition>
Attribute or Parameter Definitions
Class
Term
Definition
<term_name>
<term name>
<term definition>
…
…
…
<term_name>
<term name>
<term definition>
More Tables...
There are more tables to included in the
OMT for specifying users types:
• Enumerated datatype table
• Complex datatype table