This object will be responsible for the 6 service managers:
FederationManager
DeclarationManager
ObjectManager
OwnershipManager
DataDistributionManager
TimeManager
RTIAmbassador
RTIAmb leaves at server side and knows all the relevant information
(such as FederationName/FederateId) about the Federate.
FederateAmbassador
FederateAmb leaves at the client side, knows the Federate specific
information, and is registered by the FederationExecution object.
FederationManager
FederationManager keeps the information about ongoing
FederationExecution objects. It is responsible for life cycle of
these objects. It can parse FED data and define the corresponding
FederationExecution object.
FederationExecution
FederationExecution object keeps the information about involved
Federates, their ids, name, FederateAmbbassador handles.
FederationExecution object keeps the status of the current
Execution. A bunch of "get_XXXX' methods will be available.
It will also keep track of the state transition of the execution
and apply the necessary logical checks.
ObjectClassNaming
This object keeps track of each object class which can be defined
by the federates in this federation execution. Definition comes
from the .FED data file.
ObjectRecord
This object keeps track of each instance of this object and the
AttributeWatcher objects which are attached to a particular attribute of
these instances.
AttributeWatcher
This object keeps track of publishing and subscribing object.
FederateAmb.
MessageQueue
Broadcast messages should be done in MessageQueue so that RTIKernel
objects won't be blocked until the end of communication.