public class TaskDirector extends TaskPtDirector
When transferring data from higher level composites, the director does not pass the incoming tokens directly. If the port is a pure input port, tokens are read from the address specified in the PtrToken from the shared memory controlled by the higher level director and are passed to the downstream actors inside. If the port is an input/output port, the data send from the actors inside are stored in the shared memory of the higher level director after all the actors controlled by this director have finished execution.
Task
VisualSequenceDirector.SequenceConfigureFactory
NamedObj.ContainedObjectsIterator
icon, scheduleText
_iterationCount, _postfireReturns, _scheduler, _sequencedList, defaultOutputInitialValue, fireUnexecutedActors, iterations, userDefinedDefaultOutputInitialValue, userDefinedOutputInitialValue
_actorsFinishedExecution, _aspectForActor, _aspectsPresent, _defaultMicrostep, _executionAspects, _finishRequested, _initializables, _nextScheduleTime, _stopRequested, _tokenSentToCommunicationAspect, _zeroTime, localClock, startTime, stopTime
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
TaskDirector(CompositeEntity container,
java.lang.String name)
Construct a director in the given container with the given name.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
_transferInputs(IOPort port)
Read data from the shared memory from the location specified by the
incoming token and broadcast the data to the actors inside.
|
protected boolean |
_transferOutputs(IOPort port)
Write the outputs from the inside to the address specified by the PtrToken
present outside.
|
_init, _setInitialValues, getMemory, initialize, newReceiver, postfire
fire, preinitialize
_getInitialValueParameterName, _setScheduler, checkAttributeType, clone, fireSchedule, getContainedEntities, getScheduler, invalidateSchedule, isScheduleValid, setOutputInitialValues, setScheduler, suggestedModalModelDirectors, supportMultirateFiring
_actorFinished, _consultTimeRegulators, _description, _isEmbedded, _isTopLevel, _schedule, addInitializable, attributeChanged, createSchedule, defaultDependency, delayDependency, elapsedTimeSinceStart, finish, fireAt, fireAt, fireAt, fireAtCurrentTime, fireContainerAt, fireContainerAt, getCausalityInterface, getCurrentTime, getDeadline, getEnvironmentTime, getExecutionAspect, getGlobalTime, getModelNextIterationTime, getModelStartTime, getModelStopTime, getModelTime, getNextIterationTime, getStartTime, getStopTime, getTimeResolution, implementsStrictActorSemantics, initialize, invalidateResolvedTypes, isEmbedded, isFireFunctional, isStopRequested, isStrict, iterate, mutexLockObject, notifyTokenSentToCommunicationAspect, prefire, preinitialize, removeInitializable, requestInitialization, resume, resumeActor, scheduleContainedActors, setContainer, setCurrentTime, setEmbedded, setModelTime, setTimeResolution, stop, stopFire, suspend, terminate, transferInputs, transferOutputs, transferOutputs, wrapup
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName, updateContent
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
public TaskDirector(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- Container of the director.name
- Name of this director.IllegalActionException
- Thrown if the director is not compatible
with the specified container. May be thrown in a derived class.NameDuplicationException
- Thrown if the container is not a
CompositeActor and the name collides with an entity in the container.protected boolean _transferInputs(IOPort port) throws IllegalActionException
_transferInputs
in class TaskPtDirector
port
- The port to be inspected.IllegalActionException
- Thrown if the width of the port is not exactly one,
the input is not of type PtrToken, no memory is found where to write the data,
it is not an output port or the port is not opaque.IOPort.transferInputs()
protected boolean _transferOutputs(IOPort port) throws IllegalActionException
_transferOutputs
in class TaskPtDirector
port
- The port to be inspected.IllegalActionException
- Thrown if the port is not an input/output port,
there is no PtrToken present specifying the address where to write data,
no memory is found where to write the data, it is not an output port or
the port is not opaque.