SLICING REAL-TIME PROGRAMS FOR ENHANCED SCHEDULABILITY

Authors
Citation
R. Gerber et Ss. Hong, SLICING REAL-TIME PROGRAMS FOR ENHANCED SCHEDULABILITY, ACM transactions on programming languages and systems, 19(3), 1997, pp. 525-555
Citations number
46
Categorie Soggetti
Computer Sciences","Computer Science Software Graphycs Programming
ISSN journal
01640925
Volume
19
Issue
3
Year of publication
1997
Pages
525 - 555
Database
ISI
SICI code
0164-0925(1997)19:3<525:SRPFES>2.0.ZU;2-S
Abstract
In this article we present a compiler-based technique to help develop correct real-time systems. The domain we consider is that of multiprog rammed real-time applications, in which periodic tasks control physica l systems via interacting with external sensors and actuators. While a system is up and running, these operations must be performed as speci fied-otherwise the system may fail. Correctness depends not only on ea ch program individually, but also on the time-multiplexed behavior of all of the programs running together. Errors due to overloaded resourc es are exposed very late in a development process, and often at runtim e. They are usually remedied by human-intensive activities such as ins trumentation, measurement, code tuning and redesign. We describe a sta tic alternative to this process, which relies on well-accepted technol ogies from optimizing compilers and fixed-priority scheduling. Specifi cally, when a, set of tasks are found to be overloaded, a scheduling a nalyzer determines candidate tasks to be transformed via program slici ng. The slicing engine decomposes each of the selected tasks into two fragments: one that is ''time critical'' and the other ''unobservable. '' The unobservable part is then spliced to the end of the time-critic al code, with the external semantics being maintained. The benefit is that the scheduler may postpone the unobservable code beyond its origi nal deadline, which can enhance overall schedulability. While the opti mization is completely local, the improvement is realized globally, fo r the entire task set.