Because static timing analysis is difficult, and behavior of real-time systems appears unpredictable, dynamic scheduling techniques have been the basis for most real-time software. However, only static timing analysis and scheduling can ensure that all timing constraints are satisfied. This is particularly critical for hard real-time systems in which timing faults can yield catastrophic system failures.
The goal of this thesis is to develop instruction level static timing analysis and code scheduling for hard real-time systems. The theoretical basis for this work is the integration of real-time constraints with traditional compiler analysis, resulting in new code scheduling techniques designed to ensure that all timing constraints are satisfied. To evaluate the approach, we propose constructs for allowing arbitrary before and after real-time constraints to be imposed on operations with a serial program, and will develop a prototype compiler(CHaRTS) that implements the analysis and scheduling for both serial and parallel target machines.
This work has been supported by the Office of Naval Research(ONR) under grant No. N0001-91-J-4013.