
HSMixedSignalDirector |
ptolemy.domains.hs.kernel.HSMixedSignalDirector |
A CTDirector that supports the interaction of the continuous-time
simulation with event-based domains. This director can both serve as
a top-level director and an inside director that is contained by
a composite actor in an event-based domain. If it is a top-level
director, it behaves exactly like a CTMultiSolverDirector. If it is
embedded in an event-based domain, it will run ahead of the global
time and prepare to roll back if necessary.
<P>
This director has an extra parameter compared to the CTMultiSolverDirector,
the maximum run ahead of time length (<code>runAheadLength</code>).
Its default value is 1.0.
<P>
The running ahead of time is achieved by the following mechanism.<br>
<UL>
<LI> At the initialize stage of an execution, the director requests
a firing at the global current time.
<LI> At each prefire stage of the execution, the end time the the firing is
computed based on the current time of the executive director, t1, the next
iteration time of the executive director, t2, and the value of the parameter
<code>runAheadLength</code>, t3. The fire end time is t1 + min(t2, t3)
<LI> At the fire stage, the director will stop at the first of the
following two times, the fire end time and the time of the first detected
event.
</ul>
At the prefire stage, the local current time is compared with the
current time of the executive director. If the local time is later than
the executive director time, then the directed system will rollback to a
"known good" state. The "known good" state is the state of the system at
the time when local time is equal to the current time of the executive
director.
Author(s): Jie Liu, Haiyang Zheng
Version:$Id: HSMixedSignalDirector.doc.html,v 1.1 2006/02/22 18:40:27 mangal Exp $
Pt.Proposed Rating:Yellow (hyzheng)
Pt.Accepted Rating:Red (hyzheng)
runAheadLength
Parameter of the run ahead length. The default value is 1.0.