public class HlaPublisher extends TypedAtomicActor
This actor implements a publisher in a HLA/CERTI federation. This
publisher is associated to one HLA attribute. Ptolemy's tokens, received in
the input port of this actor, are interpreted as an updated value of the
HLA attribute. The updated value is published to the whole HLA Federation
by the HlaManager
attribute, deployed in a Ptolemy model.
The name of this actor is mapped to the name of the HLA attribute in the federation and need to match the Federate Object Model (FOM) specified for the Federation. The data type of the input port has to be the same type of the HLA attribute. The parameter classObjectHandle needs to match the attribute 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 publish.
|
TypedIOPort |
input
The input port.
|
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 |
---|
HlaPublisher(CompositeEntity container,
java.lang.String name)
Construct the HlaPublisher 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()
Each tokens, received in the input port, are transmitted to the
HlaManager for a publication to the HLA/CERTI Federation. |
java.lang.String |
getAttributeName()
Return the HLA attribute name handled by the HlaPublisher.
|
java.lang.String |
getClassInstanceName()
Return the name of the HLA class instance this HlaPublisher belongs to.
|
java.lang.String |
getClassObjectName()
Return the HLA class object name (in FOM) of the HLA attribute handled
by the HlaPublisher.
|
void |
initialize()
Retrieve and check if there is one and only one
HlaManager
deployed in the Ptolemy model. |
boolean |
useCertiMessageBuffer()
Indicate if the HLA publisher actor uses the CERTI message
buffer API.
|
_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, wrapup
_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, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public Parameter attributeName
public Parameter classObjectName
public Parameter classInstanceName
public TypedIOPort input
public Parameter useCertiMessageBuffer
public HlaPublisher(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. The HlaManager
provides the
method to publish an updated value of a HLA attribute to the HLA/CERTI
Federation.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
HlaManager
for a publication to the HLA/CERTI Federation.fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown in this base class.public java.lang.String getAttributeName() throws IllegalActionException
IllegalActionException
- if a bad token string value is providedpublic 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 boolean useCertiMessageBuffer()