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.
This director has an extra parameter compared to the CTMultiSolverDirector, the maximum run ahead of time length (runAheadLength
). Its default value is 1.0.
The running ahead of time is achieved by the following mechanism.
runAheadLength
, t3. The fire end time is t1 + min(t2, t3) 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 Jie Liu, Haiyang Zheng @version $Id: CTMixedSignalDirector.java,v 1.160 2007/12/07 06:27:06 cxh Exp $ @since Ptolemy II 0.2 @Pt.ProposedRating Yellow (hyzheng) @Pt.AcceptedRating Red (hyzheng)
|
|