/** @page LEVEL3 Realtime Synchronization Requirements LEVEL4 Trick shall be capable of synchronizing simulation time to a real-time clock. LEVEL4 Trick shall be capable of running non-real-time. [@anchor rt_non_real_time rt_non_real_time] LEVEL4 Trick shall provide the capability to switch between real-time and non-real-time execution. [@anchor rt_enable rt_enable] [@anchor rt_disable rt_disable] LEVEL4 Trick shall detect when the current simulation job execution frame takes longer than the real-time frame (overrun). [@anchor rt_detect_overrun rt_detect_overrun] LEVEL4 Trick shall provide the option to respond to simulation overruns by LEVEL5 continuing to next frame of execution, LEVEL5 freezing, [@anchor rt_overrun_freeze rt_overrun_freeze] LEVEL5 or terminating. [@anchor rt_overrun_terminate rt_overrun_terminate] LEVEL4 The overrun criteria to cause a response shall be either: [@anchor rt_overrun_criteria rt_overrun_criteria] LEVEL5 A single large overrun of a user specified size (in seconds), or LEVEL5 a user specified number of overruns is detected LEVEL4 Trick shall detect when the current simulation job execution frame is equal to or shorter than the real-time frame (underrun). [@anchor rt_detect_underrun rt_detect_underrun] LEVEL4 Trick shall wait for real-time to catch up to the simulation time before starting the next frame of execution during an underrun. LEVEL4 Trick shall provide the option to release the processor (sleep) during an underrun. */