Package ptolemy.domains.csp.lib
Class CSPMultiSource
- 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 CSPMultiSource extends CSPActor
A CSPMultiSource actor produces tokens through an output channel via a continuous do (CDO) construct. The tokenLimit parameter specifies how many tokens are produced by this actor. If the value of tokenLimit is a nonnegative integer, then the actor produces that many tokens. If the value is negative, then the actor produces tokens indefinitely. The default value of tokenLimit is -1.- Since:
- Ptolemy II 0.2
- Version:
- $Id$
- Author:
- Neil Smyth
- See Also:
CSPActor
,ConditionalBranch
- Pt.AcceptedRating:
- Red (nsmyth)
- 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 TypedIOPort
output
This actor's output port.Parameter
tokenLimit
The number of tokens produced by 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 CSPMultiSource()
Construct a CSPMultiSource in the default workspace with an empty string as its name.CSPMultiSource(TypedCompositeActor container, java.lang.String name, int limit)
Construct a CSPMultiSource with the specified container and name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
fire()
Execute this actor by producing IntTokens on the output port.boolean
postfire()
Return false indicating that iteration of this actor should not continue.void
wrapup()
Discontinue the execution of this actor.-
Methods inherited from class ptolemy.domains.csp.kernel.CSPActor
_cancelDelay, _continue, _waitForDeadlock, chooseBranch, clone, delay, getBranchController, initialize, 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
-
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
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Field Detail
-
output
public TypedIOPort output
This actor's output port.
-
tokenLimit
public Parameter tokenLimit
The number of tokens produced by this actor. If this limit is set to -1, then produce output tokens indefinitely. The default value of this parameter is -1.
-
-
Constructor Detail
-
CSPMultiSource
public CSPMultiSource() throws IllegalActionException, NameDuplicationException
Construct a CSPMultiSource in the default workspace with an empty string as its name. The actor is created with a single input port named "input". The number of tokens produced by this actor is specified by the tokenLimit parameter. The actor will produce N = tokenLimit tokens unless tokenLimit < 0 in which case this actor will produce tokens indefinitely.- Throws:
IllegalActionException
- If the tokenLimit parameter cannot be contained by this actor.NameDuplicationException
- If the tokenLimit parameter name coincides with a port already in this actor.
-
CSPMultiSource
public CSPMultiSource(TypedCompositeActor container, java.lang.String name, int limit) throws IllegalActionException, NameDuplicationException
Construct a CSPMultiSource with the specified container and name. The actor is created with a single input port named "input". The name of the actor must be unique within the container or a NameDuplicationException is thrown. The container argument must not be null, or a NullPointerException will be thrown. The number of tokens produced by this actor is specified by the tokenLimit parameter. The actor will produce N = tokenLimit tokens unless tokenLimit < 0 in which case this actor will produce tokens indefinitely.- Parameters:
container
- The container of this actor.name
- The name of this actor.limit
- The number of tokens produced by this actor.- Throws:
IllegalActionException
- If the port or tokenLimit parameter cannot be contained by this actor.NameDuplicationException
- If the port or tokenLimit parameter name coincides with a port or parameter already in this actor.
-
-
Method Detail
-
fire
public void fire() throws IllegalActionException
Execute this actor by producing IntTokens on the output port. If the tokenCount was not set to a nonnegative, integer value, then produce output tokens indefinitely. Otherwise, produce N output tokens for N = tokenCount.- Specified by:
fire
in interfaceExecutable
- Overrides:
fire
in classAtomicActor<TypedIOPort>
- Throws:
IllegalActionException
- If thrown by the superclass.
-
postfire
public boolean postfire()
Return false indicating that iteration of this actor should not continue.- Specified by:
postfire
in interfaceExecutable
- Overrides:
postfire
in classCSPActor
- Returns:
- false Indicating that iteration of this actor should should not continue.
-
wrapup
public void wrapup()
Discontinue the execution of this actor.- Specified by:
wrapup
in interfaceInitializable
- Overrides:
wrapup
in classAtomicActor<TypedIOPort>
-
-