public abstract class AbstractStateSpaceSimulator extends TypedCompositeActor implements MapConstrained
CompositeEntity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected java.lang.String[] |
_stateLabels
Labels of states
|
protected ArrayToken |
_stateNames
Cached State variable names
|
protected Type[] |
_stateTypes
Types of each state dimension
|
protected boolean |
_upToDate
Flag indicating whether the contained model is up to date.
|
Parameter |
initialState
An ordered array of initial state values.
|
protected int |
MAX_TRIALS
Maximum number of allowable trials to propagate state given map constraints.
|
protected static java.lang.String |
PROCESS_NOISE |
SharedParameter |
resetOnEachRun
Boolean parameter to determine whether seeds are reset on each run.
|
SharedParameter |
seed
The seed to be used for random token generation, to evaluate
probabilistic transitions between states.
|
TypedIOPort |
state
State estimate output.
|
protected static java.lang.String |
STATE_VARIABLE_NAMES |
Parameter |
t
The value of current time.
|
TypedIOPort |
trigger
The trigger.
|
protected static java.lang.String |
UPDATE_POSTFIX |
_actorFiringListeners, _causalityInterface, _derivedPiggybacks, _initializables, _notifyingActorFiring, _piggybacks, _publishedPorts, _publisherRelations, _stopRequested, _subscribedPorts
_levelCrossingLinks
_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 |
---|
AbstractStateSpaceSimulator(CompositeEntity container,
java.lang.String name)
Construct the composite actor with a name and a container.
|
AbstractStateSpaceSimulator(Workspace workspace)
Construct an actor in the specified
workspace with no container and an empty string as a name.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
_checkParameters()
Check the dimensions of all parameters and ports.
|
void |
attributeChanged(Attribute attribute)
If the argument is any parameter other than stateVariableNames
t, or any parameter matching an input port,
then request reinitialization.
|
void |
fire()
Override the base class to first set the value of the
parameter t to match current time, then to set
the local parameters that mirror input values,
and then to fire the contained actors.
|
protected abstract Parameter |
getUserDefinedParameter(java.lang.String parameterName)
Return the Parameter that is part of a state space model.
|
protected java.lang.String |
getUserDefinedParameterExpression(java.lang.String parameterName)
Return the expression for a user-defined parameter.
|
void |
preinitialize()
Create the model inside from the parameter values.
|
void |
wrapup()
If this actor is opaque, then invoke the wrapup() method of the local
director.
|
_addEntity, _addPort, _addRelation, _checkTypesFromTo, _destinationTypeConstraints, attributeTypeChanged, isBackwardTypeInferenceEnabled, newPort, newRelation, resolveTypes, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _finishedAddEntity, _setDirector, _transferPortParameterInputs, addActorFiringListener, addInitializable, addPiggyback, clone, connectionsChanged, createReceivers, createSchedule, getCausalityInterface, getDirector, getExecutiveDirector, getManager, getPublishedPort, getPublishedPortChannel, getPublishedPorts, getSubscribedPortChannel, inferringWidths, inferWidths, initialize, inputPortList, isFireFunctional, isOpaque, isPublishedPort, isStrict, iterate, linkToPublishedPort, linkToPublishedPort, linkToPublishedPort, linkToPublishedPort, needsWidthInference, newInsideReceiver, newReceiver, notifyConnectivityChange, outputPortList, postfire, prefire, recordFiring, registerPublisherPort, registerPublisherPort, removeActorFiringListener, removeInitializable, removePiggyback, requestChange, setContainer, setDirector, setManager, stop, stopFire, terminate, unlinkToPublishedPort, unlinkToPublishedPort, unlinkToPublishedPort, unlinkToPublishedPort, unregisterPublisherPort, unregisterPublisherPort
_adjustDeferrals, _containedDecorators, _deepOpaqueEntityList, _description, _exportMoMLContents, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepCompositeEntityList, deepEntityList, deepGetEntities, deepNamedObjList, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyAllCompositeTransparentAndOpaqueEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName
_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_removePort, connectedPortList, connectedPorts, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts
_setParent, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, clone, 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, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
satisfiesMapConstraints
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, initialize, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public TypedIOPort state
public Parameter initialState
public Parameter t
public TypedIOPort trigger
public SharedParameter resetOnEachRun
public SharedParameter seed
protected boolean _upToDate
protected ArrayToken _stateNames
protected java.lang.String[] _stateLabels
protected Type[] _stateTypes
protected int MAX_TRIALS
protected static final java.lang.String STATE_VARIABLE_NAMES
protected static final java.lang.String PROCESS_NOISE
protected static final java.lang.String UPDATE_POSTFIX
public AbstractStateSpaceSimulator(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name.NameDuplicationException
- If another entity already had
this name.IllegalActionException
- If there was an internal problem.public AbstractStateSpaceSimulator(Workspace workspace) throws IllegalActionException, NameDuplicationException
workspace
- The workspace that will list the actor.IllegalActionException
- If the name has a period in it, or
the director is not compatible with the specified container.NameDuplicationException
- If the container already contains
an entity with the specified name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class TypedCompositeActor
attribute
- The attribute that changed.IllegalActionException
- If the numerator and the
denominator matrix is not a row vector.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class CompositeActor
IllegalActionException
- If there is no director, or if
the director's fire() method throws it, or if the actor is not
opaque.public void preinitialize() throws IllegalActionException
preinitialize
in interface Initializable
preinitialize
in class CompositeActor
IllegalActionException
- If there is no director,
or if any contained actors throws it in its preinitialize() method.public void wrapup() throws IllegalActionException
CompositeActor
wrapup
in interface Initializable
wrapup
in class CompositeActor
IllegalActionException
- If there is no director,
or if the director's wrapup() method throws it, or if this
actor is not opaque.protected abstract void _checkParameters() throws IllegalActionException
IllegalActionException
- If the dimensions are illegal.protected java.lang.String getUserDefinedParameterExpression(java.lang.String parameterName) throws IllegalActionException
parameterName
- Name of parameterIllegalActionException
protected abstract Parameter getUserDefinedParameter(java.lang.String parameterName) throws IllegalActionException
parameterName
- Name of parameterIllegalActionException