public class HlaSubscriber extends TypedAtomicActor
This subscriber is associated to one HLA attribute. Reflected
values of the HLA attribute are received from the HLA/CERTI
Federation by the HlaManager attribute. The HlaManager invokes the putReflectedAttribute() to put the received
value in the subscriber tokens queue and to program its next firing
times, using the _fireAt() method.
The parameter attributeName of this actor is mapped to the name of the HLA attribute of an HLA object class in the federation. This parameter needs to match the Federate Object Model (FOM) specified for this federation. The data type of the output port has to be the same type of the HLA attribute. The parameter classObjectName needs to match the object class describes in the FOM.
Entity.ContainedObjectsIterator| Modifier and Type | Field and Description |
|---|---|
Parameter |
attributeName
The HLA attribute name the HLASubscriber is mapped to.
|
Parameter |
classInstanceName
The name of the HLA class instance for this HlaSubscriber.
|
Parameter |
classObjectName
The object class of the HLA attribute to subscribe to.
|
TypedIOPort |
output
The output port.
|
StringParameter |
typeSelector
The type of the output port specified through the user interface.
|
Parameter |
useCertiMessageBuffer
Indicate if the event is wrapped in a CERTI message buffer.
|
_typesValid_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
HlaSubscriber(CompositeEntity container,
java.lang.String name)
Construct a HlaSubscriber actor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
attributeChanged(Attribute attribute)
Call the attributeChanged method of the parent.
|
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace.
|
void |
fire()
Send each update value of the HLA attribute (mapped to this actor) as
token when its time.
|
int |
getAttributeHandle()
Return the HLA attribute handle.
|
java.lang.String |
getAttributeName()
Return the HLA attribute name mapped to this HlaSubscriber.
|
int |
getClassHandle()
Return the HLA class handle.
|
java.lang.String |
getClassInstanceName()
Return HLA class instance name this HlaSubscriber belongs to.
|
java.lang.String |
getClassObjectName()
Return the HLA class object name (in FOM) of the HLA attribute handled
by the HlaSubscriber.
|
int |
getObjectInstanceId()
Returns the HLA object instance.
|
void |
initialize()
Check if there is one and only one
HlaManager deployed in the
Ptolemy model. |
void |
putReflectedHlaAttribute(HlaTimedEvent event)
Store each updated value of the HLA attribute (mapped to this actor) in
the tokens queue.
|
void |
setAttributeHandle(int attributeHandle)
Set the HLA attribute handle.
|
void |
setClassHandle(int classHandle)
Set the HLA class handle.
|
void |
setObjectInstanceId(int objectInstanceId)
Set the HLA object instance.
|
boolean |
useCertiMessageBuffer()
Indicate if the HLA subscriber actor uses the CERTI message
buffer API.
|
void |
wrapup()
Manage the correct termination of the
HlaSubscriber. |
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListisFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminateaddInitializable, preinitialize, removeInitializabledescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic Parameter attributeName
public Parameter classObjectName
public Parameter classInstanceName
public TypedIOPort output
public StringParameter typeSelector
public Parameter useCertiMessageBuffer
public HlaSubscriber(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container - The container.name - The name of this actor.IllegalActionException - If the entity cannot be contained
by the proposed container.NameDuplicationException - If the container already has an
actor with this name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged in class NamedObjattribute - The attribute that changed.IllegalActionException - If one of the parameters
is empty.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone in class TypedAtomicActorworkspace - The workspace for the new object.java.lang.CloneNotSupportedException - If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String),
NamedObj.setDeferringChangeRequests(boolean)public void initialize()
throws IllegalActionException
HlaManager deployed in the
Ptolemy model.initialize in interface Initializableinitialize in class AtomicActor<TypedIOPort>IllegalActionException - If there is zero or more than one
HlaManager per Ptolemy model.public void fire()
throws IllegalActionException
fire in interface Executablefire in class AtomicActor<TypedIOPort>IllegalActionException - Not thrown here.public int getAttributeHandle()
#setAttributeHandle.public int getClassHandle()
#setClassHandle.public int getObjectInstanceId()
#setObjectInstanceId.public void setAttributeHandle(int attributeHandle)
attributeHandle - The attributeHandle to set.#getAttributeHandle.public void setClassHandle(int classHandle)
classHandle - The classHandle to set.#getClassHandle.public void setObjectInstanceId(int objectInstanceId)
objectInstanceId - The HLA object instance to set.#getObjectInstanceHandle.public void putReflectedHlaAttribute(HlaTimedEvent event) throws IllegalActionException
HlaManager attribute.event - The event containing the updated value of the HLA
attribute and its time-stamp.IllegalActionException - Not thrown here.public boolean useCertiMessageBuffer()
public java.lang.String getAttributeName()
throws IllegalActionException
IllegalActionException - if a bad token string value is provided.public java.lang.String getClassInstanceName()
throws IllegalActionException
IllegalActionException - if a bad token string value is provided.public java.lang.String getClassObjectName()
throws IllegalActionException
IllegalActionException - if a bad token string value is provided.public void wrapup()
throws IllegalActionException
HlaSubscriber. Reset
HLA handles and object instance ID.wrapup in interface Initializablewrapup in class AtomicActor<TypedIOPort>IllegalActionException - If the parent class throws it.