Subsections

2.1.1 Federation Management

2.1.1.1 Federation Execution

\begin{figure}\centering
\pagecolor{white}
\begin{msc}{Federation Execution}
\dr...
...derationExecution}{m1}{m2}
\nextlevel
\end{msc}\textcolor{white}{.} \end{figure}

createFederationExecution( executionName, FED)

For example

try:
    rtia.createFederationExecution("MyFederation", "model.fed")
    print "Federation created."
except hla.FederationExecutionAlreadyExists:
    print "Federation already exists."

May raise FederationExecutionAlreadyExists, CouldNotOpenFED, ErrorReadingFED, ConcurrentAccessAttempted.

destroyFederationExecution( executionName)

May raise FederatesCurrentlyJoined, FederationExecutionDoesNotExist, ConcurrentAccessAttempted.

joinFederationExecution( yourName, executionName, ambassador)

Returns a federate handle.

May raise FederateAlreadyExecutionMember, FederationExecutionDoesNotExist, CouldNotOpenFED, ErrorReadingFED, ConcurrentAccessAttempted, SaveInProgress, RestoreInProgress.

resignFederationExecution( resignAction)
The ResignAction class provides different resign actions.

resignAction Description
ReleaseAttributes The resigning federate releases control of all owned attributes.
DeleteObjects The resigning federate deletes all objects for which it holds the privilege to delete.
DeleteObjectsAndReleaseAttributes The resigning federate deletes all objects for which it holds the privilege to delete and then releases ownership of any remaining owned attributes.
NoAction The attributes and objects owned by the federate become "orphaned".

For example

rtia.resignFederationExecution(hla.ResignAction.DeleteObjects)

May raise FederateOwnsAttributes, FederateNotExecutionMember, InvalidResignAction, ConcurrentAccessAttempted.

enableAsynchronousDelivery( )

May raise AsynchronousDeliveryAlreadyEnabled, FederateNotExecutionMember, ConcurrentAccessAttempted, SaveInProgress, RestoreInProgress.

disableAsynchronousDelivery( )

May raise AsynchronousDeliveryAlreadyDisabled, FederateNotExecutionMember, ConcurrentAccessAttempted, SaveInProgress, RestoreInProgress.

tick( [minimum, maximum])
Returns True or False.

May raise SpecifiedSaveLabelDoesNotExist, ConcurrentAccessAttempted.

2.1.1.2 Federation Save

\begin{figure}\centering
\pagecolor{white}
\begin{msc}{Federation Save}
\drawfra...
...s{federationSaved}{m2}{m3}
\nextlevel
\end{msc}\textcolor{white}{.} \end{figure}

requestFederationSave( label[, time])

May raise FederationTimeAlreadyPassed, InvalidFederationTime, FederateNotExecutionMember, ConcurrentAccessAttempted, SaveInProgress, RestoreInProgress.

initiateFederateSave( label)

May raise UnableToPerformSave.

federateSaveBegun( )

May raise SaveNotInitiated, FederateNotExecutionMember, ConcurrentAccessAttempted, RestoreInProgress.

federateSaveComplete( )

May raise SaveNotInitiated, FederateNotExecutionMember, ConcurrentAccessAttempted, RestoreInProgress.

federateSaveNotComplete( )

May raise SaveNotInitiated, FederateNotExecutionMember, ConcurrentAccessAttempted, RestoreInProgress.

federationSaved( )

federationNotSaved( )

2.1.1.3 Federation Restore

\begin{figure}\centering
\pagecolor{white}
\begin{msc}{Federation Restore}
\draw...
...ederationRestored}{m2}{m3}
\nextlevel
\end{msc}\textcolor{white}{.} \end{figure}

requestFederationRestore( label)

May raise FederateNotExecutionMember, ConcurrentAccessAttempted, SaveInProgress, RestoreInProgress.

requestFederationRestoreSucceeded( label)

requestFederationRestoreFailed( label, reason)

federationRestoreBegun( )

initiateFederateRestore( label, federate)

May raise SpecifiedSaveLabelDoesNotExist, CouldNotRestore.

federateRestoreComplete( )

May raise RestoreNotRequested, FederateNotExecutionMember, ConcurrentAccessAttempted, SaveInProgress.

federateRestoreNotComplete( )

May raise RestoreNotRequested, FederateNotExecutionMember, ConcurrentAccessAttempted, SaveInProgress.

federationRestored( )

federationNotRestored( )