pRTI™ v1.3

hla.rti
Interface RTIambassador


public interface RTIambassador

The RTI presents this interface to the federate. RTI implementer must implement this.


Method Summary
 void associateRegionForUpdates(Region theRegion, int theObject, AttributeHandleSet theAttributes)
          The Associate Region For Updates service shall associate a region to be used for updates with instance attributes of a specific object instance.
 void attributeOwnershipAcquisition(int theObject, AttributeHandleSet desiredAttributes, byte[] userSuppliedTag)
          The Attribute Ownership Acquisition service shall request the ownership of the specified instance attributes of the specified object instance.
 void attributeOwnershipAcquisitionIfAvailable(int theObject, AttributeHandleSet desiredAttributes)
          The Attribute Ownership Acquisition If Available service shall request the ownership of the specified instance attributes of the specified object instance only if the instance attribute is unowned by all federates or it is in the process of being divested by its owner.
 AttributeHandleSet attributeOwnershipReleaseResponse(int theObject, AttributeHandleSet theAttributes)
          The Attribute Ownership Release Response service shall notify the RTI that the federate is willing to release ownership of the specified instance attributes for the specified object instance.
 void cancelAttributeOwnershipAcquisition(int theObject, AttributeHandleSet theAttributes)
          The Cancel Attribute Ownership Acquisition service shall notify the RTI that the federate no longer wants to acquire ownership of the specified instance attributes.
 void cancelNegotiatedAttributeOwnershipDivestiture(int theObject, AttributeHandleSet theAttributes)
          The Cancel Negotiated Attribute Ownership Divestiture service shall notify the RTI that the federate no longer wants to divest ownership of the specified instance attributes.
 void changeAttributeOrderType(int theObject, AttributeHandleSet theAttributes, int theType)
          The preferred order type for each attribute of an object instance shall be initialized from the object class description in the FED.
 void changeAttributeTransportationType(int theObject, AttributeHandleSet theAttributes, int theType)
          The transportation type for each attribute of an object instance shall be initialized from the object class description in the FED.
 void changeInteractionOrderType(int theClass, int theType)
          The preferred order type of each interaction shall be initialized from the interaction class description in the FED.
 void changeInteractionTransportationType(int theClass, int theType)
          The transportation type for each interaction shall be initialized from the interaction class description in the FED.
 void createFederationExecution(java.lang.String executionName, java.net.URL fed)
          The Create Federation Execution service shall create a new federation execution and add it to the set of supported federation executions.
 Region createRegion(int spaceHandle, int numberOfExtents)
          The Create Region service shall create a region that has the dimensions of the specified routing space and the specified number of extents.
 void deleteObjectInstance(int ObjectHandle, byte[] userSuppliedTag)
          The Delete Object Instance service shall inform the federation that an object instance with the specified designator, owned by the federate, is to be removed from the federation execution.
 hla.rti.EventRetractionHandle deleteObjectInstance(int ObjectHandle, byte[] userSuppliedTag, LogicalTime theTime)
          The Delete Object Instance service shall inform the federation that an object instance with the specified designator, owned by the federate, is to be removed from the federation execution.
 void deleteRegion(Region theRegion)
          The Delete Region service shall delete the specified region.
 void destroyFederationExecution(java.lang.String executionName)
          The Destroy Federation Execution service shall remove a federation execution from the RTI set of supported federation executions.
 void disableAsynchronousDelivery()
          Invocations of the Disable Asynchronous Delivery service shall instruct the RTI to deliver received RO messages to the invoking federate only when it is in the Time A dvancing state and the federate is time constrained.
 void disableAttributeRelevanceAdvisorySwitch()
          The Disable Attribute Relevance Advisory Switch service shall set the Attribute Relevance Advisory switch off.
 void disableAttributeScopeAdvisorySwitch()
          The Disable Attribute Scope Advisory Switch service shall set the Attribute Scope Advisory switch off.
 void disableClassRelevanceAdvisorySwitch()
          The Disable Class Relevance Advisory Switch service shall set the Class Relevance Advisory Switch off.
 void disableInteractionRelevanceAdvisorySwitch()
          The Disable Interaction Relevance Advisory Switch service shall set the Interaction Relevance Advisory switch off.
 void disableTimeConstrained()
          Invocation of the Disable Time Constrained service shall indicate that the federate is no longer time constrained.
 void disableTimeRegulation()
          Invocation of the Disable Time Regulation service shall indicate that the federate is disabling time regulation.
 void enableAsynchronousDelivery()
          Invocations of the Enable Asynchronous Delivery service shall instruct the RTI to deliver received RO messages to the invoking federate when it is in either the Time Advancing or Time Granted state.
 void enableAttributeRelevanceAdvisorySwitch()
          The Enable Attribute Relevance Advisory Switch service shall set the Attribute Relevance Advisory switch on.
 void enableAttributeScopeAdvisorySwitch()
          The Enable Attribute Scope Advisory Switch service shall set the Attribute Scope Advisory switch on.
 void enableClassRelevanceAdvisorySwitch()
          The Enable Class Relevance Advisory Switch service shall set the Class Relevance Advisory switch on.
 void enableInteractionRelevanceAdvisorySwitch()
          The Enable Interaction Relevance Advisory Switch service shall set the Interaction Relevance Advisory switch on.
 void enableTimeConstrained()
          The Enable Time Constrained service shall request that the federate invoking the service become time constrained.
 void enableTimeRegulation(LogicalTime theFederateTime, LogicalTimeInterval theLookahead)
          The Enable Time Regulation service shall enable time regulation for the federate invoking the service, thereby enabling the federate to send TSO messages.
 void federateRestoreComplete()
          The Federate Restore Complete service shall notify the RTI that the federate has completed its restore attempt successfully.
 void federateRestoreNotComplete()
          The Federate Restore Complete service shall notify the RTI that the federate has completed its restore attempt unsuccessfully.
 void federateSaveBegun()
          The Federate Save Begun service shall notify the RTI that the federate is beginning to save its state.
 void federateSaveComplete()
          The Federate Save Complete service shall notify the RTI that the federate has completed its save attempt successfully.
 void federateSaveNotComplete()
          The Federate Save Not Complete service shall notify the RTI that the federate has completed its save attempt unsuccessfully.
 void flushQueueRequest(LogicalTime theTime)
          The Flush Queue Request service shall request that all messages queued in the RTI that the federate will receive as TSO messages be delivered now.
 int getAttributeHandle(java.lang.String theName, int whichClass)
          The Get Attribute Handle service shall return the attribute handle associated with the supplied attribute name and object class.
 java.lang.String getAttributeName(int theHandle, int whichClass)
          The Get Attribute Name service shall return the attribute name associated with the supplied attribute handle and object class.
 int getAttributeRoutingSpaceHandle(int theHandle, int whichClass)
          The Get Attribute Routing Space Handle service shall return the routing space associated with the supplied attribute and object class.
 int getDimensionHandle(java.lang.String theName, int whichSpace)
          The Get Dimension Handle service shall return the dimension handle associated with the supplied dimension name and routing space.
 java.lang.String getDimensionName(int theHandle, int whichClass)
          The Get Dimension Name service shall return the dimension name associated with the supplied dimension handle and routing space.
 int getInteractionClassHandle(java.lang.String theName)
          The Get Interaction Class Handle service shall return the interaction class handle associated with the supplied interaction class name.
 java.lang.String getInteractionClassName(int theHandle)
          The Get Interaction Class Name service shall return the interaction class name associated with the supplied interaction class handle.
 int getInteractionRoutingSpaceHandle(int theHandle)
          The Get Interaction Routing Space Handle service shall return the routing space associated with the supplied interaction class.
 int getObjectClass(int theObject)
          The Get Object Class service shall return the known object class of the supplied object instance.
 int getObjectClassHandle(java.lang.String theName)
          The Get Object Class Handle service shall return the object class handle associated with the supplied object class name.
 java.lang.String getObjectClassName(int theHandle)
          The Get Object Class Name service shall return the object class name associated with the supplied object class handle.
 int getObjectInstanceHandle(java.lang.String theName)
          The Get Object Instance Handle service shall return the handle of the object instance with the supplied name.
 java.lang.String getObjectInstanceName(int theHandle)
          The Get Object Instance Name service shall return the name of the object instance with the supplied handle.
 int getOrderingHandle(java.lang.String theName)
          The Get Ordering Handle service shall return the ordering handle associated with the supplied ordering name.
 java.lang.String getOrderingName(int theHandle)
          The Get Ordering Name service shall return the ordering name associated with the supplied ordering handle.
 int getParameterHandle(java.lang.String theName, int whichClass)
          The Get Parameter Handle service shall return the parameter handle associated with the supplied parameter name and interaction class.
 java.lang.String getParameterName(int theHandle, int whichClass)
          The Get Parameter Name service shall return the parameter name associated with the supplied parameter handle and interaction class.
 int getRoutingSpaceHandle(java.lang.String theName)
          The Get Routing Space Handle service shall return the routing space handle associated with the supplied routing space name.
 java.lang.String getRoutingSpaceName(int theHandle)
          The Get Routing Space Name service shall return the routing space name associated with the supplied routing space handle.
 int getTransportationHandle(java.lang.String theName)
          The Get Transportation Handle service shall return the transportation handle associated with the supplied transportation name.
 java.lang.String getTransportationName(int theHandle)
          The Get Transportation Name service shall return the transportation name associated with the supplied transportation handle.
 boolean isAttributeOwnedByFederate(int theObject, int theAttribute)
          The Is Attribute Owned By Federate service shall be used to determine if the specified instance attribute of the specified object instance designator is owned by the invoking federate.
 int joinFederationExecution(java.lang.String federateType, java.lang.String federationExecutionName, FederateAmbassador federateReference)
          The Join Federation Execution service shall affiliate the federate with a federation execution.
 int joinFederationExecution(java.lang.String federateType, java.lang.String federationExecutionName, FederateAmbassador federateReference, MobileFederateServices serviceReferences)
          The Join Federation Execution service shall affiliate the federate with a federation execution.
 void localDeleteObjectInstance(int ObjectHandle)
          The Local Delete Object Instance service shall inform the RTI that it shall treat the specified object instance as if the RTI had never notified the invoking federate to discover the object instance.
 void modifyLookahead(LogicalTimeInterval theLookahead)
          The Modify Lookahead service shall request a change to the actual value of the federate’s lookahead.
 void negotiatedAttributeOwnershipDivestiture(int theObject, AttributeHandleSet theAttributes, byte[] userSuppliedTag)
          The Negotiated Attribute Ownership Divestiture service shall notify the RTI that the federate no longer wants to own the specified instance attributes of the specified object instance.
 void nextEventRequest(LogicalTime theTime)
          The Next Event Request service shall request the logical time of the federate to be advanced to the time stamp of the next TSO message that will be delivered to the federate, provided that message has a time stamp no greater than the logical time specified in the request.
 void nextEventRequestAvailable(LogicalTime theTime)
          The Next Event Request Available service shall request the logical time of the federate to be advanced to the time stamp of the next TSO message that will be delivered to the federate, provided that message has a time stamp no greater than the logical time specified in the request.
 void notifyOfRegionModification(Region modifiedRegionInstance)
          The Notify of Region Modification service shall inform the RTI about changes to the extent set of the region.
 void publishInteractionClass(int theInteraction)
          The Publish Interaction Class service shall inform the RTI which classes of interactions the federate will send to the federation execution.
 void publishObjectClass(int theClass, AttributeHandleSet attributeList)
          The information conveyed by the federate via the Publish Object Class service shall be used in multiple ways.
 void queryAttributeOwnership(int theObject, int theAttribute)
          The Query Attribute Ownership service shall be used to determine the owner of the specified instance attribute.
 LogicalTime queryFederateTime()
          The Query Federate Time service shall request the current value of the invoking federate’s logical time.
 LogicalTime queryLBTS()
          The Query LBTS service shall request the invoking federate’s current value of LBTS.
 LogicalTimeInterval queryLookahead()
          The Query Lookahead service shall query the RTI for the current value of the federate’s actual lookahead.
 LogicalTime queryMinNextEventTime()
          The Query Minimum Next Event Time service shall request the minimum of LBTS and the time stamp of the next sent TSO message that is held by the RTI for delivery to the requesting federate, if there are any.
 void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag)
          The Register Federation Synchronization Point service shall be used to initiate the registration of an upcoming synchronization point label.
 void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, FederateHandleSet synchronizationSet)
          The Register Federation Synchronization Point service shall be used to initiate the registration of an upcoming synchronization point label.
 int registerObjectInstance(int theClass)
          The RTI shall create a unique (to the local federate) object instance designator and shall link it with an instance of the supplied object class.
 int registerObjectInstance(int theClass, java.lang.String theObject)
          The RTI shall create a unique (to the local federate) object instance designator and shall link it with an instance of the supplied object class.
 int registerObjectInstanceWithRegion(int theClass, int[] theAttributes, Region[] theRegions)
          The Register Object Instance With Region service shall create a unique object instance designator and link it with an object instance of the supplied object class.
 int registerObjectInstanceWithRegion(int theClass, java.lang.String theObject, int[] theAttributes, Region[] theRegions)
          The Register Object Instance With Region service shall create a unique object instance designator and link it with an object instance of the supplied object class.
 void requestClassAttributeValueUpdate(int theClass, AttributeHandleSet theAttributes)
          The Request Object Attribute Value Update service shall be used to stimulate the update of values of specified attributes.
 void requestClassAttributeValueUpdateWithRegion(int theClass, AttributeHandleSet theAttributes, Region theRegion)
          The Request Class Attribute Value Update With Region service shall be used to stimulate the update of values of specified attributes.
 void requestFederationRestore(java.lang.String label)
          The Request Federation Restore service shall direct the RTI to begin the federation execution restoration process.
 void requestFederationSave(java.lang.String label)
          The Request Federation Save service shall specify that a federation save should take place.
 void requestFederationSave(java.lang.String label, LogicalTime theTime)
          The Request Federation Save service shall specify that a federation save should take place.
 void requestObjectAttributeValueUpdate(int theObject, AttributeHandleSet theAttributes)
          The Request Object Attribute Value Update service shall be used to stimulate the update of values of specified attributes.
 void resignFederationExecution(int resignAction)
          The Resign Federation Execution service shall indicate the requested cessation of federation participation.
 void retract(hla.rti.EventRetractionHandle theHandle)
          The Retract service shall be used by a federate to notify the federation execution that a message/ event previously sent by the federate is to be retracted.
 void sendInteraction(int theInteraction, SuppliedParameters theParameters, byte[] userSuppliedTag)
          The Send Interaction service shall send an interaction into the federation.
 hla.rti.EventRetractionHandle sendInteraction(int theInteraction, SuppliedParameters theParameters, byte[] userSuppliedTag, LogicalTime theTime)
          The Send Interaction service shall send an interaction into the federation.
 void sendInteractionWithRegion(int theInteraction, SuppliedParameters theParameters, byte[] userSuppliedTag, Region theRegion)
          The Send Interaction With Region service shall send an interaction into the federation.
 hla.rti.EventRetractionHandle sendInteractionWithRegion(int theInteraction, SuppliedParameters theParameters, byte[] userSuppliedTag, Region theRegion, LogicalTime theTime)
          The Send Interaction With Region service shall send an interaction into the federation.
 void subscribeInteractionClass(int theClass)
          Specifies an interaction class for which the RTI should notify the federate of sent interactions by invoking the Receive Interaction † service at the federate.
 void subscribeInteractionClassPassively(int theClass)
          Specifies an interaction class for which the RTI should notify the federate of sent interactions by invoking the Receive Interaction † service at the federate.
 void subscribeInteractionClassPassivelyWithRegion(int theClass, Region theRegion)
          The Subscribe Interaction Class With Region service shall specify the class of interactions that should be delivered to the federate, taking the region into account.
 void subscribeInteractionClassWithRegion(int theClass, Region theRegion)
          The Subscribe Interaction Class With Region service shall specify the class of interactions that should be delivered to the federate, taking the region into account.
 void subscribeObjectClassAttributes(int theClass, AttributeHandleSet attributeList)
          The Subscribe Object Class Attributes service shall specify an object class at which the RTI shall notify the federate of discovery of object instances.
 void subscribeObjectClassAttributesPassively(int theClass, AttributeHandleSet attributeList)
          The Subscribe Object Class Attributes service shall specify an object class at which the RTI shall notify the federate of discovery of object instances.
 void subscribeObjectClassAttributesPassivelyWithRegion(int theClass, Region theRegion, AttributeHandleSet attributeList)
          The Subscribe Object Class Attributes With Region service shall specify an object class for which the RTI is to begin notifying the federate of discovery of instantiated object instances when at least one of that object instance’s instance attributes are in scope.
 void subscribeObjectClassAttributesWithRegion(int theClass, Region theRegion, AttributeHandleSet attributeList)
          The Subscribe Object Class Attributes With Region service shall specify an object class for which the RTI is to begin notifying the federate of discovery of instantiated object instances when at least one of that object instance’s instance attributes are in scope.
 void synchronizationPointAchieved(java.lang.String synchronizationPointLabel)
          The Synchronization Point Achieved service shall inform the RTI that the federate has reached the specified synchronization point.
 void tick()
          The tick method allows the RTI to perform call-backs to a single-threaded federate.
 void timeAdvanceRequest(LogicalTime theTime)
          The Time Advance Request service shall request an advance of the federate's logical time and release zero or more messages for delivery to the federate.
 void timeAdvanceRequestAvailable(LogicalTime theTime)
          The Time Advance Request Available service shall request an advance of the federate's logical time.
 void unassociateRegionForUpdates(Region theRegion, int theObject)
          The Unassociate Region For Updates service shall remove the association between the region and all instance attributes associated with that region.
 void unconditionalAttributeOwnershipDivestiture(int theObject, AttributeHandleSet theAttributes)
          The Unconditional Attribute Ownership Divestiture service shall notify the RTI that the federate no longer wants to own the specified instance attributes of the specified object.
 void unpublishInteractionClass(int theInteraction)
          The Unpublish Interaction Class service shall inform the RTI that the federate will no longer send interactions of the specified class.
 void unpublishObjectClass(int theClass)
          The Unpublish Object Class service shall inform the RTI that the federate will no longer register object instances of the specified object class.
 void unsubscribeInteractionClass(int theClass)
          The Unsubscribe Interaction Class service shall inform the RTI to no longer notify the federate of sent interactions of the specified interaction class.
 void unsubscribeInteractionClassWithRegion(int theClass, Region theRegion)
          The Unsubscribe Interaction Class With Region service shall inform the RTI that it should no longer notify the federate of interactions of the specified class that are sent into the specified region.
 void unsubscribeObjectClass(int theClass)
          The Unsubscribe Object Class service shall inform the RTI that it is to stop notifying the federate of object instance discovery at the specified object class.
 void unsubscribeObjectClassWithRegion(int theClass, Region theRegion)
          The Unsubscribe Object Class With Region service shall inform the RTI that it shall stop notifying the federate of object instance discoveries for the specified object class in the specified region.
 void updateAttributeValues(int theObject, SuppliedAttributes theAttributes, byte[] userSuppliedTag)
          The Update Attribute Values service shall provide current values to the federation for instance attributes owned by the federate.
 hla.rti.EventRetractionHandle updateAttributeValues(int theObject, SuppliedAttributes theAttributes, byte[] userSuppliedTag, LogicalTime theTime)
          The Update Attribute Values service shall provide current values to the federation for instance attributes owned by the federate.
 

Method Detail

createFederationExecution

public void createFederationExecution(java.lang.String executionName,
                                      java.net.URL fed)
                               throws hla.rti.FederationExecutionAlreadyExists,
                                      hla.rti.CouldNotOpenFED,
                                      hla.rti.ErrorReadingFED,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Create Federation Execution service shall create a new federation execution and add it to the set of supported federation executions. Each federation execution created by this service shall be independent of all other federation executions, and there shall be no inter- communication within the RTI between federation executions. The FED designator argument shall identify FED that is required for the federation execution to be created.
Parameters:
executionName - Federation execution name
fed - FED designator

destroyFederationExecution

public void destroyFederationExecution(java.lang.String executionName)
                                throws hla.rti.FederatesCurrentlyJoined,
                                       hla.rti.FederationExecutionDoesNotExist,
                                       hla.rti.RTIinternalError,
                                       hla.rti.ConcurrentAccessAttempted
The Destroy Federation Execution service shall remove a federation execution from the RTI set of supported federation executions. All federation activity shall have stopped and all federates shall have resigned before invoking this service.
Parameters:
executionName - — Federation execution name

joinFederationExecution

public int joinFederationExecution(java.lang.String federateType,
                                   java.lang.String federationExecutionName,
                                   FederateAmbassador federateReference)
                            throws hla.rti.FederateAlreadyExecutionMember,
                                   hla.rti.FederationExecutionDoesNotExist,
                                   hla.rti.SaveInProgress,
                                   hla.rti.RestoreInProgress,
                                   hla.rti.RTIinternalError,
                                   hla.rti.ConcurrentAccessAttempted
The Join Federation Execution service shall affiliate the federate with a federation execution. Invocation of the Join Federation Execution service shall indicate the intention to participate in the specified federation. The federate type parameter shall distinguish federate categories for federation save- and- restore purposes. The returned federate designator shall be unique across all federates in a federation execution.
Parameters:
federateType - Federate type
federationExecutionName - Federation execution name
federateReference - Reference to Federate Ambassador
Returns:
Federate designator

joinFederationExecution

public int joinFederationExecution(java.lang.String federateType,
                                   java.lang.String federationExecutionName,
                                   FederateAmbassador federateReference,
                                   MobileFederateServices serviceReferences)
                            throws hla.rti.FederateAlreadyExecutionMember,
                                   hla.rti.FederationExecutionDoesNotExist,
                                   hla.rti.SaveInProgress,
                                   hla.rti.RestoreInProgress,
                                   hla.rti.RTIinternalError,
                                   hla.rti.ConcurrentAccessAttempted
The Join Federation Execution service shall affiliate the federate with a federation execution. Invocation of the Join Federation Execution service shall indicate the intention to participate in the specified federation. The federate type parameter shall distinguish federate categories for federation save- and- restore purposes. The returned federate designator shall be unique across all federates in a federation execution.
Parameters:
federateType - Federate type
federationExecutionName - Federation execution name
federateReference - Reference to Federate Ambassador
serviceReferences - Mobile Federate Services
Returns:
Federate designator

resignFederationExecution

public void resignFederationExecution(int resignAction)
                               throws hla.rti.FederateOwnsAttributes,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.InvalidResignAction,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Resign Federation Execution service shall indicate the requested cessation of federation participation. Before resigning, ownership of instance attributes held by the federate should be resolved. The federate may transfer ownership of these instance attributes to other federates, release them for ownership acquisition at a later time, or delete the object instance of which they are a part (assuming the federate has the privilege to delete these object instances). As a convenience to the federate, the Resign Federation Execution service shall accept an action argument that directs the RTI to perform zero or more of the following actions:
- Release all owned instance attributes for future ownership acquisition. This shall place the instance attributes into an unowned state (implying that their values are not being updated), which shall make them eligible for ownership by another federate.
- Delete all object instances for which the federate has that privilege (implied invocation of the Delete Object Instance service).
Parameters:
resignAction - Directive to a) release ownership of all owned instance attributes
b) delete all object instances for which the federate has the delete privilege
c) perform action (a) and then action (b)
d) perform no actions

registerFederationSynchronizationPoint

public void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                                   byte[] userSuppliedTag)
                                            throws hla.rti.FederateNotExecutionMember,
                                                   hla.rti.SaveInProgress,
                                                   hla.rti.RestoreInProgress,
                                                   hla.rti.RTIinternalError,
                                                   hla.rti.ConcurrentAccessAttempted
The Register Federation Synchronization Point service shall be used to initiate the registration of an upcoming synchronization point label. When a synchronization point label has been successfully registered (indicated through the Confirm Synchronization Point Registration † service) the RTI shall inform some or all federates of the label existence by invoking the Announce Synchronization Point † service at those federates. The optional set of federate designators shall be used by the federate to specify which federates in the execution should be informed of the label existence. If the optional set of federate designators is empty or not supplied, all federates in the federation execution shall be informed of the label existence. If the optional set of designators is not empty, all designated federates must be federation execution members. The user- supplied tag shall provide a vehicle for information to be associated with the synchronization point and shall be announced along with the synchronization label. It is possible for multiple synchronization points registered by the same or different federates to be pending at the same time. The synchronization labels, however, shall be unique.
Parameters:
synchronizationPointLabel - Synchronization point label
userSuppliedTag - User-supplied tag

registerFederationSynchronizationPoint

public void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                                   byte[] userSuppliedTag,
                                                   FederateHandleSet synchronizationSet)
                                            throws hla.rti.FederateNotExecutionMember,
                                                   hla.rti.SaveInProgress,
                                                   hla.rti.RestoreInProgress,
                                                   hla.rti.RTIinternalError,
                                                   hla.rti.ConcurrentAccessAttempted
The Register Federation Synchronization Point service shall be used to initiate the registration of an upcoming synchronization point label. When a synchronization point label has been successfully registered (indicated through the Confirm Synchronization Point Registration † service) the RTI shall inform some or all federates of the label existence by invoking the Announce Synchronization Point † service at those federates. The optional set of federate designators shall be used by the federate to specify which federates in the execution should be informed of the label existence. If the optional set of federate designators is empty or not supplied, all federates in the federation execution shall be informed of the label existence. If the optional set of designators is not empty, all designated federates must be federation execution members. The user- supplied tag shall provide a vehicle for information to be associated with the synchronization point and shall be announced along with the synchronization label. It is possible for multiple synchronization points registered by the same or different federates to be pending at the same time. The synchronization labels, however, shall be unique.
Parameters:
synchronizationPointLabel - Synchronization point label
userSuppliedTag - User-supplied tag
synchronizationSet - Set of federate designators

synchronizationPointAchieved

public void synchronizationPointAchieved(java.lang.String synchronizationPointLabel)
                                  throws hla.rti.SynchronizationLabelNotAnnounced,
                                         hla.rti.FederateNotExecutionMember,
                                         hla.rti.SaveInProgress,
                                         hla.rti.RestoreInProgress,
                                         hla.rti.RTIinternalError,
                                         hla.rti.ConcurrentAccessAttempted
The Synchronization Point Achieved service shall inform the RTI that the federate has reached the specified synchronization point. Once all federates in the synchronization set for a given point have invoked this service, the RTI shall not invoke the Announce Synchronization Point † on any newly joining federates.
Parameters:
synchronizationPointLabel - Synchronization point label

requestFederationSave

public void requestFederationSave(java.lang.String label,
                                  LogicalTime theTime)
                           throws hla.rti.FederationTimeAlreadyPassed,
                                  hla.rti.InvalidFederationTime,
                                  hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
The Request Federation Save service shall specify that a federation save should take place. If the optional federation time argument is not present, the RTI shall instruct all federation execution members to save state as soon as possible after the invocation of the Request Federation Save service. If the optional federation time argument is present, the RTI shall instruct each time- constrained federate to save state when its value of logical time advances to the value provided; and it shall instruct non- time- constrained federates to save state when the last time- constrained federate’s value of logical time advances to the value of the optional federation save time provided. The RTI shall notify a federate to save state by invoking the Initiate Federate Save † service at that federate. Only one requested save shall be outstanding at a time. A new save request shall replace any outstanding save request. However, a save request cannot happen during a save in progress, which is between the RTI invocation of the Initiate Federate Save † service and RTI invocation of the Federation Saved † service.
Parameters:
label - Federation save label
theTime - Value of federation time

requestFederationSave

public void requestFederationSave(java.lang.String label)
                           throws hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
The Request Federation Save service shall specify that a federation save should take place. If the optional federation time argument is not present, the RTI shall instruct all federation execution members to save state as soon as possible after the invocation of the Request Federation Save service. If the optional federation time argument is present, the RTI shall instruct each time- constrained federate to save state when its value of logical time advances to the value provided; and it shall instruct non- time- constrained federates to save state when the last time- constrained federate’s value of logical time advances to the value of the optional federation save time provided. The RTI shall notify a federate to save state by invoking the Initiate Federate Save † service at that federate. Only one requested save shall be outstanding at a time. A new save request shall replace any outstanding save request. However, a save request cannot happen during a save in progress, which is between the RTI invocation of the Initiate Federate Save † service and RTI invocation of the Federation Saved † service.
Parameters:
label - Federation save label

federateSaveBegun

public void federateSaveBegun()
                       throws hla.rti.SaveNotInitiated,
                              hla.rti.FederateNotExecutionMember,
                              hla.rti.RestoreInProgress,
                              hla.rti.RTIinternalError,
                              hla.rti.ConcurrentAccessAttempted
The Federate Save Begun service shall notify the RTI that the federate is beginning to save its state.

federateSaveComplete

public void federateSaveComplete()
                          throws hla.rti.SaveNotInitiated,
                                 hla.rti.FederateNotExecutionMember,
                                 hla.rti.RestoreInProgress,
                                 hla.rti.RTIinternalError,
                                 hla.rti.ConcurrentAccessAttempted
The Federate Save Complete service shall notify the RTI that the federate has completed its save attempt successfully.

federateSaveNotComplete

public void federateSaveNotComplete()
                             throws hla.rti.SaveNotInitiated,
                                    hla.rti.FederateNotExecutionMember,
                                    hla.rti.RestoreInProgress,
                                    hla.rti.RTIinternalError,
                                    hla.rti.ConcurrentAccessAttempted
The Federate Save Not Complete service shall notify the RTI that the federate has completed its save attempt unsuccessfully.

requestFederationRestore

public void requestFederationRestore(java.lang.String label)
                              throws hla.rti.FederateNotExecutionMember,
                                     hla.rti.SaveInProgress,
                                     hla.rti.RestoreInProgress,
                                     hla.rti.RTIinternalError,
                                     hla.rti.ConcurrentAccessAttempted
The Request Federation Restore service shall direct the RTI to begin the federation execution restoration process. Federation restoration shall begin as soon after the validation of the Request Federation Restore service invocation as possible. A valid federation restoration request shall be indicated with the Confirm Federation Restoration Request † service.
Parameters:
label - Federation save label

federateRestoreComplete

public void federateRestoreComplete()
                             throws hla.rti.RestoreNotRequested,
                                    hla.rti.FederateNotExecutionMember,
                                    hla.rti.SaveInProgress,
                                    hla.rti.RTIinternalError,
                                    hla.rti.ConcurrentAccessAttempted
The Federate Restore Complete service shall notify the RTI that the federate has completed its restore attempt successfully.

federateRestoreNotComplete

public void federateRestoreNotComplete()
                                throws hla.rti.RestoreNotRequested,
                                       hla.rti.FederateNotExecutionMember,
                                       hla.rti.SaveInProgress,
                                       hla.rti.RTIinternalError,
                                       hla.rti.ConcurrentAccessAttempted
The Federate Restore Complete service shall notify the RTI that the federate has completed its restore attempt unsuccessfully.

publishObjectClass

public void publishObjectClass(int theClass,
                               AttributeHandleSet attributeList)
                        throws hla.rti.ObjectClassNotDefined,
                               hla.rti.AttributeNotDefined,
                               hla.rti.OwnershipAcquisitionPending,
                               hla.rti.FederateNotExecutionMember,
                               hla.rti.SaveInProgress,
                               hla.rti.RestoreInProgress,
                               hla.rti.RTIinternalError,
                               hla.rti.ConcurrentAccessAttempted
The information conveyed by the federate via the Publish Object Class service shall be used in multiple ways. First, it shall indicate an object class of which the federate may subsequently register object instances. Second, it shall indicate the class attributes of the object class for which the federate is capable of owning the corresponding instance attributes of object instances whose known class is that class. Only the federate that owns an instance attribute shall provide values for that instance attribute to the federation. The federate may become the owner of an instance attribute and thereby be capable of updating its value in two ways:

1. By registering an object instance of a published class. Upon registration of an object instance, the registering federate shall become the owner of all instance attributes of that object instance for which the federate is publishing the corresponding class attributes at the registered class of the object instance.
2. By using ownership management services to acquire instance attributes of object instances. The federate may acquire only those instance attributes of object instances for which the federate is publishing the corresponding class attributes at the known class of the object instance.

Each use of this service shall replace all information specified to the RTI in previous service invocations for the same object class. A class attribute that appears in this service invocation that also appeared in the previous service invocation for the same object class shall continue to be a published attribute of the specified object class. A class attribute that appears in this service invocation that did not appear in the previous service invocation for the same object class shall begin to be a published attribute of the specified class. A class attribute that does not appear in this service invocation but that did appear in the previous service invocation for the same object class shall stop being a published attribute of the specified class. Invoking this service with an empty set of class attributes shall be equivalent to invoking the Unpublish Object Class service with the specified object class.
Parameters:
theClass - Object class designator
attributeList - Set of attribute designators

unpublishObjectClass

public void unpublishObjectClass(int theClass)
                          throws hla.rti.ObjectClassNotDefined,
                                 hla.rti.ObjectClassNotPublished,
                                 hla.rti.OwnershipAcquisitionPending,
                                 hla.rti.FederateNotExecutionMember,
                                 hla.rti.SaveInProgress,
                                 hla.rti.RestoreInProgress,
                                 hla.rti.RTIinternalError,
                                 hla.rti.ConcurrentAccessAttempted
The Unpublish Object Class service shall inform the RTI that the federate will no longer register object instances of the specified object class. The federate shall lose ownership of all owned instance attributes of object instances whose known class is the specified object class, which means that the federate shall no longer update any instance attribute values of object instances whose known class is the specified object class.
Parameters:
theClass - Object class designator

publishInteractionClass

public void publishInteractionClass(int theInteraction)
                             throws hla.rti.InteractionClassNotDefined,
                                    hla.rti.FederateNotExecutionMember,
                                    hla.rti.SaveInProgress,
                                    hla.rti.RestoreInProgress,
                                    hla.rti.RTIinternalError,
                                    hla.rti.ConcurrentAccessAttempted
The Publish Interaction Class service shall inform the RTI which classes of interactions the federate will send to the federation execution.
Parameters:
Interaction - class designator

unpublishInteractionClass

public void unpublishInteractionClass(int theInteraction)
                               throws hla.rti.InteractionClassNotDefined,
                                      hla.rti.InteractionClassNotPublished,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.SaveInProgress,
                                      hla.rti.RestoreInProgress,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Unpublish Interaction Class service shall inform the RTI that the federate will no longer send interactions of the specified class.
Parameters:
theInteraction - Interaction class designator

subscribeObjectClassAttributes

public void subscribeObjectClassAttributes(int theClass,
                                           AttributeHandleSet attributeList)
                                    throws hla.rti.ObjectClassNotDefined,
                                           hla.rti.AttributeNotDefined,
                                           hla.rti.FederateNotExecutionMember,
                                           hla.rti.SaveInProgress,
                                           hla.rti.RestoreInProgress,
                                           hla.rti.RTIinternalError,
                                           hla.rti.ConcurrentAccessAttempted
The Subscribe Object Class Attributes service shall specify an object class at which the RTI shall notify the federate of discovery of object instances. When subscribing to an object class, the federate may also provide a set of class attributes. The values of only the instance attributes that correspond to the specified class attributes, for all object instances discovered as a result of this service invocation, shall be provided to the federate from the RTI (via the Reflect Attribute Values † service). The set of class attributes provided shall be a subset of the available attributes of the specified object class. A federate shall only discover an object as being of a class to which the federate is subscribed. If a federate subscribes to multiple locations in an object class inheritance tree, each relevant object registration shall result in at most one object discovery by the subscribing federate. The discovered class shall be the registered class, if subscribed by the discovering federate. Otherwise, the discovered class shall be the closest super- class of the registered class subscribed by the discovering federate. Each use of this service shall replace all information specified to the RTI in any previous Subscribe Object Class Attributes service invocation for the same object class. Invoking this service with an empty set of class attributes shall be equivalent to invoking the Unsubscribe Object Class service with the specified object class. The invocation of this service may cause the Start Registration For Object Class service to be invoked at one or more other federates.
Parameters:
Object - class designator
Set - of attribute designators

subscribeObjectClassAttributesPassively

public void subscribeObjectClassAttributesPassively(int theClass,
                                                    AttributeHandleSet attributeList)
                                             throws hla.rti.ObjectClassNotDefined,
                                                    hla.rti.AttributeNotDefined,
                                                    hla.rti.FederateNotExecutionMember,
                                                    hla.rti.SaveInProgress,
                                                    hla.rti.RestoreInProgress,
                                                    hla.rti.RTIinternalError,
                                                    hla.rti.ConcurrentAccessAttempted
The Subscribe Object Class Attributes service shall specify an object class at which the RTI shall notify the federate of discovery of object instances. When subscribing to an object class, the federate may also provide a set of class attributes. The values of only the instance attributes that correspond to the specified class attributes, for all object instances discovered as a result of this service invocation, shall be provided to the federate from the RTI (via the Reflect Attribute Values † service). The set of class attributes provided shall be a subset of the available attributes of the specified object class. A federate shall only discover an object as being of a class to which the federate is subscribed. If a federate subscribes to multiple locations in an object class inheritance tree, each relevant object registration shall result in at most one object discovery by the subscribing federate. The discovered class shall be the registered class, if subscribed by the discovering federate. Otherwise, the discovered class shall be the closest super- class of the registered class subscribed by the discovering federate. Each use of this service shall replace all information specified to the RTI in any previous Subscribe Object Class Attributes service invocation for the same object class. Invoking this service with an empty set of class attributes shall be equivalent to invoking the Unsubscribe Object Class service with the specified object class. The invocation of this service shall not cause the Start Registration For Object Class † service to be invoked at any other federate and if this invocation replaces a previous subscription that was active rather than passive, invocation of this service may cause the Stop Registration for Object Class † service to be invoked at one or more other federates.
Parameters:
Object - class designator
Set - of attribute designators

unsubscribeObjectClass

public void unsubscribeObjectClass(int theClass)
                            throws hla.rti.ObjectClassNotDefined,
                                   hla.rti.ObjectClassNotSubscribed,
                                   hla.rti.FederateNotExecutionMember,
                                   hla.rti.SaveInProgress,
                                   hla.rti.RestoreInProgress,
                                   hla.rti.RTIinternalError,
                                   hla.rti.ConcurrentAccessAttempted
The Unsubscribe Object Class service shall inform the RTI that it is to stop notifying the federate of object instance discovery at the specified object class. All in- scope instance attributes of known object instances whose known class is the specified object class shall go out of scope.
Parameters:
Object - class designator

subscribeInteractionClass

public void subscribeInteractionClass(int theClass)
                               throws hla.rti.InteractionClassNotDefined,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.FederateLoggingServiceCalls,
                                      hla.rti.SaveInProgress,
                                      hla.rti.RestoreInProgress,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
Specifies an interaction class for which the RTI should notify the federate of sent interactions by invoking the Receive Interaction † service at the federate. When an interaction is received by a federate, the received class of the interaction shall be the interaction’s sent class, if subscribed. Otherwise, the received class is the closest super- class of the sent class that is subscribed at the time the interaction is received. Only the parameters from the interaction’s received class and its super- classes will be received. If a federate subscribes to multiple locations in an interaction class inheritance tree, each relevant interaction sent shall result in at most one received interaction in the subscribing federate. The invocation of this service may cause the Turn Interactions On † service to be invoked at one or more other federates.
Parameters:
subscribeInteractionClass - Interaction class designator

subscribeInteractionClassPassively

public void subscribeInteractionClassPassively(int theClass)
                                        throws hla.rti.InteractionClassNotDefined,
                                               hla.rti.FederateNotExecutionMember,
                                               hla.rti.FederateLoggingServiceCalls,
                                               hla.rti.SaveInProgress,
                                               hla.rti.RestoreInProgress,
                                               hla.rti.RTIinternalError,
                                               hla.rti.ConcurrentAccessAttempted
Specifies an interaction class for which the RTI should notify the federate of sent interactions by invoking the Receive Interaction † service at the federate. When an interaction is received by a federate, the received class of the interaction shall be the interaction’s sent class, if subscribed. Otherwise, the received class is the closest super- class of the sent class that is subscribed at the time the interaction is received. Only the parameters from the interaction’s received class and its super- classes will be received. If a federate subscribes to multiple locations in an interaction class inheritance tree, each relevant interaction sent shall result in at most one received interaction in the subscribing federate. The invocation of this service shall not cause the Turn Interactions On † service to be invoked at any other federate and if this invocation replaces a previous subscription that was active rather than passive, invocation of this service may cause the Turn Interactions Off † service to be invoked at one or more other federates.
Parameters:
subscribeInteractionClass - Interaction class designator

unsubscribeInteractionClass

public void unsubscribeInteractionClass(int theClass)
                                 throws hla.rti.InteractionClassNotDefined,
                                        hla.rti.InteractionClassNotSubscribed,
                                        hla.rti.FederateNotExecutionMember,
                                        hla.rti.SaveInProgress,
                                        hla.rti.RestoreInProgress,
                                        hla.rti.RTIinternalError,
                                        hla.rti.ConcurrentAccessAttempted
The Unsubscribe Interaction Class service shall inform the RTI to no longer notify the federate of sent interactions of the specified interaction class.
Parameters:
theClass - Interaction class designator

registerObjectInstance

public int registerObjectInstance(int theClass)
                           throws hla.rti.ObjectClassNotDefined,
                                  hla.rti.ObjectClassNotPublished,
                                  hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
The RTI shall create a unique (to the local federate) object instance designator and shall link it with an instance of the supplied object class. All instance attributes of the object instance for which the corresponding class attributes are currently published by the registering federate shall be set as owned by the registering federate.
Parameters:
theClass - Object class designator
Returns:
Object instance designator

registerObjectInstance

public int registerObjectInstance(int theClass,
                                  java.lang.String theObject)
                           throws hla.rti.ObjectClassNotDefined,
                                  hla.rti.ObjectClassNotPublished,
                                  hla.rti.ObjectAlreadyRegistered,
                                  hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
The RTI shall create a unique (to the local federate) object instance designator and shall link it with an instance of the supplied object class. All instance attributes of the object instance for which the corresponding class attributes are currently published by the registering federate shall be set as owned by the registering federate. The supplied name shall be unique and shall be associated with the object instance. The supplied object instance name shall not use the string "HLA" as the initial part of the name.
Parameters:
theClass - Object class designator
theObject - Object instance name
Returns:
Object instance designator

updateAttributeValues

public void updateAttributeValues(int theObject,
                                  SuppliedAttributes theAttributes,
                                  byte[] userSuppliedTag)
                           throws hla.rti.ObjectNotKnown,
                                  hla.rti.AttributeNotDefined,
                                  hla.rti.AttributeNotOwned,
                                  hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
The Update Attribute Values service shall provide current values to the federation for instance attributes owned by the federate. The federate shall supply changed instance attribute values as specified in the FED. This service, coupled with the Reflect Attribute Values † service, shall form the primary data exchange mechanism supported by the RTI.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designator and value pairs
userSuppliedTag - User- supplied tag

updateAttributeValues

public hla.rti.EventRetractionHandle updateAttributeValues(int theObject,
                                                           SuppliedAttributes theAttributes,
                                                           byte[] userSuppliedTag,
                                                           LogicalTime theTime)
                                                    throws hla.rti.ObjectNotKnown,
                                                           hla.rti.AttributeNotDefined,
                                                           hla.rti.AttributeNotOwned,
                                                           hla.rti.InvalidFederationTime,
                                                           hla.rti.FederateNotExecutionMember,
                                                           hla.rti.SaveInProgress,
                                                           hla.rti.RestoreInProgress,
                                                           hla.rti.RTIinternalError,
                                                           hla.rti.ConcurrentAccessAttempted
The Update Attribute Values service shall provide current values to the federation for instance attributes owned by the federate. The federate shall supply changed instance attribute values as specified in the FED. This service, coupled with the Reflect Attribute Values † service, shall form the primary data exchange mechanism supported by the RTI. The service shall return a federation- unique event retraction designator.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designator and value pairs
userSuppliedTag - User- supplied tag
theTime - Federation time
Returns:
Event retraction designator

sendInteraction

public void sendInteraction(int theInteraction,
                            SuppliedParameters theParameters,
                            byte[] userSuppliedTag)
                     throws hla.rti.InteractionClassNotDefined,
                            hla.rti.InteractionClassNotPublished,
                            hla.rti.InteractionParameterNotDefined,
                            hla.rti.FederateNotExecutionMember,
                            hla.rti.SaveInProgress,
                            hla.rti.RestoreInProgress,
                            hla.rti.RTIinternalError,
                            hla.rti.ConcurrentAccessAttempted
The Send Interaction service shall send an interaction into the federation. The interaction parameters may be those in the specified class and all super- classes, as defined in the FED.
Parameters:
theInteraction - Interaction class designator
theParameters - Set of interaction parameter designator and value pairs
userSuppliedTag - User- supplied tag

sendInteraction

public hla.rti.EventRetractionHandle sendInteraction(int theInteraction,
                                                     SuppliedParameters theParameters,
                                                     byte[] userSuppliedTag,
                                                     LogicalTime theTime)
                                              throws hla.rti.InteractionClassNotDefined,
                                                     hla.rti.InteractionClassNotPublished,
                                                     hla.rti.InteractionParameterNotDefined,
                                                     hla.rti.InvalidFederationTime,
                                                     hla.rti.FederateNotExecutionMember,
                                                     hla.rti.SaveInProgress,
                                                     hla.rti.RestoreInProgress,
                                                     hla.rti.RTIinternalError,
                                                     hla.rti.ConcurrentAccessAttempted
The Send Interaction service shall send an interaction into the federation. The interaction parameters may be those in the specified class and all super- classes, as defined in the FED. The service shall return a federation- unique event retraction designator.
Parameters:
theInteraction - Interaction class designator
theParameters - Set of interaction parameter designator and value pairs
userSuppliedTag - User- supplied tag
theTime - Federation time
Returns:
Event retraction designator

deleteObjectInstance

public void deleteObjectInstance(int ObjectHandle,
                                 byte[] userSuppliedTag)
                          throws hla.rti.ObjectNotKnown,
                                 hla.rti.DeletePrivilegeNotHeld,
                                 hla.rti.FederateNotExecutionMember,
                                 hla.rti.SaveInProgress,
                                 hla.rti.RestoreInProgress,
                                 hla.rti.RTIinternalError,
                                 hla.rti.ConcurrentAccessAttempted
The Delete Object Instance service shall inform the federation that an object instance with the specified designator, owned by the federate, is to be removed from the federation execution. Once the object instance is removed from the federation execution, the designator shall not be reused and all federates which owned attributes of the object instance no longer own those attributes. The RTI shall use the Remove Object service to inform the reflecting federates that the object instance has been deleted. The invoking federate shall own the privilegeToDeleteObject attribute of the specified object instance. The preferred order type of the sent message representing a Delete Object Instance service invocation shall be based on the preferred order type of the privilegeToDeleteObject attribute of the specified object instance.
Parameters:
ObjectHandle - Object instance designator
userSuppliedTag - User- supplied tag

deleteObjectInstance

public hla.rti.EventRetractionHandle deleteObjectInstance(int ObjectHandle,
                                                          byte[] userSuppliedTag,
                                                          LogicalTime theTime)
                                                   throws hla.rti.ObjectNotKnown,
                                                          hla.rti.DeletePrivilegeNotHeld,
                                                          hla.rti.InvalidFederationTime,
                                                          hla.rti.FederateNotExecutionMember,
                                                          hla.rti.SaveInProgress,
                                                          hla.rti.RestoreInProgress,
                                                          hla.rti.RTIinternalError,
                                                          hla.rti.ConcurrentAccessAttempted
The Delete Object Instance service shall inform the federation that an object instance with the specified designator, owned by the federate, is to be removed from the federation execution. Once the object instance is removed from the federation execution, the designator shall not be reused and all federates which owned attributes of the object instance no longer own those attributes. The RTI shall use the Remove Object service to inform the reflecting federates that the object instance has been deleted. The invoking federate shall own the privilegeToDeleteObject attribute of the specified object instance. The preferred order type of the sent message representing a Delete Object Instance service invocation shall be based on the preferred order type of the privilegeToDeleteObject attribute of the specified object instance.
Parameters:
ObjectHandle - Object instance designator
userSuppliedTag - User- supplied tag
theTime - Federation time
Returns:
Optional event retraction designator

localDeleteObjectInstance

public void localDeleteObjectInstance(int ObjectHandle)
                               throws hla.rti.ObjectNotKnown,
                                      hla.rti.FederateOwnsAttributes,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.SaveInProgress,
                                      hla.rti.RestoreInProgress,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Local Delete Object Instance service shall inform the RTI that it shall treat the specified object instance as if the RTI had never notified the invoking federate to discover the object instance. The object instance shall not be removed from the federation execution. The federate does not need to own the privilegeToDeleteObject instance attribute for the object instance.
Parameters:
ObjectHandle - Object instance designator

changeAttributeTransportationType

public void changeAttributeTransportationType(int theObject,
                                              AttributeHandleSet theAttributes,
                                              int theType)
                                       throws hla.rti.ObjectNotKnown,
                                              hla.rti.AttributeNotDefined,
                                              hla.rti.AttributeNotOwned,
                                              hla.rti.InvalidTransportationHandle,
                                              hla.rti.FederateNotExecutionMember,
                                              hla.rti.SaveInProgress,
                                              hla.rti.RestoreInProgress,
                                              hla.rti.RTIinternalError,
                                              hla.rti.ConcurrentAccessAttempted
The transportation type for each attribute of an object instance shall be initialized from the object class description in the FED. A federate may choose to change the transportation type during execution. Invoking the Change Attribute Transportation Type service shall change the transportation type for all future Update Attribute Values service invocations for the specified attributes of the specified object instance only for the invoking federate. If the invoking federate loses ownership of an instance attribute after changing its transportation type and later acquires ownership of that instance attribute again, the transportation type will be as defined in the FED.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators
theType - Transportation designator

changeInteractionTransportationType

public void changeInteractionTransportationType(int theClass,
                                                int theType)
                                         throws hla.rti.InteractionClassNotDefined,
                                                hla.rti.InteractionClassNotPublished,
                                                hla.rti.InvalidTransportationHandle,
                                                hla.rti.FederateNotExecutionMember,
                                                hla.rti.SaveInProgress,
                                                hla.rti.RestoreInProgress,
                                                hla.rti.RTIinternalError,
                                                hla.rti.ConcurrentAccessAttempted
The transportation type for each interaction shall be initialized from the interaction class description in the FED. A federate may choose to change the transportation type during execution. Invoking the Change Interaction Transportation Type service shall change the transportation type for all future Send Interaction and Send Interaction with Region service invocations for the specified interaction class for the invoking federate only.
Parameters:
theClass - Interaction class designator
theType - Transportation designator

requestObjectAttributeValueUpdate

public void requestObjectAttributeValueUpdate(int theObject,
                                              AttributeHandleSet theAttributes)
                                       throws hla.rti.ObjectNotKnown,
                                              hla.rti.AttributeNotDefined,
                                              hla.rti.FederateNotExecutionMember,
                                              hla.rti.SaveInProgress,
                                              hla.rti.RestoreInProgress,
                                              hla.rti.RTIinternalError,
                                              hla.rti.ConcurrentAccessAttempted
The Request Object Attribute Value Update service shall be used to stimulate the update of values of specified attributes. When this service is used, the RTI shall solicit the current values of the specified attributes from their owners using the Provide Attribute Value Update † service. The RTI shall solicit the values of the specified instance attributes for the particular object instance. The federation time of any resulting Reflect Attribute Values † service invocations is determined by the updating federate.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators

requestClassAttributeValueUpdate

public void requestClassAttributeValueUpdate(int theClass,
                                             AttributeHandleSet theAttributes)
                                      throws hla.rti.ObjectClassNotDefined,
                                             hla.rti.AttributeNotDefined,
                                             hla.rti.FederateNotExecutionMember,
                                             hla.rti.SaveInProgress,
                                             hla.rti.RestoreInProgress,
                                             hla.rti.RTIinternalError,
                                             hla.rti.ConcurrentAccessAttempted
The Request Object Attribute Value Update service shall be used to stimulate the update of values of specified attributes. When this service is used, the RTI shall solicit the current values of the specified attributes from their owners using the Provide Attribute Value Update † service. The RTI shall solicit the values of the specified instance attributes for all the object instances of the specified class. The federation time of any resulting Reflect Attribute Values † service invocations is determined by the updating federate.
Parameters:
theObject - Object class designator
theAttributes - Set of attribute designators

unconditionalAttributeOwnershipDivestiture

public void unconditionalAttributeOwnershipDivestiture(int theObject,
                                                       AttributeHandleSet theAttributes)
                                                throws hla.rti.ObjectNotKnown,
                                                       hla.rti.AttributeNotDefined,
                                                       hla.rti.AttributeNotOwned,
                                                       hla.rti.FederateNotExecutionMember,
                                                       hla.rti.SaveInProgress,
                                                       hla.rti.RestoreInProgress,
                                                       hla.rti.RTIinternalError,
                                                       hla.rti.ConcurrentAccessAttempted
The Unconditional Attribute Ownership Divestiture service shall notify the RTI that the federate no longer wants to own the specified instance attributes of the specified object. This service shall immediately relieve the divesting federate of the ownership, causing the instance attribute( s) to go (possibly temporarily) into the unowned state, without regard to the existence of an accepting federate. Completion of the invocation of this service shall be viewed as an implied invocation of the Attribute Ownership Divestiture Notification † service for all of the specified instance attributes.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators

negotiatedAttributeOwnershipDivestiture

public void negotiatedAttributeOwnershipDivestiture(int theObject,
                                                    AttributeHandleSet theAttributes,
                                                    byte[] userSuppliedTag)
                                             throws hla.rti.ObjectNotKnown,
                                                    hla.rti.AttributeNotDefined,
                                                    hla.rti.AttributeNotOwned,
                                                    hla.rti.AttributeAlreadyBeingDivested,
                                                    hla.rti.FederateNotExecutionMember,
                                                    hla.rti.SaveInProgress,
                                                    hla.rti.RestoreInProgress,
                                                    hla.rti.RTIinternalError,
                                                    hla.rti.ConcurrentAccessAttempted
The Negotiated Attribute Ownership Divestiture service shall notify the RTI that the federate no longer wants to own the specified instance attributes of the specified object instance. Ownership shall be transferred only if some federate( s) accepts. The invoking federate shall continue its update responsibility for the specified instance attributes until it receives permission to stop via the Attribute Ownership Divestiture Notification † service. The federate may receive one or more Attribute Ownership Divestiture Notification † invocations for each invocation of this service since different federates may wish to become the owner of different instance attributes. A request to divest ownership shall remain pending until either the request is granted (via the Attribute Ownership Divestiture Notification † service), the requesting federate successfully cancels the request (via the Cancel Negotiated Attribute Ownership Divestiture service), or the federate divests itself of ownership by other means (e. g., the Attribute Ownership Release Response or Unpublish service). A second negotiated divestiture for an instance attribute already in the process of a negotiated divestiture shall not be legal.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators
userSuppliedTag - User- supplied tag

attributeOwnershipAcquisition

public void attributeOwnershipAcquisition(int theObject,
                                          AttributeHandleSet desiredAttributes,
                                          byte[] userSuppliedTag)
                                   throws hla.rti.ObjectNotKnown,
                                          hla.rti.ObjectClassNotPublished,
                                          hla.rti.AttributeNotDefined,
                                          hla.rti.AttributeNotPublished,
                                          hla.rti.FederateOwnsAttributes,
                                          hla.rti.FederateNotExecutionMember,
                                          hla.rti.SaveInProgress,
                                          hla.rti.RestoreInProgress,
                                          hla.rti.RTIinternalError,
                                          hla.rti.ConcurrentAccessAttempted
The Attribute Ownership Acquisition service shall request the ownership of the specified instance attributes of the specified object instance. If a specified instance attribute is owned by another federate, the RTI shall invoke the Request Attribute Ownership Release † service for that instance attribute at the owning federate. The federate may receive one or more Attribute Ownership Acquisition Notification † invocations for each invocation of this service. A request to acquire ownership shall remain pending until either the request is granted (via the Attribute Ownership Acquisition Notification † service) or the requesting federate successfully cancels the request (via the Cancel Attribute Ownership Acquisition and Confirm Attribute Ownership Acquisition Cancellation † services).
Parameters:
theObject - Object instance designator
desiredAttributes - Set of attribute designators
userSuppliedTag - User-supplied tag

attributeOwnershipAcquisitionIfAvailable

public void attributeOwnershipAcquisitionIfAvailable(int theObject,
                                                     AttributeHandleSet desiredAttributes)
                                              throws hla.rti.ObjectNotKnown,
                                                     hla.rti.ObjectClassNotPublished,
                                                     hla.rti.AttributeNotDefined,
                                                     hla.rti.AttributeNotPublished,
                                                     hla.rti.FederateOwnsAttributes,
                                                     hla.rti.AttributeAlreadyBeingAcquired,
                                                     hla.rti.FederateNotExecutionMember,
                                                     hla.rti.SaveInProgress,
                                                     hla.rti.RestoreInProgress,
                                                     hla.rti.RTIinternalError,
                                                     hla.rti.ConcurrentAccessAttempted
The Attribute Ownership Acquisition If Available service shall request the ownership of the specified instance attributes of the specified object instance only if the instance attribute is unowned by all federates or it is in the process of being divested by its owner. If a specified instance attribute is owned by another federate, the RTI shall not invoke the Request Attribute Ownership Release † service for that instance attribute at the owning federate. The federate shall receive either an Attribute Ownership Acquisition Notification † or an Attribute Ownership Unavailable † invocation for each of the specified instance attributes.
Parameters:
theObject - Object instance designator
desiredAttributes - Set of attribute designators

attributeOwnershipReleaseResponse

public AttributeHandleSet attributeOwnershipReleaseResponse(int theObject,
                                                            AttributeHandleSet theAttributes)
                                                     throws hla.rti.ObjectNotKnown,
                                                            hla.rti.AttributeNotDefined,
                                                            hla.rti.AttributeNotOwned,
                                                            hla.rti.FederateWasNotAskedToReleaseAttribute,
                                                            hla.rti.FederateNotExecutionMember,
                                                            hla.rti.SaveInProgress,
                                                            hla.rti.RestoreInProgress,
                                                            hla.rti.RTIinternalError,
                                                            hla.rti.ConcurrentAccessAttempted
The Attribute Ownership Release Response service shall notify the RTI that the federate is willing to release ownership of the specified instance attributes for the specified object instance. The federate shall use this service to provide an answer to the question posed as a result of the RTI invocation of Request Attribute Ownership Release †. The returned argument shall indicate the instance attributes for which ownership was actually released. Completion of the invocation of this service shall be viewed as an implied Attribute Ownership Divestiture Notification † invocation for all of the instance attributes in the returned argument.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators for which the federate is willing to release ownership
Returns:
Set of attribute designators for which ownership is actually released

cancelNegotiatedAttributeOwnershipDivestiture

public void cancelNegotiatedAttributeOwnershipDivestiture(int theObject,
                                                          AttributeHandleSet theAttributes)
                                                   throws hla.rti.ObjectNotKnown,
                                                          hla.rti.AttributeNotDefined,
                                                          hla.rti.AttributeNotOwned,
                                                          hla.rti.AttributeDivestitureWasNotRequested,
                                                          hla.rti.FederateNotExecutionMember,
                                                          hla.rti.SaveInProgress,
                                                          hla.rti.RestoreInProgress,
                                                          hla.rti.RTIinternalError,
                                                          hla.rti.ConcurrentAccessAttempted
The Cancel Negotiated Attribute Ownership Divestiture service shall notify the RTI that the federate no longer wants to divest ownership of the specified instance attributes.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators

cancelAttributeOwnershipAcquisition

public void cancelAttributeOwnershipAcquisition(int theObject,
                                                AttributeHandleSet theAttributes)
                                         throws hla.rti.ObjectNotKnown,
                                                hla.rti.AttributeNotDefined,
                                                hla.rti.AttributeAlreadyOwned,
                                                hla.rti.AttributeAcquisitionWasNotRequested,
                                                hla.rti.FederateNotExecutionMember,
                                                hla.rti.SaveInProgress,
                                                hla.rti.RestoreInProgress,
                                                hla.rti.RTIinternalError,
                                                hla.rti.ConcurrentAccessAttempted
The Cancel Attribute Ownership Acquisition service shall notify the RTI that the federate no longer wants to acquire ownership of the specified instance attributes. This service shall always receive one of two replies from the RTI. The first form of reply, Confirm Attribute Ownership Acquisition Cancellation, shall indicate that the request to acquire ownership of the specified instance attributes has been successfully canceled. The second form of reply, Attribute Ownership Acquisition Notification †, shall indicate that the request to acquire ownership of the specified instance attributes was not canceled in time and that the federate has acquired ownership of the instance attributes. The federate may receive both forms of reply in response to a single Cancel Attribute Ownership Acquisition service invocation since the cancellation may succeed for some of the supplied instance attributes and fail for others. This service shall be used only to cancel requests to acquire ownership of instance attributes that were made via the Attribute Ownership Acquisition service. Requests made via the Attribute Ownership Acquisition If Available service shall not be explicitly canceled. They may, however, be overridden by an invocation of the Attribute Ownership Acquisition service.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators

queryAttributeOwnership

public void queryAttributeOwnership(int theObject,
                                    int theAttribute)
                             throws hla.rti.ObjectNotKnown,
                                    hla.rti.AttributeNotDefined,
                                    hla.rti.FederateNotExecutionMember,
                                    hla.rti.SaveInProgress,
                                    hla.rti.RestoreInProgress,
                                    hla.rti.RTIinternalError,
                                    hla.rti.ConcurrentAccessAttempted
The Query Attribute Ownership service shall be used to determine the owner of the specified instance attribute. The RTI shall provide the instance attribute owner information via the Inform Attribute Ownership † service invocation.
Parameters:
theObject - Object instance designator
theAttribute - Attribute designator

isAttributeOwnedByFederate

public boolean isAttributeOwnedByFederate(int theObject,
                                          int theAttribute)
                                   throws hla.rti.ObjectNotKnown,
                                          hla.rti.AttributeNotDefined,
                                          hla.rti.FederateNotExecutionMember,
                                          hla.rti.SaveInProgress,
                                          hla.rti.RestoreInProgress,
                                          hla.rti.RTIinternalError,
                                          hla.rti.ConcurrentAccessAttempted
The Is Attribute Owned By Federate service shall be used to determine if the specified instance attribute of the specified object instance designator is owned by the invoking federate. The service shall return a Boolean value indicating ownership status of the specified instance attribute.
Parameters:
theObject - Object instance designator
theAttribute - Attribute designator
Returns:
Instance attribute ownership indicator

enableTimeRegulation

public void enableTimeRegulation(LogicalTime theFederateTime,
                                 LogicalTimeInterval theLookahead)
                          throws hla.rti.TimeRegulationAlreadyEnabled,
                                 hla.rti.EnableTimeRegulationPending,
                                 hla.rti.TimeAdvanceAlreadyInProgress,
                                 hla.rti.InvalidFederationTime,
                                 hla.rti.InvalidLookahead,
                                 hla.rti.FederateNotExecutionMember,
                                 hla.rti.SaveInProgress,
                                 hla.rti.RestoreInProgress,
                                 hla.rti.RTIinternalError,
                                 hla.rti.ConcurrentAccessAttempted
The Enable Time Regulation service shall enable time regulation for the federate invoking the service, thereby enabling the federate to send TSO messages. The federate shall request that its logical time and lookahead value be set to the values specified as arguments. The RTI may not be able to set the federate’s logical time to the value that was requested because doing so might enable the federate to, for example, send a message with a time stamp smaller than the current logical time of another federate. The RTI shall indicate the logical time assigned to the federate through the Time Regulation Enabled † service. The logical time that is assigned shall be greater than or equal to that requested by the federate. Upon the RTI's invocation of the corresponding Time Regulation Enabled † service, the invoking federate may begin sending TSO messages that have a time stamp greater than or equal to the federate's logical time plus the federate's lookahead. Zero lookahead federates are not subject to additional restrictions when time regulation is first enabled. Because the invocation of this service may require the RTI to advance the invoking federate’s logical time, this service has an additional meaning for time- constrained federates. Since the advancing logical time for a time- constrained federate is synonymous with a guarantee that all TSO messages with time stamps less than the new logical time have been delivered, the invocation of this service shall be considered an implicit Time Advance Request Available service invocation. The subsequent invocation of Time Regulation Enabled † shall be considered an implicit Time Advance Grant † service invocation. Thus if a time- constrained federate attempts to become time regulating, it may receive RO and TSO messages between its invocation of Enable Time Regulation and the RTI’s invocation of Time Regulation Enabled † at the federate.
Parameters:
theFederateTime - Value of federation time
theLookahead - Lookahead value

disableTimeRegulation

public void disableTimeRegulation()
                           throws hla.rti.TimeRegulationWasNotEnabled,
                                  hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
Invocation of the Disable Time Regulation service shall indicate that the federate is disabling time regulation. Subsequent messages sent by the federate shall be sent automatically as RO messages.

enableTimeConstrained

public void enableTimeConstrained()
                           throws hla.rti.TimeConstrainedAlreadyEnabled,
                                  hla.rti.EnableTimeConstrainedPending,
                                  hla.rti.TimeAdvanceAlreadyInProgress,
                                  hla.rti.FederateNotExecutionMember,
                                  hla.rti.SaveInProgress,
                                  hla.rti.RestoreInProgress,
                                  hla.rti.RTIinternalError,
                                  hla.rti.ConcurrentAccessAttempted
The Enable Time Constrained service shall request that the federate invoking the service become time constrained. The RTI shall indicate that the federate is time constrained by invoking the Time Constrained Enabled † service.

disableTimeConstrained

public void disableTimeConstrained()
                            throws hla.rti.TimeConstrainedWasNotEnabled,
                                   hla.rti.FederateNotExecutionMember,
                                   hla.rti.SaveInProgress,
                                   hla.rti.RestoreInProgress,
                                   hla.rti.RTIinternalError,
                                   hla.rti.ConcurrentAccessAttempted
Invocation of the Disable Time Constrained service shall indicate that the federate is no longer time constrained. All enqued and subsequent TSO messages shall be delivered to the federate as RO messages.

timeAdvanceRequest

public void timeAdvanceRequest(LogicalTime theTime)
                        throws hla.rti.InvalidFederationTime,
                               hla.rti.FederationTimeAlreadyPassed,
                               hla.rti.TimeAdvanceAlreadyInProgress,
                               hla.rti.EnableTimeRegulationPending,
                               hla.rti.EnableTimeConstrainedPending,
                               hla.rti.FederateNotExecutionMember,
                               hla.rti.SaveInProgress,
                               hla.rti.RestoreInProgress,
                               hla.rti.RTIinternalError,
                               hla.rti.ConcurrentAccessAttempted
The Time Advance Request service shall request an advance of the federate's logical time and release zero or more messages for delivery to the federate. Invocation of this service shall cause the following set of messages to be delivered to the federate:

All messages queued in the RTI that the federate will receive as RO messages.
All messages that the federate will receive as TSO messages that have time stamps less than or equal to the specified time.

After invoking Time Advance Request, the messages shall be passed to the federate by the RTI invoking the Receive Interaction †, Reflect Attribute Values †, and Remove Object Instance † services. By invoking Time Advance Request with the specified time, the federate is guaranteeing that it will not generate a TSO message at any time in the future with a time stamp less than or equal to the specified time, even if the federate’s lookahead is zero. Further, the federate may not generate any TSO messages in the future with time stamps less than the specified time plus that federate’s current lookahead. A Time Advance Grant † shall complete this request and indicate to the federate that it has advanced its logical time to the specified time, and that no additional TSO messages will be delivered to the federate in the future with time stamps less than or equal to the time of the grant.
Parameters:
theTime - Value of federation time

timeAdvanceRequestAvailable

public void timeAdvanceRequestAvailable(LogicalTime theTime)
                                 throws hla.rti.InvalidFederationTime,
                                        hla.rti.FederationTimeAlreadyPassed,
                                        hla.rti.TimeAdvanceAlreadyInProgress,
                                        hla.rti.EnableTimeRegulationPending,
                                        hla.rti.EnableTimeConstrainedPending,
                                        hla.rti.FederateNotExecutionMember,
                                        hla.rti.SaveInProgress,
                                        hla.rti.RestoreInProgress,
                                        hla.rti.RTIinternalError,
                                        hla.rti.ConcurrentAccessAttempted
The Time Advance Request Available service shall request an advance of the federate's logical time. It is similar to Time Advance Request to time T except

The RTI shall not guarantee delivery of all messages with time stamps equal to T when a Time Advance Grant † to time T is issued, and
After the federate receives a Time Advance Grant † to time T, it can send additional messages with time stamps equal to T if the federate’s lookahead value is zero. Invocation of this service shall cause the following set of messages to be delivered to the federate:
All messages queued in the RTI that the federate will receive as RO messages.
All messages that the federate will receive as TSO messages that have time stamps less than the specified time.
Any messages queued in the RTI that the federate will receive as TSO messages that have time stamps equal to the specified time. After invoking Time Advance Request Available, the messages shall be passed to the federate by the RTI invoking the Receive Interaction †, Reflect Attribute Values †, and Remove Object Instance † services. By invoking Time Advance Request Available with the specified time, the federate is guaranteeing that it will not generate a TSO message at any time in the future with a time stamp less than the specified time, plus that federate’s current lookahead. A Time Advance Grant † shall complete this request and indicate to the federate that it has advanced its logical time to the specified time, and no additional TSO messages shall be delivered to the federate in the future with time stamps less than the time of the grant. Additional messages with time stamps equal to the time of the grant can arrive in the future.
Parameters:
theTime - Value of federation time

nextEventRequest

public void nextEventRequest(LogicalTime theTime)
                      throws hla.rti.InvalidFederationTime,
                             hla.rti.FederationTimeAlreadyPassed,
                             hla.rti.TimeAdvanceAlreadyInProgress,
                             hla.rti.EnableTimeRegulationPending,
                             hla.rti.EnableTimeConstrainedPending,
                             hla.rti.FederateNotExecutionMember,
                             hla.rti.SaveInProgress,
                             hla.rti.RestoreInProgress,
                             hla.rti.RTIinternalError,
                             hla.rti.ConcurrentAccessAttempted
The Next Event Request service shall request the logical time of the federate to be advanced to the time stamp of the next TSO message that will be delivered to the federate, provided that message has a time stamp no greater than the logical time specified in the request. Invocation of this service shall cause the following set of messages to be delivered to the federate:

All messages queued in the RTI that the federate will receive as RO messages
The smallest time- stamped message that will ever be received by the federate as a TSO message with a time stamp less than or equal to the specified time, and all other messages containing the same time stamp that the federate will receive as TSO messages

After invocation of Next Event Request, the messages shall be passed to the federate by the RTI invoking the Receive Interaction †, Reflect Attribute Values †, and Remove Object Instance † services. By invoking Next Event Request with the specified time, the federate is guaranteeing that it will not generate a TSO message before the pending Time Advance Grant † invocation with a time stamp less than or equal to the specified time (or less than the specified time plus the federate’s lookahead if its lookahead is not zero). If it does not receive any TSO messages before the Time Advance Grant † invocation, the federate shall guarantee that it will not generate a TSO message at any time in the future with a time stamp less than or equal to the specified time (or less than the specified time plus the federate’s lookahead if its lookahead is not zero). If it does receive any TSO messages before the Time Advance Grant † invocation, the federate shall guarantee that it will not generate a TSO message at any time in the future with a time stamp less than or equal to the time of the grant (or less than the time of the grant plus the federate’s lookahead if its lookahead is not zero). A Time Advance Grant † shall complete this request and indicate to the federate that it has advanced its logical time to the time stamp of the TSO messages that are delivered, if any, or to the specified time if no TSO messages were delivered. It shall also indicate that no TSO messages will be delivered to the federate in the future with time stamps less than or equal to the time of the grant.
Parameters:
theTime - Value of federation time

nextEventRequestAvailable

public void nextEventRequestAvailable(LogicalTime theTime)
                               throws hla.rti.InvalidFederationTime,
                                      hla.rti.FederationTimeAlreadyPassed,
                                      hla.rti.TimeAdvanceAlreadyInProgress,
                                      hla.rti.EnableTimeRegulationPending,
                                      hla.rti.EnableTimeConstrainedPending,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.SaveInProgress,
                                      hla.rti.RestoreInProgress,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Next Event Request Available service shall request the logical time of the federate to be advanced to the time stamp of the next TSO message that will be delivered to the federate, provided that message has a time stamp no greater than the logical time specified in the request. It is similar to Next Event Request except

The RTI shall not guarantee delivery of all messages with time stamps equal to T when a Time Advance Grant † to time T is issued, and
After the federate receives a Time Advance Grant † to time T, it can send additional messages with time stamps equal to T if the federate’s lookahead value is zero. Invocation of this service shall cause the following set of messages to be delivered to the federate:
All messages queued in the RTI that the federate will receive as RO messages
The smallest time- stamped message that will ever be received by the federate as a TSO message with a time stamp less than or equal to the specified time, and any other messages queued in the RTI that the federate will receive as TSO messages and that have the same time stamp.

After invoking Next Event Request Available, the messages shall be passed to the federate by the RTI invoking the Receive Interaction †, Reflect Attribute Values †, and Remove Object Instance † services. By invoking Next Event Request Available with the specified time, the federate is guaranteeing that it will not generate a TSO message before the pending Time Advance Grant † invocation with a time stamp less than the specified time plus the federate’s lookahead. If it does not receive any TSO messages before the Time Advance Grant † invocation, the federate shall guarantee that it will not generate a TSO message at any time in the future with a time stamp less than the specified time plus the federate’s lookahead. If it does receive any TSO messages before the Time Advance Grant † invocation, the federate shall guarantee that it will not generate a TSO message at any time in the future with a time stamp less than the time of the grant plus the federate’s lookahead. A Time Advance Grant † shall complete this request and indicate to the federate that it has advanced its logical time to the time stamp of the TSO messages that are delivered, if any, or to the specified time if no TSO messages were delivered. A Time Advance Grant † shall also indicate that no TSO messages will be delivered to the federate in the future with time stamps less than the time of the grant.
Parameters:
theTime - Value of federation time

flushQueueRequest

public void flushQueueRequest(LogicalTime theTime)
                       throws hla.rti.InvalidFederationTime,
                              hla.rti.FederationTimeAlreadyPassed,
                              hla.rti.TimeAdvanceAlreadyInProgress,
                              hla.rti.EnableTimeRegulationPending,
                              hla.rti.EnableTimeConstrainedPending,
                              hla.rti.FederateNotExecutionMember,
                              hla.rti.SaveInProgress,
                              hla.rti.RestoreInProgress,
                              hla.rti.RTIinternalError,
                              hla.rti.ConcurrentAccessAttempted
The Flush Queue Request service shall request that all messages queued in the RTI that the federate will receive as TSO messages be delivered now. The RTI shall deliver all such messages as soon as possible, despite the fact that it may not be able to guarantee that no future messages containing smaller time stamps could arrive. If the federate will not receive any additional TSO messages with time stamps less than the specified time, the federate’s logical time shall be advanced to the specified time. Otherwise, the RTI shall advance the federate’s logical time as far as possible, but potentially not at all. Invocation of this service shall cause the following set of messages to be delivered to the federate:

All messages queued in the RTI that the federate will receive as RO messages.
All messages queued in the RTI that the federate will receive as TSO messages.

After invoking Flush Queue Request, the messages shall be passed to the federate by the RTI invoking the Receive Interaction †, Reflect Attribute Values †, and Remove Object Instance † services. By invoking Flush Queue Request with the specified time, the federate is guaranteeing that it will not generate a TSO message before the pending Time Advance Grant † invocation with a time stamp less than the specified time plus the federate’s lookahead. After the Time Advance Grant † invocation, the federate shall guarantee that it shall not generate a TSO message at any time in the future with a time stamp less than the time of the grant plus the federate’s lookahead. A Time Advance Grant † shall complete this request and indicate to the federate that it has advanced its logical time to the time of the grant, and no additional TSO messages shall be delivered to the federate in the future with time stamps less than the time of the grant.
Parameters:
theTime - Value of federation time

enableAsynchronousDelivery

public void enableAsynchronousDelivery()
                                throws hla.rti.AsynchronousDeliveryAlreadyEnabled,
                                       hla.rti.FederateNotExecutionMember,
                                       hla.rti.SaveInProgress,
                                       hla.rti.RestoreInProgress,
                                       hla.rti.RTIinternalError,
                                       hla.rti.ConcurrentAccessAttempted
Invocations of the Enable Asynchronous Delivery service shall instruct the RTI to deliver received RO messages to the invoking federate when it is in either the Time Advancing or Time Granted state.

disableAsynchronousDelivery

public void disableAsynchronousDelivery()
                                 throws hla.rti.AsynchronousDeliveryAlreadyDisabled,
                                        hla.rti.FederateNotExecutionMember,
                                        hla.rti.SaveInProgress,
                                        hla.rti.RestoreInProgress,
                                        hla.rti.RTIinternalError,
                                        hla.rti.ConcurrentAccessAttempted
Invocations of the Disable Asynchronous Delivery service shall instruct the RTI to deliver received RO messages to the invoking federate only when it is in the Time A dvancing state and the federate is time constrained.

queryLBTS

public LogicalTime queryLBTS()
                      throws hla.rti.FederateNotExecutionMember,
                             hla.rti.SaveInProgress,
                             hla.rti.RestoreInProgress,
                             hla.rti.RTIinternalError,
                             hla.rti.ConcurrentAccessAttempted
The Query LBTS service shall request the invoking federate’s current value of LBTS.
Returns:
Current value of invoking federate’s LBTS

queryFederateTime

public LogicalTime queryFederateTime()
                              throws hla.rti.FederateNotExecutionMember,
                                     hla.rti.SaveInProgress,
                                     hla.rti.RestoreInProgress,
                                     hla.rti.RTIinternalError,
                                     hla.rti.ConcurrentAccessAttempted
The Query Federate Time service shall request the current value of the invoking federate’s logical time.
Returns:
Current value of invoking federate’s logical time

queryMinNextEventTime

public LogicalTime queryMinNextEventTime()
                                  throws hla.rti.FederateNotExecutionMember,
                                         hla.rti.SaveInProgress,
                                         hla.rti.RestoreInProgress,
                                         hla.rti.RTIinternalError,
                                         hla.rti.ConcurrentAccessAttempted
The Query Minimum Next Event Time service shall request the minimum of LBTS and the time stamp of the next sent TSO message that is held by the RTI for delivery to the requesting federate, if there are any. There may not be any messages/events with the returned time available for the invoking federate.
Returns:
Minimum of the invoking federate’s LBTS and the minimum time stamp of all sent TSO messages queued for the invoking federate (if any).

modifyLookahead

public void modifyLookahead(LogicalTimeInterval theLookahead)
                     throws hla.rti.InvalidLookahead,
                            hla.rti.FederateNotExecutionMember,
                            hla.rti.SaveInProgress,
                            hla.rti.RestoreInProgress,
                            hla.rti.RTIinternalError,
                            hla.rti.ConcurrentAccessAttempted
The Modify Lookahead service shall request a change to the actual value of the federate’s lookahead. The specified lookahead value shall be greater than or equal to zero. If the requested value is greater than or equal to the federate’s actual lookahead, the change shall take effect immediately and the requested lookahead shall become the actual lookahead. If the requested value is less than the federate’s actual lookahead, the change shall take effect gradually as the federate advances its logical time and the actual lookahead is initially unchanged. Specifically, the federate’s actual lookahead shall decrease by T units each time logical time advances T units until the requested lookahead value is reached.
Parameters:
theLookahead - Requested value of lookahead

queryLookahead

public LogicalTimeInterval queryLookahead()
                                   throws hla.rti.FederateNotExecutionMember,
                                          hla.rti.SaveInProgress,
                                          hla.rti.RestoreInProgress,
                                          hla.rti.RTIinternalError,
                                          hla.rti.ConcurrentAccessAttempted
The Query Lookahead service shall query the RTI for the current value of the federate’s actual lookahead. The current value of actual lookahead may differ temporarily from the requested lookahead given in the Modify Lookahead service if the federate is attempting to reduce its actual lookahead value.
Returns:
Federate's current value of actual lookahead

retract

public void retract(hla.rti.EventRetractionHandle theHandle)
             throws hla.rti.InvalidRetractionHandle,
                    hla.rti.FederateNotExecutionMember,
                    hla.rti.SaveInProgress,
                    hla.rti.RestoreInProgress,
                    hla.rti.RTIinternalError,
                    hla.rti.ConcurrentAccessAttempted
The Retract service shall be used by a federate to notify the federation execution that a message/ event previously sent by the federate is to be retracted. The Update Attribute Values, Send Interaction, and Delete Object Instance services shall return an event retraction designator that is used to specify the event that is to be retracted. Retracting an event shall cause the invocation of the Request Retraction † service in all the federates that received the original event. Retracting a Delete Object Instance message shall result in the reconstitution of the corresponding object instance. This shall cause the ownership reassumption of the attributes of the affected object instance by the federates that owned them at the time of the Delete Object Instance service invocation. Only messages sent in TSO may be retracted. A federate may not retract messages in its past. A message shall be in a federate’s past if its time is earlier than the federate’s current logical time.
Parameters:
theHandle - Event retraction designator

changeAttributeOrderType

public void changeAttributeOrderType(int theObject,
                                     AttributeHandleSet theAttributes,
                                     int theType)
                              throws hla.rti.ObjectNotKnown,
                                     hla.rti.AttributeNotDefined,
                                     hla.rti.AttributeNotOwned,
                                     hla.rti.InvalidOrderingHandle,
                                     hla.rti.FederateNotExecutionMember,
                                     hla.rti.SaveInProgress,
                                     hla.rti.RestoreInProgress,
                                     hla.rti.RTIinternalError,
                                     hla.rti.ConcurrentAccessAttempted
The preferred order type for each attribute of an object instance shall be initialized from the object class description in the FED. A federate may choose to change the preferred order type during execution. Invoking the Change Attribute Order Type service shall change the order type for all future Update Attribute Values service invocations for the specified instance attributes. When the ownership of an instance attribute is changed, the preferred order type shall revert to that defined in the FED.
Parameters:
theObject - Object instance designator
theAttributes - Set of attribute designators
theType - Order designator

changeInteractionOrderType

public void changeInteractionOrderType(int theClass,
                                       int theType)
                                throws hla.rti.InteractionClassNotDefined,
                                       hla.rti.InteractionClassNotPublished,
                                       hla.rti.InvalidOrderingHandle,
                                       hla.rti.FederateNotExecutionMember,
                                       hla.rti.SaveInProgress,
                                       hla.rti.RestoreInProgress,
                                       hla.rti.RTIinternalError,
                                       hla.rti.ConcurrentAccessAttempted
The preferred order type of each interaction shall be initialized from the interaction class description in the FED. A federate may choose to change the preferred order type during execution. Invoking the Change Interaction Order Type service shall change the order type for all future Send Interaction and Send Interaction with Region service invocations for the specified interaction class for the invoking federate only.
Parameters:
theClass - Interaction class designator
theType - Order designator

createRegion

public Region createRegion(int spaceHandle,
                           int numberOfExtents)
                    throws hla.rti.SpaceNotDefined,
                           hla.rti.InvalidExtents,
                           hla.rti.FederateNotExecutionMember,
                           hla.rti.SaveInProgress,
                           hla.rti.RestoreInProgress,
                           hla.rti.RTIinternalError,
                           hla.rti.ConcurrentAccessAttempted
The Create Region service shall create a region that has the dimensions of the specified routing space and the specified number of extents. The extent set shall delineate the region within the routing space. The region may be used for either update or subscription.
Parameters:
spaceHandle - Routing space designator
numberOfExtents - Set of extents
Returns:
Region

notifyOfRegionModification

public void notifyOfRegionModification(Region modifiedRegionInstance)
                                throws hla.rti.RegionNotKnown,
                                       hla.rti.InvalidExtents,
                                       hla.rti.FederateNotExecutionMember,
                                       hla.rti.SaveInProgress,
                                       hla.rti.RestoreInProgress,
                                       hla.rti.RTIinternalError,
                                       hla.rti.ConcurrentAccessAttempted
The Notify of Region Modification service shall inform the RTI about changes to the extent set of the region.
Parameters:
modifiedRegionInstance - Region

deleteRegion

public void deleteRegion(Region theRegion)
                  throws hla.rti.RegionNotKnown,
                         hla.rti.RegionInUse,
                         hla.rti.FederateNotExecutionMember,
                         hla.rti.SaveInProgress,
                         hla.rti.RestoreInProgress,
                         hla.rti.RTIinternalError,
                         hla.rti.ConcurrentAccessAttempted
The Delete Region service shall delete the specified region. A region in use for subscription or update shall not be deleted.
Parameters:
theRegion - Region

registerObjectInstanceWithRegion

public int registerObjectInstanceWithRegion(int theClass,
                                            int[] theAttributes,
                                            Region[] theRegions)
                                     throws hla.rti.ObjectClassNotDefined,
                                            hla.rti.ObjectClassNotPublished,
                                            hla.rti.AttributeNotDefined,
                                            hla.rti.AttributeNotPublished,
                                            hla.rti.RegionNotKnown,
                                            hla.rti.InvalidRegionContext,
                                            hla.rti.FederateNotExecutionMember,
                                            hla.rti.SaveInProgress,
                                            hla.rti.RestoreInProgress,
                                            hla.rti.RTIinternalError,
                                            hla.rti.ConcurrentAccessAttempted
The Register Object Instance With Region service shall create a unique object instance designator and link it with an object instance of the supplied object class. All instance attributes of the object instance for which the corresponding class attributes are currently published by the registering federate shall be set as owned by the registering federate. This service shall be used to create an object instance and simultaneously associate update regions with instance attributes of that object instance. This service shall be an atomic operation that can be used in place of Register Object Instance followed by Associate Region For Updates. Those instance attributes whose corresponding class attributes are currently published but are not supplied in the service invocation shall be associated with the default regions in the routing spaces to which the class attributes are bound. If a federate loses ownership of an instance attribute that it had associated with an update region and then the federate later regains ownership of that instance attribute, that update region is no longer associated with the instance attribute.
Parameters:
theClass - Object class designator
theAttributes - Set of attribute designator/ region pairs
Returns:
Object instance designator

registerObjectInstanceWithRegion

public int registerObjectInstanceWithRegion(int theClass,
                                            java.lang.String theObject,
                                            int[] theAttributes,
                                            Region[] theRegions)
                                     throws hla.rti.ObjectClassNotDefined,
                                            hla.rti.ObjectClassNotPublished,
                                            hla.rti.AttributeNotDefined,
                                            hla.rti.AttributeNotPublished,
                                            hla.rti.RegionNotKnown,
                                            hla.rti.InvalidRegionContext,
                                            hla.rti.ObjectAlreadyRegistered,
                                            hla.rti.FederateNotExecutionMember,
                                            hla.rti.SaveInProgress,
                                            hla.rti.RestoreInProgress,
                                            hla.rti.RTIinternalError,
                                            hla.rti.ConcurrentAccessAttempted
The Register Object Instance With Region service shall create a unique object instance designator and link it with an object instance of the supplied object class. All instance attributes of the object instance for which the corresponding class attributes are currently published by the registering federate shall be set as owned by the registering federate. This service shall be used to create an object instance and simultaneously associate update regions with instance attributes of that object instance. This service shall be an atomic operation that can be used in place of Register Object Instance followed by Associate Region For Updates. Those instance attributes whose corresponding class attributes are currently published but are not supplied in the service invocation shall be associated with the default regions in the routing spaces to which the class attributes are bound. If a federate loses ownership of an instance attribute that it had associated with an update region and then the federate later regains ownership of that instance attribute, that update region is no longer associated with the instance attribute. The object instance name shall be unique and shall be associated with the object instance.
Parameters:
theClass - Object class designator
theAttributes - Set of attribute designator/ region pairs
theRegions - Object instance name
Returns:
Object instance designator

associateRegionForUpdates

public void associateRegionForUpdates(Region theRegion,
                                      int theObject,
                                      AttributeHandleSet theAttributes)
                               throws hla.rti.ObjectNotKnown,
                                      hla.rti.AttributeNotDefined,
                                      hla.rti.InvalidRegionContext,
                                      hla.rti.RegionNotKnown,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.SaveInProgress,
                                      hla.rti.RestoreInProgress,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Associate Region For Updates service shall associate a region to be used for updates with instance attributes of a specific object instance. Associating a region with an instance attribute shall mean that the federate shall ensure that the properties of the instance attribute fall within the extents of the associated region at the time when an Update Attribute Values service is invoked. The association shall be used by the Update Attribute Values service to route data to subscribers whose subscription regions overlap the specified update region. Based on the object instance and the region arguments, this service shall perform

- An addition to the group of associations if the object instance/ region pair had no attribute set linked with it, or
- A replacement in the group of associations if there is an attribute set currently linked with the object instance/region pair.
The Unassociate Region For Updates service shall be used to remove an established association from the group of associations. Those instance attributes that are implicitly unassociated by the invocation shall be associated with the default region. If a federate loses ownership of an instance attribute that it had associated with an update region and then the federate later regains ownership of that instance attribute, that update region is no longer associated with the instance attribute.
Parameters:
theRegion - Region
theObject - Object instance designator
theAttributes - Set of attribute designators

unassociateRegionForUpdates

public void unassociateRegionForUpdates(Region theRegion,
                                        int theObject)
                                 throws hla.rti.ObjectNotKnown,
                                        hla.rti.InvalidRegionContext,
                                        hla.rti.RegionNotKnown,
                                        hla.rti.FederateNotExecutionMember,
                                        hla.rti.SaveInProgress,
                                        hla.rti.RestoreInProgress,
                                        hla.rti.RTIinternalError,
                                        hla.rti.ConcurrentAccessAttempted
The Unassociate Region For Updates service shall remove the association between the region and all instance attributes associated with that region. The instance attributes that are unassociated by the invocation shall be associated with the default region.
Parameters:
theRegion - Region
theObject - Object instance designator

subscribeObjectClassAttributesWithRegion

public void subscribeObjectClassAttributesWithRegion(int theClass,
                                                     Region theRegion,
                                                     AttributeHandleSet attributeList)
                                              throws hla.rti.ObjectClassNotDefined,
                                                     hla.rti.AttributeNotDefined,
                                                     hla.rti.RegionNotKnown,
                                                     hla.rti.InvalidRegionContext,
                                                     hla.rti.FederateNotExecutionMember,
                                                     hla.rti.SaveInProgress,
                                                     hla.rti.RestoreInProgress,
                                                     hla.rti.RTIinternalError,
                                                     hla.rti.ConcurrentAccessAttempted
The Subscribe Object Class Attributes With Region service shall specify an object class for which the RTI is to begin notifying the federate of discovery of instantiated object instances when at least one of that object instance’s instance attributes are in scope. This service and subsequent related RTI operations shall behave analogously to the Subscribe Object Class Attributes service. This service shall provide additional functionality in that the overlap of the relevant subscription and update regions affects the subsequent RTI operations, as described in the beginning of this clause. Based on the object class and region arguments, this service shall perform one of the following actions with the specified attribute set:

- An addition to the group of subscriptions if the object class/ region pair has no attribute set linked with it, or
- A replacement in the group of subscriptions if there is currently an attribute set linked with the object class/region pair.

Invocations of the Subscribe Object Class Attributes With Region service shall have no affect on any object class or class attribute subscriptions that were established via the Subscribe Object Class Attributes service. Subscriptions that are established via the Subscribe Object Class Attributes With Region service shall not be affected by invocations of either the Subscribe Object Class Attributes service or the Unsubscribe Object Class service. Invoking this service with an empty set of attributes shall be equivalent to invoking the Unsubscribe Object Class With Region service with the relevant object class. The invocation of this service may cause the Start Registration For Object Class † service or the Turn Updates On For Object Instance † service to be invoked at one or more other federates and if this invocation replaces a previous subscription that was active rather than passive, invocation of this service may cause the Turn Updates Off For Object Instance † service to be invoked at one or more other federates.
Parameters:
theClass - Object class designator
theRegion - Region
attributeList - Set of attribute designators

subscribeObjectClassAttributesPassivelyWithRegion

public void subscribeObjectClassAttributesPassivelyWithRegion(int theClass,
                                                              Region theRegion,
                                                              AttributeHandleSet attributeList)
                                                       throws hla.rti.ObjectClassNotDefined,
                                                              hla.rti.AttributeNotDefined,
                                                              hla.rti.RegionNotKnown,
                                                              hla.rti.InvalidRegionContext,
                                                              hla.rti.FederateNotExecutionMember,
                                                              hla.rti.SaveInProgress,
                                                              hla.rti.RestoreInProgress,
                                                              hla.rti.RTIinternalError,
                                                              hla.rti.ConcurrentAccessAttempted
The Subscribe Object Class Attributes With Region service shall specify an object class for which the RTI is to begin notifying the federate of discovery of instantiated object instances when at least one of that object instance’s instance attributes are in scope. This service and subsequent related RTI operations shall behave analogously to the Subscribe Object Class Attributes service. This service shall provide additional functionality in that the overlap of the relevant subscription and update regions affects the subsequent RTI operations, as described in the beginning of this clause. Based on the object class and region arguments, this service shall perform one of the following actions with the specified attribute set:

- An addition to the group of subscriptions if the object class/ region pair has no attribute set linked with it, or
- A replacement in the group of subscriptions if there is currently an attribute set linked with the object class/region pair.

Invocations of the Subscribe Object Class Attributes With Region service shall have no affect on any object class or class attribute subscriptions that were established via the Subscribe Object Class Attributes service. Subscriptions that are established via the Subscribe Object Class Attributes With Region service shall not be affected by invocations of either the Subscribe Object Class Attributes service or the Unsubscribe Object Class service. Invoking this service with an empty set of attributes shall be equivalent to invoking the Unsubscribe Object Class With Region service with the relevant object class. The invocation of this service shall not cause the Start Registration For Object Class † service or the Turn Updates On For Object Instance † service to be invoked at any other federate and if this invocation replaces a previous subscription that was active rather than passive, invocation of this service may cause the Stop Registration for Object Class † service or the Turn Updates Off For Object Instance † service to be invoked at one or more other federates.
Parameters:
theClass - Object class designator
theRegion - Region
attributeList - Set of attribute designators

unsubscribeObjectClassWithRegion

public void unsubscribeObjectClassWithRegion(int theClass,
                                             Region theRegion)
                                      throws hla.rti.ObjectClassNotDefined,
                                             hla.rti.RegionNotKnown,
                                             hla.rti.FederateNotSubscribed,
                                             hla.rti.FederateNotExecutionMember,
                                             hla.rti.SaveInProgress,
                                             hla.rti.RestoreInProgress,
                                             hla.rti.RTIinternalError,
                                             hla.rti.ConcurrentAccessAttempted
The Unsubscribe Object Class With Region service shall inform the RTI that it shall stop notifying the federate of object instance discoveries for the specified object class in the specified region. The unsubscribe shall be confined to all subscriptions using the specified region.
Parameters:
theClass - Object class designator
theRegion - Region

subscribeInteractionClassWithRegion

public void subscribeInteractionClassWithRegion(int theClass,
                                                Region theRegion)
                                         throws hla.rti.InteractionClassNotDefined,
                                                hla.rti.RegionNotKnown,
                                                hla.rti.InvalidRegionContext,
                                                hla.rti.FederateLoggingServiceCalls,
                                                hla.rti.FederateNotExecutionMember,
                                                hla.rti.SaveInProgress,
                                                hla.rti.RestoreInProgress,
                                                hla.rti.RTIinternalError,
                                                hla.rti.ConcurrentAccessAttempted
The Subscribe Interaction Class With Region service shall specify the class of interactions that should be delivered to the federate, taking the region into account. This service and subsequent related RTI operations shall behave analogously to the Subscribe Interaction Class service. This service shall provide additional functionality in that the overlap of any regions used for subscription of the interaction and the region used for sending the interaction affects the subsequent RTI operations, as described in the beginning of this clause. Based on the interaction class and region arguments, this service shall perform one of the following actions with the specified attribute set:

- If the specified region is currently in the group of regions associated with the specified interaction class subscription, this service performs a replacement of that group.
- If the specified region is not currently in the group of regions associated with the specified interaction class subscription, this service performs an addition to that group.

Invocations of the Subscribe Interaction Class With Region service shall have no affect on any interaction class subscriptions that were established via the Subscribe Interaction Class service. Subscriptions that are established via the Subscribe Interaction Class With Region service shall not be affected by invocations of either the Subscribe Interaction Class service or the Unsubscribe Interaction Class service. The invocation of this service may cause the Turn Interactions On † service to be invoked at one or more other federates and if this invocation replaces a previous subscription that was active rather than passive, invocation of this service may cause the Turn Interactions Off † service to be invoked at one or more other federates.
Parameters:
theClass - Interaction class designator
theRegion - Region

subscribeInteractionClassPassivelyWithRegion

public void subscribeInteractionClassPassivelyWithRegion(int theClass,
                                                         Region theRegion)
                                                  throws hla.rti.InteractionClassNotDefined,
                                                         hla.rti.RegionNotKnown,
                                                         hla.rti.InvalidRegionContext,
                                                         hla.rti.FederateLoggingServiceCalls,
                                                         hla.rti.FederateNotExecutionMember,
                                                         hla.rti.SaveInProgress,
                                                         hla.rti.RestoreInProgress,
                                                         hla.rti.RTIinternalError,
                                                         hla.rti.ConcurrentAccessAttempted
The Subscribe Interaction Class With Region service shall specify the class of interactions that should be delivered to the federate, taking the region into account. This service and subsequent related RTI operations shall behave analogously to the Subscribe Interaction Class service. This service shall provide additional functionality in that the overlap of any regions used for subscription of the interaction and the region used for sending the interaction affects the subsequent RTI operations, as described in the beginning of this clause. Based on the interaction class and region arguments, this service shall perform one of the following actions with the specified attribute set:

- If the specified region is currently in the group of regions associated with the specified interaction class subscription, this service performs a replacement of that group.
- If the specified region is not currently in the group of regions associated with the specified interaction class subscription, this service performs an addition to that group.

Invocations of the Subscribe Interaction Class With Region service shall have no affect on any interaction class subscriptions that were established via the Subscribe Interaction Class service. Subscriptions that are established via the Subscribe Interaction Class With Region service shall not be affected by invocations of either the Subscribe Interaction Class service or the Unsubscribe Interaction Class service. The invocation of this service shall not cause the Turn Interactions On † service to be invoked at any other federate and if this invocation replaces a previous subscription that was active rather than passive, invocation of this service may cause the Turn Interactions Off † service to be invoked at one or more other federates.
Parameters:
theClass - Interaction class designator
theRegion - Region

unsubscribeInteractionClassWithRegion

public void unsubscribeInteractionClassWithRegion(int theClass,
                                                  Region theRegion)
                                           throws hla.rti.InteractionClassNotDefined,
                                                  hla.rti.InteractionClassNotSubscribed,
                                                  hla.rti.RegionNotKnown,
                                                  hla.rti.FederateNotExecutionMember,
                                                  hla.rti.SaveInProgress,
                                                  hla.rti.RestoreInProgress,
                                                  hla.rti.RTIinternalError,
                                                  hla.rti.ConcurrentAccessAttempted
The Unsubscribe Interaction Class With Region service shall inform the RTI that it should no longer notify the federate of interactions of the specified class that are sent into the specified region.
Parameters:
theClass - Interaction class designator
theRegion - Region

sendInteractionWithRegion

public void sendInteractionWithRegion(int theInteraction,
                                      SuppliedParameters theParameters,
                                      byte[] userSuppliedTag,
                                      Region theRegion)
                               throws hla.rti.InteractionClassNotDefined,
                                      hla.rti.InteractionClassNotPublished,
                                      hla.rti.InteractionParameterNotDefined,
                                      hla.rti.RegionNotKnown,
                                      hla.rti.InvalidRegionContext,
                                      hla.rti.FederateNotExecutionMember,
                                      hla.rti.SaveInProgress,
                                      hla.rti.RestoreInProgress,
                                      hla.rti.RTIinternalError,
                                      hla.rti.ConcurrentAccessAttempted
The Send Interaction With Region service shall send an interaction into the federation. The interaction parameters may be those in the specified class and all super- classes, as defined in the FED. The region shall be used to limit the scope of potential receivers of the interaction.
Parameters:
theInteraction - Interaction class designator
theParameters - Set of parameter- designator/ value pairs
userSuppliedTag - User- supplied tag
theRegion - Region

sendInteractionWithRegion

public hla.rti.EventRetractionHandle sendInteractionWithRegion(int theInteraction,
                                                               SuppliedParameters theParameters,
                                                               byte[] userSuppliedTag,
                                                               Region theRegion,
                                                               LogicalTime theTime)
                                                        throws hla.rti.InteractionClassNotDefined,
                                                               hla.rti.InteractionClassNotPublished,
                                                               hla.rti.InteractionParameterNotDefined,
                                                               hla.rti.InvalidFederationTime,
                                                               hla.rti.RegionNotKnown,
                                                               hla.rti.InvalidRegionContext,
                                                               hla.rti.FederateNotExecutionMember,
                                                               hla.rti.SaveInProgress,
                                                               hla.rti.RestoreInProgress,
                                                               hla.rti.RTIinternalError,
                                                               hla.rti.ConcurrentAccessAttempted
The Send Interaction With Region service shall send an interaction into the federation. The interaction parameters may be those in the specified class and all super- classes, as defined in the FED. The region shall be used to limit the scope of potential receivers of the interaction. The service shall return a federation- unique event retraction designator.
Parameters:
theInteraction - Interaction class designator
theParameters - Set of parameter- designator/ value pairs
userSuppliedTag - User- supplied tag
theRegion - Region
theTime - Federation time
Returns:
Event retraction designator

requestClassAttributeValueUpdateWithRegion

public void requestClassAttributeValueUpdateWithRegion(int theClass,
                                                       AttributeHandleSet theAttributes,
                                                       Region theRegion)
                                                throws hla.rti.ObjectClassNotDefined,
                                                       hla.rti.AttributeNotDefined,
                                                       hla.rti.RegionNotKnown,
                                                       hla.rti.FederateNotExecutionMember,
                                                       hla.rti.SaveInProgress,
                                                       hla.rti.RestoreInProgress,
                                                       hla.rti.RTIinternalError,
                                                       hla.rti.ConcurrentAccessAttempted
The Request Class Attribute Value Update With Region service shall be used to stimulate the update of values of specified attributes. The RTI shall solicit the values of the specified instance attributes for all the object instances of the specified class from their owners using the Provide Attribute Value Update † service. The resulting Provide Attribute Value Update † service invocations issued by the RTI shall be consistent with the region arguments to this service. An invocation shall be consistent with the region arguments if the instance attributes in an updating federate are associated with a region that overlaps the corresponding region specified as an argument to this service. The federation time of any resulting Reflect Attribute Values † service invocations shall be determined by the updating federate.
Parameters:
theClass - Object class designator
theAttributes - Set of attribute designators
theRegion - Region

getObjectClassHandle

public int getObjectClassHandle(java.lang.String theName)
                         throws hla.rti.NameNotFound,
                                hla.rti.FederateNotExecutionMember,
                                hla.rti.RTIinternalError
The Get Object Class Handle service shall return the object class handle associated with the supplied object class name.
Parameters:
theName - Object class name
Returns:
Object class handle

getObjectClassName

public java.lang.String getObjectClassName(int theHandle)
                                    throws hla.rti.ObjectClassNotDefined,
                                           hla.rti.FederateNotExecutionMember,
                                           hla.rti.RTIinternalError
The Get Object Class Name service shall return the object class name associated with the supplied object class handle.
Parameters:
theHandle - Object class handle
Returns:
Object class name

getAttributeHandle

public int getAttributeHandle(java.lang.String theName,
                              int whichClass)
                       throws hla.rti.ObjectClassNotDefined,
                              hla.rti.NameNotFound,
                              hla.rti.FederateNotExecutionMember,
                              hla.rti.RTIinternalError
The Get Attribute Handle service shall return the attribute handle associated with the supplied attribute name and object class.
Parameters:
theName - Attribute name
whichClass - Object class handle
Returns:
Attribute handle

getAttributeName

public java.lang.String getAttributeName(int theHandle,
                                         int whichClass)
                                  throws hla.rti.ObjectClassNotDefined,
                                         hla.rti.AttributeNotDefined,
                                         hla.rti.FederateNotExecutionMember,
                                         hla.rti.RTIinternalError
The Get Attribute Name service shall return the attribute name associated with the supplied attribute handle and object class.
Parameters:
theHandle - Attribute handle
whichClass - Object class handle
Returns:
Attribute name

getInteractionClassHandle

public int getInteractionClassHandle(java.lang.String theName)
                              throws hla.rti.NameNotFound,
                                     hla.rti.FederateNotExecutionMember,
                                     hla.rti.RTIinternalError
The Get Interaction Class Handle service shall return the interaction class handle associated with the supplied interaction class name.
Parameters:
theName - Interaction class name
Returns:
Interaction class handle

getInteractionClassName

public java.lang.String getInteractionClassName(int theHandle)
                                         throws hla.rti.InteractionClassNotDefined,
                                                hla.rti.FederateNotExecutionMember,
                                                hla.rti.RTIinternalError
The Get Interaction Class Name service shall return the interaction class name associated with the supplied interaction class handle.
Parameters:
theHandle - Interaction class handle
Returns:
Interaction class name

getParameterHandle

public int getParameterHandle(java.lang.String theName,
                              int whichClass)
                       throws hla.rti.InteractionClassNotDefined,
                              hla.rti.NameNotFound,
                              hla.rti.FederateNotExecutionMember,
                              hla.rti.RTIinternalError
The Get Parameter Handle service shall return the parameter handle associated with the supplied parameter name and interaction class.
Parameters:
theName - Parameter name
whichClass - Interaction class handle
Returns:
Parameter handle

getParameterName

public java.lang.String getParameterName(int theHandle,
                                         int whichClass)
                                  throws hla.rti.InteractionClassNotDefined,
                                         hla.rti.InteractionParameterNotDefined,
                                         hla.rti.FederateNotExecutionMember,
                                         hla.rti.RTIinternalError
The Get Parameter Name service shall return the parameter name associated with the supplied parameter handle and interaction class.
Parameters:
theHandle - Parameter handle
whichClass - Interaction class handle
Returns:
Parameter name

getObjectInstanceHandle

public int getObjectInstanceHandle(java.lang.String theName)
                            throws hla.rti.ObjectNotKnown,
                                   hla.rti.FederateNotExecutionMember,
                                   hla.rti.RTIinternalError
The Get Object Instance Handle service shall return the handle of the object instance with the supplied name.
Parameters:
theName - Object instance name
Returns:
Object instance handle

getObjectInstanceName

public java.lang.String getObjectInstanceName(int theHandle)
                                       throws hla.rti.ObjectNotKnown,
                                              hla.rti.FederateNotExecutionMember,
                                              hla.rti.RTIinternalError
The Get Object Instance Name service shall return the name of the object instance with the supplied handle.
Parameters:
theHandle - Object instance handle
Returns:
Object instance name

getRoutingSpaceHandle

public int getRoutingSpaceHandle(java.lang.String theName)
                          throws hla.rti.NameNotFound,
                                 hla.rti.FederateNotExecutionMember,
                                 hla.rti.RTIinternalError
The Get Routing Space Handle service shall return the routing space handle associated with the supplied routing space name.
Parameters:
theName - Routing space name
Returns:
Routing space handle

getRoutingSpaceName

public java.lang.String getRoutingSpaceName(int theHandle)
                                     throws hla.rti.SpaceNotDefined,
                                            hla.rti.FederateNotExecutionMember,
                                            hla.rti.RTIinternalError
The Get Routing Space Name service shall return the routing space name associated with the supplied routing space handle.
Parameters:
theHandle - Routing space handle
Returns:
Routing space name

getDimensionHandle

public int getDimensionHandle(java.lang.String theName,
                              int whichSpace)
                       throws hla.rti.SpaceNotDefined,
                              hla.rti.NameNotFound,
                              hla.rti.FederateNotExecutionMember,
                              hla.rti.RTIinternalError
The Get Dimension Handle service shall return the dimension handle associated with the supplied dimension name and routing space.
Parameters:
theName - Dimension name
whichSpace - Routing space handle
Returns:
Dimension handle

getDimensionName

public java.lang.String getDimensionName(int theHandle,
                                         int whichClass)
                                  throws hla.rti.SpaceNotDefined,
                                         hla.rti.DimensionNotDefined,
                                         hla.rti.FederateNotExecutionMember,
                                         hla.rti.RTIinternalError
The Get Dimension Name service shall return the dimension name associated with the supplied dimension handle and routing space.
Parameters:
theHandle - Dimension handle
whichClass - Routing space handle
Returns:
Dimension name

getAttributeRoutingSpaceHandle

public int getAttributeRoutingSpaceHandle(int theHandle,
                                          int whichClass)
                                   throws hla.rti.ObjectClassNotDefined,
                                          hla.rti.AttributeNotDefined,
                                          hla.rti.FederateNotExecutionMember,
                                          hla.rti.RTIinternalError
The Get Attribute Routing Space Handle service shall return the routing space associated with the supplied attribute and object class.
Parameters:
theHandle - Attribute handle
whichClass - Object class handle
Returns:
Routing space handle

getObjectClass

public int getObjectClass(int theObject)
                   throws hla.rti.ObjectNotKnown,
                          hla.rti.FederateNotExecutionMember,
                          hla.rti.RTIinternalError
The Get Object Class service shall return the known object class of the supplied object instance.
Parameters:
Object - instance handle
Returns:
Object class handle

getInteractionRoutingSpaceHandle

public int getInteractionRoutingSpaceHandle(int theHandle)
                                     throws hla.rti.InteractionClassNotDefined,
                                            hla.rti.FederateNotExecutionMember,
                                            hla.rti.RTIinternalError
The Get Interaction Routing Space Handle service shall return the routing space associated with the supplied interaction class.
Parameters:
theHandle - Interaction class handle
Returns:
Routing space handle

getTransportationHandle

public int getTransportationHandle(java.lang.String theName)
                            throws hla.rti.NameNotFound,
                                   hla.rti.FederateNotExecutionMember,
                                   hla.rti.RTIinternalError
The Get Transportation Handle service shall return the transportation handle associated with the supplied transportation name.
Parameters:
theName - Transportation name
Returns:
Transportation handle

getTransportationName

public java.lang.String getTransportationName(int theHandle)
                                       throws hla.rti.InvalidTransportationHandle,
                                              hla.rti.FederateNotExecutionMember,
                                              hla.rti.RTIinternalError
The Get Transportation Name service shall return the transportation name associated with the supplied transportation handle.
Parameters:
theHandle - Transportation handle
Returns:
Transportation name

getOrderingHandle

public int getOrderingHandle(java.lang.String theName)
                      throws hla.rti.NameNotFound,
                             hla.rti.FederateNotExecutionMember,
                             hla.rti.RTIinternalError
The Get Ordering Handle service shall return the ordering handle associated with the supplied ordering name.
Parameters:
theName - Ordering name
Returns:
Ordering handle

getOrderingName

public java.lang.String getOrderingName(int theHandle)
                                 throws hla.rti.InvalidOrderingHandle,
                                        hla.rti.FederateNotExecutionMember,
                                        hla.rti.RTIinternalError
The Get Ordering Name service shall return the ordering name associated with the supplied ordering handle.
Parameters:
theHandle - Ordering handle
Returns:
Ordering name

enableClassRelevanceAdvisorySwitch

public void enableClassRelevanceAdvisorySwitch()
                                        throws hla.rti.FederateNotExecutionMember,
                                               hla.rti.SaveInProgress,
                                               hla.rti.RestoreInProgress,
                                               hla.rti.RTIinternalError
The Enable Class Relevance Advisory Switch service shall set the Class Relevance Advisory switch on.

disableClassRelevanceAdvisorySwitch

public void disableClassRelevanceAdvisorySwitch()
                                         throws hla.rti.FederateNotExecutionMember,
                                                hla.rti.SaveInProgress,
                                                hla.rti.RestoreInProgress,
                                                hla.rti.RTIinternalError
The Disable Class Relevance Advisory Switch service shall set the Class Relevance Advisory Switch off.

enableAttributeRelevanceAdvisorySwitch

public void enableAttributeRelevanceAdvisorySwitch()
                                            throws hla.rti.FederateNotExecutionMember,
                                                   hla.rti.SaveInProgress,
                                                   hla.rti.RestoreInProgress,
                                                   hla.rti.RTIinternalError
The Enable Attribute Relevance Advisory Switch service shall set the Attribute Relevance Advisory switch on.

disableAttributeRelevanceAdvisorySwitch

public void disableAttributeRelevanceAdvisorySwitch()
                                             throws hla.rti.FederateNotExecutionMember,
                                                    hla.rti.SaveInProgress,
                                                    hla.rti.RestoreInProgress,
                                                    hla.rti.RTIinternalError
The Disable Attribute Relevance Advisory Switch service shall set the Attribute Relevance Advisory switch off.

enableAttributeScopeAdvisorySwitch

public void enableAttributeScopeAdvisorySwitch()
                                        throws hla.rti.FederateNotExecutionMember,
                                               hla.rti.SaveInProgress,
                                               hla.rti.RestoreInProgress,
                                               hla.rti.RTIinternalError
The Enable Attribute Scope Advisory Switch service shall set the Attribute Scope Advisory switch on.

disableAttributeScopeAdvisorySwitch

public void disableAttributeScopeAdvisorySwitch()
                                         throws hla.rti.FederateNotExecutionMember,
                                                hla.rti.SaveInProgress,
                                                hla.rti.RestoreInProgress,
                                                hla.rti.RTIinternalError
The Disable Attribute Scope Advisory Switch service shall set the Attribute Scope Advisory switch off.

enableInteractionRelevanceAdvisorySwitch

public void enableInteractionRelevanceAdvisorySwitch()
                                              throws hla.rti.FederateNotExecutionMember,
                                                     hla.rti.SaveInProgress,
                                                     hla.rti.RestoreInProgress,
                                                     hla.rti.RTIinternalError
The Enable Interaction Relevance Advisory Switch service shall set the Interaction Relevance Advisory switch on.

disableInteractionRelevanceAdvisorySwitch

public void disableInteractionRelevanceAdvisorySwitch()
                                               throws hla.rti.FederateNotExecutionMember,
                                                      hla.rti.SaveInProgress,
                                                      hla.rti.RestoreInProgress,
                                                      hla.rti.RTIinternalError
The Disable Interaction Relevance Advisory Switch service shall set the Interaction Relevance Advisory switch off.

tick

public void tick()
          throws hla.rti.RTIinternalError,
                 hla.rti.ConcurrentAccessAttempted
The tick method allows the RTI to perform call-backs to a single-threaded federate.

pRTI™ v1.3

Visit the pRTI™ Website

pRTI is a trademark of Pitch Technologies AB

Repslagaregatan 25
S-582 22 Linkoping,
Sweden.
All Rights Reserved.