ptolemy.caltrop.actors
Class CalInterpreter
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.caltrop.actors.AbstractCalInterpreter
ptolemy.caltrop.actors.CalInterpreter
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class CalInterpreter
- extends AbstractCalInterpreter
This actor interprets CAL source as an actor inside the Ptolemy II
framework. It has a calCode string attribute that contains
the text of a CAL actor. It configures itself according to CAL code
string (setting up ports, parameters, types etc.) and then proceeds
to execute 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.
- Since:
- Ptolemy II 4.0
- Version:
- $Id: CalInterpreter.java 43786 2006-09-21 15:40:15Z cxh $
- Author:
- Jörn W. Janneck , Christopher Chang, Steve Neuendorffer
- See Also:
DataflowActorInterpreter
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
void |
attributeChanged(Attribute attribute)
The only attribute whose modifications are handled is the
calCode attribute, which contains the source code of
the CAL actor. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, 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, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
calCode
public StringAttribute calCode
- The CAL source to be interpreted.
defaultActorText
protected static final java.lang.String defaultActorText
- Default CAL code.
- See Also:
- Constant Field Values
CalInterpreter
public CalInterpreter(Workspace workspace)
- Construct an actor in the given workspace.
Increment the version number of the workspace.
- Parameters:
workspace
- The workspace that will list the actor.
CalInterpreter
public CalInterpreter(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- The only attribute whose modifications are handled is the
calCode attribute, which contains the source code of
the CAL actor.
Whenever the source is changed, the text is parsed,
transformed, and translated into an internal data structure
used for interpretation.
- Overrides:
attributeChanged
in class NamedObj
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If an error occurs parsing or
transforming the CAL source code.