I'm starting to study how to implement HLA in a project that I'm developing, and there's something that I can't understand very well.
In a federation, the data that are exchanged are defined in the FOM (Federation Object Model), that contains all the necessary stuff (classes, interactions and so on). That's ok.
I've also read that every federate needs to publish its own SOM (Simulation Object Model), that's a description of data that the federate publishes and for which it's subscribed.
My questions are:
- Who needs to load the FOM file? Every federate? It must be read from the RTI Manager?
- Why a federate needs to publish a SOM if the FOM is already available? If the FOM defines all strucutres that can be exchanged, the SOM duplicates a sub-part of the FOM that's needed only by the federate?
- Who reads the SOM that's sent by a federate?
- What data are stored inside the SOM? There's a deep copy of some structure defined in the FOM, there are links to them in the FOM?
- The SOM can contain classes, interactions and so on that are not defined in the FOM?
- If every federate publish data about objects that it uses with the SOM, why we need the FOM?
Sorry if they are simple questions, but I'm new to this and even if I understand the programming aspect of HLA, the logic behind these things are a bit obscure for me (maybe my not perfect English has a part in it, too).