public class SDFDirector extends SDFDirector
Red (eal) |
Yellow (zgang) |
NamedProgramCodeGeneratorAdapter.VariableScope
ProgramCodeGeneratorAdapter.Channel
NamedObj.ContainedObjectsIterator
_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 java.lang.String |
_generateVariableDeclaration(NamedProgramCodeGeneratorAdapter target)
Generate variable declarations for inputs and outputs and parameters.
|
java.lang.String |
generateConstructorCode()
Generate the constructor code for the specified director.
|
java.lang.String |
generateFunctionsDeclaration()
Generate The functions' declaration code for this director.
|
java.lang.String |
generateInitializeFunctionCode()
Generate the initialize function code for the associated SDF director.
|
java.lang.String |
generateMainLoop()
Generate a main loop for an execution under the control of
this director.
|
java.lang.String |
generatePostFireFunctionCode()
Generate The postfire function code for a SDF director.
|
java.lang.String |
generatePreFireFunctionCode()
Generate The prefire function code for a SDF director
Usually we have to check if all the input ports have enough
tokens to fire.
|
java.lang.String |
generatePreinitializeCode()
Generate the preinitialize code for this director.
|
java.lang.String |
generatePreinitializeMethodBodyCode()
Generate the preinitialize code for this director.
|
java.lang.String |
generateSchedule()
Generate the code representing the schedule statically inferred from the
Ptolemy model.
|
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 constant for the period parameter,
if there is one.
|
java.lang.String |
generateWrapupCode()
Generate The wrapup function code.
|
CCodeGenerator |
getCodeGenerator()
Get the code generator associated with this adapter class.
|
_createDynamicOffsetVariables, _createInputBufferSizeAndOffsetMap, _createOffsetVariablesIfNeeded, _generateVariableInitialization, _getParameter, _updatePortBufferSize, generateFireFunctionCode, generateInitializeCode, getBufferSize
_generateUpdatePortOffsetCode, _updateConnectedPortsOffset, _updatePortOffset, allowDynamicMultiportReference, createDecoratorAttributes, generateFireCode, generatePortName, padBuffers
_checkLocal, _checkRemote, _generateChannelOffset, _generatePortReference, _getCastType, _getChannelAndOffset, _getRefName, _getRefType, getReference, getReference, getSanitizedDirectorName
_ceilToPowerOfTwo, generateCodeForGet, generateCodeForSend, generateModeTransitionCode, generatePostfireCode, generateTransferInputsCode, generateTransferOutputsCode, generateVariableDeclaration, generateVariableInitialization, generateVariableInitialization, 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 generateConstructorCode() throws IllegalActionException
generateConstructorCode
in class Director
IllegalActionException
- Not thrown in this base class.public java.lang.String generateFunctionsDeclaration() throws IllegalActionException
IllegalActionException
- If thrown while generating code.public java.lang.String generateInitializeFunctionCode() throws IllegalActionException
IllegalActionException
- If the adapter associated with
an actor throws it while generating initialize code for the actor.public java.lang.String generateMainLoop() throws IllegalActionException
generateMainLoop
in class StaticSchedulingDirector
IllegalActionException
- If something goes wrong.public java.lang.String generatePostFireFunctionCode() throws IllegalActionException
IllegalActionException
- If thrown while generating fire code.public java.lang.String generatePreFireFunctionCode() throws IllegalActionException
IllegalActionException
- If thrown while generating fire code.public java.lang.String generatePreinitializeCode() throws IllegalActionException
generatePreinitializeCode
in class SDFDirector
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 java.lang.String generatePreinitializeMethodBodyCode() throws IllegalActionException
generatePreinitializeMethodBodyCode
in class Director
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 java.lang.String generateSchedule() throws IllegalActionException
IllegalActionException
- if something happens while writing the codepublic void generateTransferInputsCode(IOPort inputPort, java.lang.StringBuffer code) throws IllegalActionException
generateTransferInputsCode
in class Director
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 Director
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 StaticSchedulingDirector
IllegalActionException
- If the adapter class for the model
director cannot be found.public java.lang.String generateWrapupCode() throws IllegalActionException
generateWrapupCode
in class Director
IllegalActionException
- If thrown while generating fire code.public CCodeGenerator getCodeGenerator()
getCodeGenerator
in class ProgramCodeGeneratorAdapter
ProgramCodeGeneratorAdapter.setCodeGenerator(GenericCodeGenerator)
protected java.lang.String _generateVariableDeclaration(NamedProgramCodeGeneratorAdapter target) throws IllegalActionException
_generateVariableDeclaration
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.