Package ptolemy.domains.csp.lib
Class CSPBuffer
- java.lang.Object
-
- All Implemented Interfaces:
java.lang.Cloneable
,Actor
,Executable
,FiringsRecordable
,Initializable
,TypedActor
,BranchActor
,Changeable
,Debuggable
,DebugListener
,Derivable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class CSPBuffer extends CSPActor
A single channel buffer. This actor is the canonical example of how to use a CDO construct. It is parameterized by the Parameter "depth", which controls how many Tokens can be stored in this buffer. The default depth of the buffer is 1. The buffer depth is set upon calling the fire method. The fire() method does not return until a TerminateProcessException is thrown.- Since:
- Ptolemy II 0.2
- Version:
- $Id$
- Author:
- Neil Smyth
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (nsmyth)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description Parameter
depth
The Parameter storing the depth of the buffer.TypedIOPort
input
The input port for this actor.TypedIOPort
output
The output port for this actor.-
Fields inherited from class ptolemy.actor.TypedAtomicActor
_typesValid
-
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
-
-
Constructor Summary
Constructors Constructor Description CSPBuffer()
Deprecated.Use ptolemy.domains.csp.lib.Buffer instead.CSPBuffer(TypedCompositeActor container, java.lang.String name)
Construct a CSPBuffer in the specified container with the specified name.CSPBuffer(TypedCompositeActor container, java.lang.String name, int theDepth)
Construct a CSPBuffer in the specified container with the specified name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
fire()
Executes the code in this actor.-
Methods inherited from class ptolemy.domains.csp.kernel.CSPActor
_cancelDelay, _continue, _waitForDeadlock, chooseBranch, clone, delay, getBranchController, initialize, postfire, terminate
-
Methods inherited from class ptolemy.actor.TypedAtomicActor
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, 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
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
-
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_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, workspace
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
-
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, prefire, stop, stopFire
-
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, preinitialize, removeInitializable, wrapup
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Field Detail
-
input
public TypedIOPort input
The input port for this actor.
-
output
public TypedIOPort output
The output port for this actor.
-
depth
public Parameter depth
The Parameter storing the depth of the buffer.
-
-
Constructor Detail
-
CSPBuffer
@Deprecated public CSPBuffer() throws IllegalActionException, NameDuplicationException
Deprecated.Use ptolemy.domains.csp.lib.Buffer instead.Construct a CSPBuffer in the default workspace with an empty string as its name. The actor is parameterized by its depth, which must be an integer. The default depth of the buffer is one. The actor is created with a single input port and a single output port, both of width one. The input port is called "input", and similarly, the output port is called "output". The object is added to the workspace directory. Increment the version number of the workspace.- Throws:
IllegalActionException
- If the port or parameter cannot be contained by this actor.NameDuplicationException
- If the port name coincides with a port already in this actor, or if the parameter name coincides with a parameter already in this actor.
-
CSPBuffer
public CSPBuffer(TypedCompositeActor container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct a CSPBuffer in the specified container with the specified name. The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown. The actor is parameterized by its depth, which must be an integer. The default depth of the buffer is one. The actor is created with a single input port and a single output port, both of width one. The input port is called "input", and similarly, the output port is called "output".- Parameters:
container
- The TypedCompositeActor that contains this actor.name
- The actor's name.- Throws:
IllegalActionException
- If the entity cannot be contained by the proposed container.NameDuplicationException
- If the name argument coincides with an entity already in the container.
-
CSPBuffer
public CSPBuffer(TypedCompositeActor container, java.lang.String name, int theDepth) throws IllegalActionException, NameDuplicationException
Construct a CSPBuffer in the specified container with the specified name. The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown. The actor is parameterized by its depth, which must be an integer. The buffer depth is assigned to the value passed in. The actor is created with a single input port and a single output port, both of width one. The input port is called "input", and similarly, the output port is called "output".- Parameters:
container
- The TypedCompositeActor that contains this actor.name
- The actor's name.theDepth
- The depth of this buffer.- Throws:
IllegalActionException
- If the entity cannot be contained by the proposed container.NameDuplicationException
- If the name argument coincides with an entity already in the container.
-
-
Method Detail
-
fire
public void fire() throws IllegalActionException
Executes the code in this actor. This actor uses a CDO construct so that it is always able to receive or send a token, depending on the state of the buffer. It is the canonical example of using a CDO. This process continues executing until a TerminateProcessException is thrown.- Specified by:
fire
in interfaceExecutable
- Overrides:
fire
in classAtomicActor<TypedIOPort>
- Throws:
IllegalActionException
- If an error occurs during executing the process.
-
-