Extended FOM Module Merging Capabilities Bjo rn Mo
Extended FOM Module Merging Capabilities Bjo rn Mo ller Andy Bowers Mikael Karlsson Björn Löfstrand 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Outline • • FOM (actually OMT) background Current FOM merging principles Proposed new capability: • Adding attributes to existing classes Proposed new capabiliby: • Adding DDM dimensions to existing classes Use case for above: JLVC Discussion: Extending enumerations Conclusions 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
An interesting observation • • • HLA enables us to gradually extend interoperability in a federation without necessarily requiring an update of all federates Adding new object & interaction classes does not require us to update existing systems that have no interest in them. They don’t subscribe. The same applies to adding new attributes The old FOM becomes a subset of the new FOM This is a key HLA feature since federates are often provided by different organizations with different acquisition and update cycles Also facilitates the use of COTS/GOTS tools 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Evolution of the HLA Object Model Template HLA 1. 3 BNF Format Monolithic OMT and FED file 13 S-SIW-004 HLA 15162000 HLA 15162010 XML Based (DTD) Monolithic Single file XML Based (Schema) Modular or Monolithic Extendable 2013 Spring Simulation Interoperability Workshop
FOM Module Merging Principles In most cases the Union operation is used Example from merging data type tables: Module M 1 Module M 2 Speed. Integer Color. Enum 13 S-SIW-004 RESULT Speed. Integer Color. Enum Fuel. Float 2013 Spring Simulation Interoperability Workshop
Merging Sibling Classes Module M 1 Module M 2 RESULT 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Merging Subclasses Module M 1 Module M 2 RESULT 13 S-SIW-004 Scaffolding definition 2013 Spring Simulation Interoperability Workshop
HLA 1516 -2010 Attribute Merge Module M 1 Module M 2 Scaffolding definition • • A new module cannot add attributes to an already defined class Need to add new attributes in a subclass 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
When is this a problem? • • • An older federate already registers object instances using the initial class (without extra attributes) • Example: Physical. Entity. Platform. Aircraft We want to add more attributes to the Aircraft class or even to a superclass like Physical. Entity Cannot add attributes using a new FOM Module Need to modify the original FOM, that is a Reference FOM Problem: We end up with a non-standard version of the FOM module FORK! 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Proposed New Attribute Merge Module M 1 New! FOM Modules can add more attributes to existing classes! Module M 2 RESULT 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Impact of the proposal • • • Does not affect current federations, federates, FOM and federation agreement • The 1516 -2010 FOM merge (siblings and subclasses) is a subset of the new proposed merge. Impacts the RTI Some design discussions remain for the HLA interface specification. • What happens to already registered instances of a class when a new FOM module is merged and new attributes are added? • At least three solutions are possible 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Short-term workaround Module M 1 • Module M 2 • RESULT 13 S-SIW-004 Perform this merge at development time using a special, nonstandard mode of an OMT tool Provide the already merged modules as a monolithic FOM at Create Federation Execution 2013 Spring Simulation Interoperability Workshop
Attribute and DDM recap 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Merging DDM Dimensions • • As federation size grows, there is an increased need to filter updates and interactions using HLA DDM • Example: Using the dimensions “Lat”, “Long” and “Side” enables us to subscribe only to updates from opposing platforms in a certain geographical area Same problem again: • Cannot add new dimensions to an attribute in one FOM module using another FOM module • Need to modify original FOM module, which is undesirable if this is a reference FOM 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Proposed New Dimension Merge • • • Allow new FOM Modules to add new Dimensions to existing Attributes and Interaction classes Does not affect current federations, federates, FOM and federation agreement • The 1516 -2010 FOM merge is a subset of the new proposed merge No major challenges for the RTI 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
A Bolder Proposal for DDM • • • Remove the Dimensions property of attributes and interactions. Allow any dimension in the FOM to be used when subscribing to and sending interactions. Allow any dimension in the FOM to be used when subscribing to and updating attributes. 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Use Case: JLVC • • • The United States Joint Staff Deputy Director J 7 (JS DD J 7), formerly the Joint Forces Command (JFCOM) J 7, sponsors the development and use of the Joint Live, Virtual, Constructive (JLVC) Federation JLVC is a RPR FOMv 2 d 17 -based federation • JLVC FOM has diverged significantly from the RPR FOM • Long-term goal is to use standard RPR FOM plus modular extensions When studying migration from HLA 1. 3 to 1516 -2010 a “mixed-mode” federation was developed and the FOM was migrated to the modular 1516 -2010 format 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
JLVC Experiences • • Tried to maintain unmodified RPR FOM and put extensions in a subclass in a new module • Platform. Aircraft. JLVC_Aircraft Issue 1: Still needed to add DDM dimensions to attributes in the original superclasses in the RPR FOM Issue 2: Existing HLA 1. 3 federates did not use/recognize the new subclasses Also some RTI specific issues with respect to attribute ordering 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Related discussion: Enumerations • • How to maintain large and growing enumerations? Two proposed solutions • Put enumerated data type(s) in a separate module • Start supporting “Xinclude” statement in the OMT XML format. Store enumerators separately. The first solution is already supported by HLA Evolved and is now introduced in the RPR FOM Another question: Should a new FOM module be able to extend an already defined enumeration? • This may break older federates • Nothing proposed for now 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
Conclusions • • Two extensions to the FOM merging of HLA 15162010 are proposed: • Allow the addition of new attributes to an existing object class using a new FOM module. • Allow the addition of new dimensions to an existing attribute or interaction class using a new FOM module. One of the main drivers for these extensions is the use of reference FOMs. A practical use case is presented to support this Enumerations have also been discussed. A useful approach for extending them already exists 13 S-SIW-004 2013 Spring Simulation Interoperability Workshop
- Slides: 20