Towards Composable Timing for Real-Time Programs

Real-time software is increasing in size and complexity, precipitating the need for advanced modeling and analysis capabilities early in the software development process. One particular concern is the lack of sufficient methods and tools to effectively reason about the timing of software in such a way that software systems can be constructed hierarchically from components while still guaranteeing the timing properties. In this paper, we will discuss deficiencies in current real-time embedded hardware and software structures with respect to achieving our goal of composable and compositional timing behavior. To address these deficiencies, we will then discuss programming methods, code generation techniques, and ideas about hardware and software architectures that should help us in achieving a truly timing-composable and compositional engineering process for real-time software systems.

[1]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[2]  Rolf Ernst,et al.  Scheduling analysis of real-time systems with precise modeling of cache related preemption delay , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[3]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[4]  Peter P. Puschner Transforming Execution-Time Boundable Code into Temporally Predictable Code , 2002, DIPES.

[5]  Martin Schoeberl,et al.  On Composable System Timing, Task Timing, and WCET Analysis , 2008, WCET.

[6]  Peter P. Puschner Algorithms for dependable hard real-time systems , 2003, Proceedings of the Eighth International Workshop on Object-Oriented Real-Time Dependable Systems, 2003. (WORDS 2003)..

[7]  Ken Kennedy,et al.  Conversion of control dependence to data dependence , 1983, POPL '83.

[8]  Alan Burns,et al.  Writing temporally predictable code , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[9]  Michel Schellekens A modular calculus for the average cost of data structuring , 2008 .