CHaRTS: Compiler for Hard Real-Time Systems
Abstract
In safety-critical hard real-time systems, a timing fault may yield catastrophic results. A dynamic system provides the flexibility to compensate for unexpected events at runtime; however, scheduling overhead at runtime is relatively large, constraining both the accuracy of the timing and the complexity of the scheduling analysis. In contrast, a static system need not have any runtime overhead. Thus, it has the potential to guarantee the precise time at which each instruction implementing a control action will execute. However, realizing a static system is extremely difficult because of the following problems: unpredictable system behavior, scheduling complexity, and lack of language support. This thesis presents a practical approach for constructing static schedules 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. The new analysis can guarantee timing accuracy to within a single machine clock cycle, supporting high-precision timing constraints on high-level language codes. A prototype implementation, CHaRTS (Compiler for Hard Real-Time Systems) demonstrates the complete approach by translating appropriately augmented high-level language programs into valid serial or parallel static instruction schedules. The major components of CHaRTS include the augmented C language (HaRT-C), compiler front-end, and code scheduling modules for serial and parallel execution models. It reads a control program written in HaRT-C, builds an intermediate representation, and translates it into a valid schedule such that the schedule can be run on the target hardware without a timing fault unless an external interrupt occurs at runtime.
Degree
Ph.D.
Advisors
Dietz, Purdue University.
Subject Area
Computer science|Electrical engineering
Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server.