public class SDFDirector extends SDFDirector
red (daib) |
red (rodiers) |
NamedProgramCodeGeneratorAdapter.VariableScope
ProgramCodeGeneratorAdapter.Channel
NamedObj.ContainedObjectsIterator
_portNumber
_referencedParameters
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 void |
_updatePortBufferSize()
Check to see if the buffer size for the current schedule is greater
than the previous size.
|
java.lang.String |
generateFireCode()
Generate the code for the firing of actors according to the SDF
schedule.
|
void |
generateTransferInputsCode(IOPort inputPort,
java.lang.StringBuffer code)
Generate code for transferring enough tokens to complete an internal
iteration.
|
void |
generateTransferOutputsCode(IOPort outputPort,
java.lang.StringBuffer code)
Generate code for transferring enough tokens to fulfill the output
production rate.
|
java.lang.String |
generateVariableDeclaration()
Generate variable declarations for inputs and outputs and parameters.
|
java.lang.String |
generateVariableInitialization()
Generate variable initialization for the referenced parameters.
|
java.lang.String |
getReference(TypedIOPort port,
java.lang.String[] channelAndOffset,
boolean forComposite,
boolean isWrite,
NamedProgramCodeGeneratorAdapter target)
Return an unique label for the given port channel referenced
by the given adapter.
|
_generatePortVariableDeclaration, _generateVariableDeclaration, _getParameter, generateInitializeCode, generatePreinitializeCode, getCodeGenerator
_createDynamicOffsetVariables, _createInputBufferSizeAndOffsetMap, _createOffsetVariablesIfNeeded, _generateVariableInitialization, generateFireFunctionCode, getBufferSize
_generateUpdatePortOffsetCode, _updateConnectedPortsOffset, _updatePortOffset, allowDynamicMultiportReference, createDecoratorAttributes, generateMainLoop, generatePortName, padBuffers
_checkLocal, _checkRemote, _generateChannelOffset, _generatePortReference, _getCastType, _getChannelAndOffset, _getRefName, _getRefType, getReference, getSanitizedDirectorName
_ceilToPowerOfTwo, generateCodeForGet, generateCodeForSend, generateConstructorCode, generateModeTransitionCode, generatePostfireCode, generatePreinitializeMethodBodyCode, generateTransferInputsCode, generateTransferOutputsCode, generateVariableDeclaration, 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, 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
public SDFDirector(SDFDirector sdfDirector)
sdfDirector
- The associated
ptolemy.domains.sdf.kernel.SDFDirectorpublic java.lang.String generateFireCode() throws IllegalActionException
generateFireCode
in class StaticSchedulingDirector
IllegalActionException
- If the SDF director does not have an
attribute called "iterations" or a valid schedule, or the actor to be
fired cannot find its associated adapter.public void generateTransferInputsCode(IOPort inputPort, java.lang.StringBuffer code) throws IllegalActionException
generateTransferInputsCode
in class SDFDirector
inputPort
- The port to transfer tokens.code
- The string buffer that the generated code is appended to.IllegalActionException
- If thrown while transferring tokens.public void generateTransferOutputsCode(IOPort outputPort, java.lang.StringBuffer code) throws IllegalActionException
generateTransferOutputsCode
in class SDFDirector
outputPort
- The port to transfer tokens.code
- The string buffer that the generated code is appended to.IllegalActionException
- If thrown while transferring tokens.public java.lang.String generateVariableDeclaration() throws IllegalActionException
generateVariableDeclaration
in class SDFDirector
IllegalActionException
- If the adapter class for the model
director cannot be found.public java.lang.String generateVariableInitialization() throws IllegalActionException
generateVariableInitialization
in class Director
IllegalActionException
- If the adapter class for the model
director cannot be found.public java.lang.String getReference(TypedIOPort port, java.lang.String[] channelAndOffset, boolean forComposite, boolean isWrite, NamedProgramCodeGeneratorAdapter target) throws IllegalActionException
getReference
in class PortDirector
port
- The given port.channelAndOffset
- The given channel and offset.forComposite
- Whether the given adapter is associated with
a CompositeActorisWrite
- The type of the reference. True if this is
a write reference; otherwise, this is a read reference.target
- The ProgramCodeGeneratorAdapter for which code needs to be generated.IllegalActionException
- If the adapter throws it while
generating the label.protected void _updatePortBufferSize() throws IllegalActionException
_updatePortBufferSize
in class SDFDirector
IllegalActionException
- If thrown while getting adapter
or buffer size.