public abstract class AbstractCalInterpreter extends TypedAtomicActor
Actor data structure (setting
up ports, parameters, types etc.) and then proceeds to execute as the
actor by interpreting the actions using the DataflowActorInterpreter infrastructure.
The actor interpreter is configured by a context that injects the
appropriate Token-based value system into the evaluation of
the actions. This is implemented in the class PtolemyPlatform.
For further documentation on CAL, see the Language Report.
DataflowActorInterpreter,
Context,
PtolemyPlatform| Red (cxh) |
| Yellow (neuendor) |
Entity.ContainedObjectsIterator_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 |
|---|
AbstractCalInterpreter(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name.
|
AbstractCalInterpreter(Workspace workspace)
Construct an actor in the given workspace.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
_attachActorIcon(java.lang.String name)
Attach the actor icon.
|
protected static Type |
_getPtolemyType(caltrop.interpreter.ast.TypeExpr typeExpr)
Get the Ptolemy type that corresponds to the given type expression.
|
protected void |
_setupActor(caltrop.interpreter.ast.Actor actor)
Initialize this ptolemy actor using declarations in the given
CAL actor.
|
java.lang.Object |
clone(Workspace workspace)
Clone the object into the specified workspace.
|
void |
fire()
Fire the actor.
|
void |
initialize()
Initialize the actor, clearing its input channels.
|
boolean |
postfire()
Commit the last state changes.
|
boolean |
prefire()
Prefire the actor.
|
void |
preinitialize()
Populate the initial actor environment.
|
_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, 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, attributeChanged, 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, stop, stopFire, terminateaddInitializable, removeInitializable, wrapupdescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic AbstractCalInterpreter(Workspace workspace)
workspace - The workspace that will list the actor.public AbstractCalInterpreter(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container - The container.name - The name of this actor.IllegalActionException - If the actor cannot be contained
by the proposed container.NameDuplicationException - If the container already has an
actor with this name.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 any of the attributes
cannot be cloned.NamedObj.exportMoML(Writer, int, String),
NamedObj.setDeferringChangeRequests(boolean)public void fire()
throws IllegalActionException
fire in interface Executablefire in class AtomicActor<TypedIOPort>IllegalActionException - If thrown by the parent or by the
fire() method of the domain-dependent interpreter.public void initialize()
throws IllegalActionException
initialize in interface Initializableinitialize in class AtomicActor<TypedIOPort>IllegalActionException - If the superclass throws it.public boolean postfire()
throws IllegalActionException
postfire in interface Executablepostfire in class AtomicActor<TypedIOPort>IllegalActionException - If the superclass throws it.public void preinitialize()
throws IllegalActionException
preinitialize in interface Initializablepreinitialize in class AtomicActor<TypedIOPort>IllegalActionException - If an error occurred during the
retrieval of parameter values or the evaluation of actor state
variable values.public boolean prefire()
throws IllegalActionException
prefire in interface Executableprefire in class AtomicActor<TypedIOPort>IllegalActionException - If thrown by the parent or by the
prefire() method of the domain-dependent interpreter.protected void _setupActor(caltrop.interpreter.ast.Actor actor)
throws java.lang.Exception
actor - The CAL actor to be usedjava.lang.Exception - If there is a problem initializing the actor.protected void _attachActorIcon(java.lang.String name)
throws IllegalActionException
name - The name of the actor.IllegalActionException - If thrown while getting the
_iconDescription attribute.protected static Type _getPtolemyType(caltrop.interpreter.ast.TypeExpr typeExpr)
typeExpr - The type expression, one of "UINT8", "UINT9",
"INT19" or "positive".