public class SDFDirector extends StaticSchedulingDirector
Red (rodiers) |
Red (rodiers) |
NamedProgramCodeGeneratorAdapter.VariableScope
ProgramCodeGeneratorAdapter.Channel
NamedObj.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected java.util.HashMap<NamedProgramCodeGeneratorAdapter,java.util.HashSet<Parameter>> |
_referencedParameters
A hashmap that keeps track of parameters that are referenced for
the associated actor.
|
CURRENTTIME_DECLARATION
_sanitizedDirectorName, ports
_component, _defaultBlocks, _eol, _templateParser
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
Constructor and Description |
---|
SDFDirector(SDFDirector sdfDirector)
Construct the code generator adapter associated with the given
SDFDirector.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
_createDynamicOffsetVariables(IOPort port)
Create offset variables for the channels of the given port.
|
protected void |
_createInputBufferSizeAndOffsetMap()
Create the input buffer and offset map.
|
protected java.lang.String |
_createOffsetVariablesIfNeeded(IOPort port,
int channelNumber,
int readTokens,
int writeTokens)
Check for the given channel of the given port to see if
variables are needed for recording read offset and write
offset.
|
protected java.lang.String |
_generateVariableInitialization(NamedProgramCodeGeneratorAdapter target)
Generate variable initialization for the referenced parameters.
|
protected java.lang.String |
_getParameter(NamedProgramCodeGeneratorAdapter target,
Attribute attribute,
java.lang.String[] channelAndOffset)
Return an unique label for the given attribute referenced
by the given adapter.
|
protected void |
_updatePortBufferSize()
Check to see if the buffer size for the current schedule is greater
than the previous size.
|
java.lang.String |
generateFireFunctionCode()
Generate The fire function code.
|
java.lang.String |
generateInitializeCode()
Generate the initialize code for the associated SDF director.
|
java.lang.String |
generatePreinitializeCode()
Generate the preinitialize code for this director.
|
int |
getBufferSize(IOPort port,
int channelNumber)
Return the buffer size of a given channel (i.e, a given port
and a given channel number).
|
_generateUpdatePortOffsetCode, _updateConnectedPortsOffset, _updatePortOffset, allowDynamicMultiportReference, createDecoratorAttributes, generateFireCode, generateMainLoop, generatePortName, generateVariableDeclaration, padBuffers
_checkLocal, _checkRemote, _generateChannelOffset, _generatePortReference, _getCastType, _getChannelAndOffset, _getRefName, _getRefType, getReference, getReference, getSanitizedDirectorName
_ceilToPowerOfTwo, _generateVariableDeclaration, generateCodeForGet, generateCodeForSend, generateConstructorCode, generateModeTransitionCode, generatePostfireCode, generatePreinitializeMethodBodyCode, generateTransferInputsCode, generateTransferInputsCode, generateTransferOutputsCode, generateTransferOutputsCode, generateVariableDeclaration, generateVariableInitialization, generateVariableInitialization, generateWrapupCode, getComponent, getIncludeDirectories, getLibraries, getLibraryDirectories, getModifiedVariables, getParameter
_generateFireCode, _generateTypeConvertStatement, analyzeTypeConvert, copyFilesToCodeDirectory, generatePrefireCode, generateSimpleName, generateTypeConvertFireCode, generateTypeConvertFireCode, getAddTimeString, getBufferSize, getDeclareSharedCode, getDefaultBlocks, getFireFunctionParameters, getHeaderFiles, getName, getParameterValue, getReference, getReference, getSharedCode, getSinkChannels, getSourceTimeString, getTimeSourcePortName, getTypeConvertChannels, getTypeConvertReference, getTypeConvertSinkChannels, setupAdapter, targetType
_generateBlockByName, getAdapter, getCodeGenerator, getTemplateParser, processCode, setCodeGenerator, setTemplateParser, toString
generateName
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getContainedObject, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateExistence, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getContainer, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setName, setPersistent, setSource, sortContainedObjects, toplevel, uniqueName, validateSettables, workspace
protected java.util.HashMap<NamedProgramCodeGeneratorAdapter,java.util.HashSet<Parameter>> _referencedParameters
public SDFDirector(SDFDirector sdfDirector)
sdfDirector
- The associated
ptolemy.domains.sdf.kernel.SDFDirectorpublic java.lang.String generateFireFunctionCode() throws IllegalActionException
generateFireFunctionCode
in class Director
IllegalActionException
- If thrown while generating fire code.public java.lang.String generateInitializeCode() throws IllegalActionException
generateInitializeCode
in class StaticSchedulingDirector
IllegalActionException
- If the adapter associated with
an actor throws it while generating initialize code for the actor.public java.lang.String generatePreinitializeCode() throws IllegalActionException
generatePreinitializeCode
in class StaticSchedulingDirector
IllegalActionException
- If getting the adapter fails,
or if generating the preinitialize code for a adapter fails,
or if there is a problem getting the buffer size of a port.public int getBufferSize(IOPort port, int channelNumber) throws IllegalActionException
getBufferSize
in class NamedProgramCodeGeneratorAdapter
port
- The given port.channelNumber
- The given channel number.IllegalActionException
- If the channel number is
out of range or if the port is neither an input nor an
output.protected java.lang.String _createDynamicOffsetVariables(IOPort port) throws IllegalActionException
port
- The port whose offset variables are generated.IllegalActionException
- If getting the rate or
reading parameters throws it.protected void _createInputBufferSizeAndOffsetMap() throws IllegalActionException
IllegalActionException
- If thrown while
getting port information.protected java.lang.String _createOffsetVariablesIfNeeded(IOPort port, int channelNumber, int readTokens, int writeTokens) throws IllegalActionException
port
- The port to be checked.channelNumber
- The channel number.readTokens
- The number of tokens read.writeTokens
- The number of tokens written.IllegalActionException
- If getting the rate or
reading parameters throws it.protected java.lang.String _generateVariableInitialization(NamedProgramCodeGeneratorAdapter target) throws IllegalActionException
_generateVariableInitialization
in class Director
target
- The ProgramCodeGeneratorAdapter for which code needs to be generated.IllegalActionException
- If the adapter class for the model
director cannot be found.protected java.lang.String _getParameter(NamedProgramCodeGeneratorAdapter target, Attribute attribute, java.lang.String[] channelAndOffset) throws IllegalActionException
_getParameter
in class StaticSchedulingDirector
target
- The ProgramCodeGeneratorAdapter for which code needs to be generated.attribute
- The given attribute.channelAndOffset
- The given channel and offset.IllegalActionException
- If the adapter throws it while
generating the label.protected void _updatePortBufferSize() throws IllegalActionException
IllegalActionException
- If thrown while getting adapter
or buffer size.