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, LINKS
COMPLETED, 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, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, preinitialize, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public 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 NamedObj
attribute
- 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 TypedAtomicActor
workspace
- 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 Initializable
initialize
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 Executable
fire
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 Initializable
wrapup
in class AtomicActor<TypedIOPort>
IllegalActionException
- If the parent class throws it.