Writing Temporally Predictable Code
P. Puschner and A. Burns
The Worst-Case Execution-Time Analysis (WCET Analysis) of program code for modern processors is a highly complex task. First, it involves path analysis, to identify and describe the possible execution paths through the code. Second, it models the worst-case timing of possible paths on the target hardware, where the characterization of the timing of sophisticated hardware features (e.g., instruction pipelines, caches, parallel execution units) and their interferences are non-trivial. This paper presents a programming paradigm that takes the complexity from WCET analysis. Program code written according to this paradigm only has a single execution path. Writing single-path code makes path analysis and thus WCET analysis trivial. The WCET of the single path is obtained by executing the code (necessarily on that single path) and logging the duration of this execution. To demonstrate that the single-path approach provides a universal solution to the WCET-analysis problem, the paper shows how every WCET-analyzable piece of code can be translated into single-path code.
Download Not Available
BibTex Entry
@inproceedings{Puschner2002, address = {San Diego, CA, USA}, author = {P. Puschner and A. Burns}, booktitle = {Proceedings of the 7th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems}, category = {wcet}, month = {Jan.}, pages = {85-91}, title = {{W}riting {T}emporally {P}redictable {C}ode}, year = {2002} }