public class MetroIISystemCDirector extends Director implements GetFirable
NamedObj.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
FileParameter |
configFileName
The configuration file name of the MetroII SystemC model.
|
Parameter |
metroII
The environmental variable METROII.
|
FileParameter |
modelFileName
The executable file name of the MetroII SystemC model.
|
Parameter |
printDebug
Option parameter whether debug info is printed out.
|
_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 |
---|
MetroIISystemCDirector(CompositeEntity container,
java.lang.String name)
Constructs a MetroIISystemCDirector with a name and a container.
|
Modifier and Type | Method and Description |
---|---|
YieldAdapterIterable<java.lang.Iterable<metroIIcomm.Event.Builder>> |
adapter()
Returns the iterator for the caller function of getfire().
|
void |
attributeChanged(Attribute attribute)
Override the base class to update local variables.
|
java.lang.Object |
clone(Workspace workspace)
Clones the object into the specified workspace.
|
void |
getfire(ResultHandler<java.lang.Iterable<metroIIcomm.Event.Builder>> resultHandler)
Fires the wrapped Metro-SystemC model.
|
void |
initialize()
Initializes the pipe connecting to Metro-SystemC.
|
void |
pushEvents(java.lang.Iterable<metroIIcomm.Event.Builder> events)
Pushes Metro events into the pipe.
|
void |
stop()
Stop firing as soon as possible.
|
void |
syncEvents(java.util.LinkedList<metroIIcomm.Event.Builder> events)
Synchronizes the status of events from the pipe.
|
_actorFinished, _consultTimeRegulators, _description, _isEmbedded, _isTopLevel, _schedule, _transferInputs, _transferOutputs, addInitializable, createSchedule, defaultDependency, delayDependency, elapsedTimeSinceStart, finish, fire, fireAt, fireAt, fireAt, fireAtCurrentTime, fireContainerAt, fireContainerAt, getCausalityInterface, getCurrentTime, getDeadline, getEnvironmentTime, getExecutionAspect, getGlobalTime, getModelNextIterationTime, getModelStartTime, getModelStopTime, getModelTime, getNextIterationTime, getStartTime, getStopTime, getTimeResolution, implementsStrictActorSemantics, initialize, invalidateResolvedTypes, invalidateSchedule, isEmbedded, isFireFunctional, isStopRequested, isStrict, iterate, mutexLockObject, newReceiver, notifyTokenSentToCommunicationAspect, postfire, prefire, preinitialize, preinitialize, removeInitializable, requestInitialization, resume, resumeActor, scheduleContainedActors, setContainer, setCurrentTime, setEmbedded, setModelTime, setTimeResolution, stopFire, suggestedModalModelDirectors, supportMultirateFiring, 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 Parameter metroII
public FileParameter modelFileName
public FileParameter configFileName
public Parameter printDebug
public MetroIISystemCDirector(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor.IllegalActionException
- If the container is incompatible with this actor.NameDuplicationException
- If the name coincides with an actor already in the
container.public void attributeChanged(Attribute attribute) throws IllegalActionException
Director
attributeChanged
in class Director
attribute
- The attribute that changed.IllegalActionException
- If timeResolution is
being changed and the model is executing (and not in
preinitialize()).public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class Director
workspace
- The workspace for the cloned object.java.lang.CloneNotSupportedException
- Not thrown in this base classNamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void pushEvents(java.lang.Iterable<metroIIcomm.Event.Builder> events) throws IllegalActionException
events
- the events to be added into the pipe.IllegalActionException
public void syncEvents(java.util.LinkedList<metroIIcomm.Event.Builder> events) throws IllegalActionException
events
- the events to be synchronized from the pipe.IllegalActionException
- If the pipe file cannot be
found or written.public void getfire(ResultHandler<java.lang.Iterable<metroIIcomm.Event.Builder>> resultHandler) throws CollectionAbortedException, IllegalActionException
getfire
in interface GetFirable
resultHandler
- iterable of events 'yield returned'.CollectionAbortedException
IllegalActionException
public YieldAdapterIterable<java.lang.Iterable<metroIIcomm.Event.Builder>> adapter()
adapter
in interface GetFirable
public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class Director
IllegalActionException
- If the initialize() method of
one of the associated actors throws it.public void stop()
stop
in interface Executable
stop
in class Director