public class RendezvousDirector extends CompositeProcessDirector
NamedObj.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected boolean |
_inWrapup
Set to true when the director enters the wrapup() method.
|
_newActorThreadList, _notDone
_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 |
---|
RendezvousDirector()
Construct a director in the default workspace with an empty string
as its name.
|
RendezvousDirector(CompositeEntity container,
java.lang.String name)
Construct a director in the given container with the given name.
|
RendezvousDirector(Workspace workspace)
Construct a director in the workspace with an empty name.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
_areAllThreadsStopped()
Return true if the count of active threads equals the number
of stopped (paused) or blocked threads.
|
protected boolean |
_areThreadsDeadlocked()
Return true if all active threads are blocked.
|
protected java.util.Map |
_getResultMap(java.lang.Thread thread)
Return the map of results for the given thread.
|
protected boolean |
_resolveInternalDeadlock()
If the model is deadlocked, report the deadlock if parameter
"SuppressDeadlockReporting" is not set to boolean true, and
return false.
|
protected java.util.Map |
_setResultMap(java.lang.Thread thread,
java.util.Map map)
Set the map of results for the given thread.
|
java.lang.Object |
clone(Workspace workspace)
Clone the director into the specified workspace.
|
Receiver |
newReceiver()
Return a new instance of RendezvousReceiver compatible with
this director.
|
boolean |
postfire()
Return false if the model should not continue to execute.
|
java.lang.String[] |
suggestedModalModelDirectors()
Return an array of suggested directors to be used with ModalModel.
|
void |
wrapup()
Override the base class to set a flag indicating we are in the
wrapup phase.
|
_areActorsExternallyBlocked, _controllerBlocked, _controllerUnBlocked, _isInputControllerBlocked, _isOutputControllerBlocked, _resolveDeadlock, createBranchController, getInputController, getOutputController, initialize, prefire, stopInputBranchController, stopOutputBranchController, threadBlocked, threadUnblocked
_getActiveThreadsCount, _getBlockedThreadsCount, _getStoppedThreadsCount, _newProcessThread, _requestFinishOnReceivers, addThread, finish, fire, initialize, isStopFireRequested, isThreadActive, preinitialize, removeThread, stop, stopFire, terminate, threadHasPaused, threadHasResumed, transferInputs, transferOutputs
_actorFinished, _consultTimeRegulators, _description, _isEmbedded, _isTopLevel, _schedule, _transferInputs, _transferOutputs, addInitializable, attributeChanged, createSchedule, defaultDependency, delayDependency, elapsedTimeSinceStart, fireAt, fireAt, fireAt, fireAtCurrentTime, fireContainerAt, fireContainerAt, getCausalityInterface, getCurrentTime, getDeadline, getEnvironmentTime, getExecutionAspect, getGlobalTime, getModelNextIterationTime, getModelStartTime, getModelStopTime, getModelTime, getNextIterationTime, getStartTime, getStopTime, getTimeResolution, implementsStrictActorSemantics, invalidateResolvedTypes, invalidateSchedule, isEmbedded, isFireFunctional, isStopRequested, isStrict, iterate, mutexLockObject, notifyTokenSentToCommunicationAspect, preinitialize, removeInitializable, requestInitialization, resume, resumeActor, scheduleContainedActors, setContainer, setCurrentTime, setEmbedded, setModelTime, setTimeResolution, supportMultirateFiring, suspend, transferOutputs
_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
protected boolean _inWrapup
public RendezvousDirector() throws IllegalActionException, NameDuplicationException
NameDuplicationException
- If construction of Time objects fails.IllegalActionException
- If construction of Time objects fails.public RendezvousDirector(Workspace workspace) throws IllegalActionException, NameDuplicationException
workspace
- The workspace of this object.NameDuplicationException
- If construction of Time objects fails.IllegalActionException
- If construction of Time objects fails.public RendezvousDirector(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- Container of the director.name
- Name of this director.IllegalActionException
- If the director is not
compatible with the specified container.NameDuplicationException
- If the container not a
CompositeActor and the name collides with an entity in the container.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class CompositeProcessDirector
workspace
- The workspace for the new director.java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public Receiver newReceiver()
newReceiver
in class CompositeProcessDirector
public boolean postfire() throws IllegalActionException
postfire
in interface Executable
postfire
in class ProcessDirector
IllegalActionException
- If thrown by the parent class.public java.lang.String[] suggestedModalModelDirectors()
suggestedModalModelDirectors
in class Director
Director.suggestedModalModelDirectors()
public void wrapup() throws IllegalActionException
wrapup
in interface Initializable
wrapup
in class CompositeProcessDirector
IllegalActionException
- If the parent class throws it.protected boolean _areAllThreadsStopped()
_areAllThreadsStopped
in class ProcessDirector
protected boolean _areThreadsDeadlocked()
_areThreadsDeadlocked
in class CompositeProcessDirector
protected java.util.Map _getResultMap(java.lang.Thread thread)
thread
- The thread._setResultMap(Thread, Map)
protected boolean _resolveInternalDeadlock() throws IllegalActionException
_resolveInternalDeadlock
in class CompositeProcessDirector
IllegalActionException
- If thrown while getting
the "SuppressDeadlockReporting" token.protected java.util.Map _setResultMap(java.lang.Thread thread, java.util.Map map)
thread
- The thread.map
- The result map to be associated with that thread._getResultMap(Thread)