Package ptolemy.domains.pthales.lib
Class PthalesAtomicActor
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity<T>
-
- ptolemy.actor.AtomicActor<TypedIOPort>
-
- ptolemy.actor.TypedAtomicActor
-
- ptolemy.domains.pthales.lib.PthalesAtomicActor
-
- All Implemented Interfaces:
java.lang.Cloneable
,Actor
,Executable
,FiringsRecordable
,Initializable
,TypedActor
,Changeable
,Debuggable
,DebugListener
,Derivable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
- Direct Known Subclasses:
PthalesAddHeaderActor
,PthalesGenericActor
,PthalesRemoveHeaderActor
public class PthalesAtomicActor extends TypedAtomicActor
An atomic actor with Pthales model of computation semantics.- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Rémi Barrère
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (cxh)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
_INTERNAL_REPETITIONS
The name of the internal repetitions parameter.protected static java.lang.String
_REPETITIONS
The name of the total repetitions parameter.-
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 PthalesAtomicActor()
Construct an actor in the default workspace with an empty string as its name.PthalesAtomicActor(CompositeEntity container, java.lang.String name)
Create a new actor in the specified container with the specified name.PthalesAtomicActor(Workspace workspace)
Construct an actor in the specified workspace with an empty string as a name.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static int
_computeIteration(java.lang.Integer[] totalRepetitions, java.lang.Integer[] internalRepetitions)
Compute the number of iterations to repeat the C function.protected static int[]
_computeIterations(java.lang.Integer[] totalRepetitions, java.lang.Integer[] internalRepetitions)
Compute iteration numbers of the actor, where external means the number of times C function is called.protected void
_initialize()
Set specific attributes common to all Pthales atomic actors.protected static java.lang.Integer[]
_parseRepetitions(ComponentEntity actor, java.lang.String name)
Return a data structure giving the dimension data contained by a parameter with the specified name in the specified port or actor.FloatToken[]
convertReal(float[] realOut)
Convert from an array used in a JNI function to Tokens.float[]
convertToken(Token[] tokensIn)
Convert from Tokens to array to be used in a JNI function.static java.lang.Integer[]
getInternalRepetitions(ComponentEntity actor)
Returns the internal repetitions values.static int
getIteration(ComponentEntity actor)
Returns the total iterations value.static int[]
getIterations(ComponentEntity actor)
Returns the total iterations values.static java.lang.Integer[]
getRepetitions(ComponentEntity actor)
Returns the total repetitions values.Port
newPort(java.lang.String name)
Create a new TypedIOPort with the specified name.-
Methods inherited from class ptolemy.actor.TypedAtomicActor
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, 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
_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
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
-
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Constructor Detail
-
PthalesAtomicActor
public PthalesAtomicActor() throws IllegalActionException, NameDuplicationException
Construct an actor in the default workspace with an empty string as its name. The object is added to the workspace directory. Increment the version number of the workspace.- Throws:
IllegalActionException
- If the actor cannot be contained by the proposed container.NameDuplicationException
- If the container already has an actor with this name.
-
PthalesAtomicActor
public PthalesAtomicActor(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
Create a new actor 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.- Parameters:
container
- The container.name
- The name of this actor within the container.- Throws:
IllegalActionException
- If this actor cannot be contained by the proposed container (see the setContainer() method).NameDuplicationException
- If the name coincides with an entity already in the container.
-
PthalesAtomicActor
public PthalesAtomicActor(Workspace workspace) throws IllegalActionException, NameDuplicationException
Construct an actor in the specified workspace with an empty string as a name. You can then change the name with setName(). If the workspace argument is null, then use the default workspace. The object is added to the workspace directory. Increment the version number of the workspace.- Parameters:
workspace
- The workspace that will list the entity.- Throws:
IllegalActionException
- If the actor cannot be contained by the proposed container.NameDuplicationException
- If the container already has an actor with this name.
-
-
Method Detail
-
convertReal
public FloatToken[] convertReal(float[] realOut)
Convert from an array used in a JNI function to Tokens.- Parameters:
realOut
- The array used in a JNI function.- Returns:
- An arry of Tokens.
-
convertToken
public float[] convertToken(Token[] tokensIn)
Convert from Tokens to array to be used in a JNI function.- Parameters:
tokensIn
- The tokens to be converted.- Returns:
- The array to be used in a JNI function.
-
getIteration
public static int getIteration(ComponentEntity actor)
Returns the total iterations value.- Parameters:
actor
- associated actor- Returns:
- total repetitions number
-
getIterations
public static int[] getIterations(ComponentEntity actor)
Returns the total iterations values.- Parameters:
actor
- associated actor- Returns:
- size array of repetitions
-
getRepetitions
public static java.lang.Integer[] getRepetitions(ComponentEntity actor)
Returns the total repetitions values.- Parameters:
actor
- associated actor- Returns:
- size array of repetitions
-
getInternalRepetitions
public static java.lang.Integer[] getInternalRepetitions(ComponentEntity actor)
Returns the internal repetitions values.- Parameters:
actor
- associated actor- Returns:
- size array of repetitions
-
newPort
public Port newPort(java.lang.String name) throws NameDuplicationException
Create a new TypedIOPort with the specified name. The container of the port is set to this actor. This method is write-synchronized on the workspace.- Overrides:
newPort
in classTypedAtomicActor
- Parameters:
name
- The name for the new port.- Returns:
- The new port.
- Throws:
NameDuplicationException
- If the actor already has a port with the specified name.- See Also:
Workspace.getWriteAccess()
-
_computeIteration
protected static int _computeIteration(java.lang.Integer[] totalRepetitions, java.lang.Integer[] internalRepetitions)
Compute the number of iterations to repeat the C function.- Parameters:
totalRepetitions
- The array of total repetitions.internalRepetitions
- The array of internal repetitions, where an internal repetition is the loop inside the C function.- Returns:
- number of iterations to repeat the C function.
-
_computeIterations
protected static int[] _computeIterations(java.lang.Integer[] totalRepetitions, java.lang.Integer[] internalRepetitions)
Compute iteration numbers of the actor, where external means the number of times C function is called.- Parameters:
totalRepetitions
- The array of total repetitions.internalRepetitions
- The array of internal repetitions, where an internal repetition is the loop inside the C function.- Returns:
- external iteration numbers
-
_initialize
protected void _initialize() throws IllegalActionException, NameDuplicationException
Set specific attributes common to all Pthales atomic actors.
-
_parseRepetitions
protected static java.lang.Integer[] _parseRepetitions(ComponentEntity actor, java.lang.String name)
Return a data structure giving the dimension data contained by a parameter with the specified name in the specified port or actor. The dimension data is indexed by dimension name and contains two integers, a value and a stride, in that order.- Parameters:
actor
- The name of the actorname
- The name of the parameter- Returns:
- The dimension data, or an empty array if the parameter does not exist.
-
-