Towards modular average-case timing in real-time languages: an application to real-time Java

In certain real-time systems worst-case execution time estimates often lead to a waste of resources. In hard real-time systems these types of estimates are essential to guarantee temporal requirements are met. However in soft-real time systems using other measurements, such as average-case timing, to complement the worst-case estimates can lead to better utilisation of resources while ensuring most, if not all, deadlines are met. We propose a methodology to integrate modular average-case timing in Real-Time languages. Previously statically determining average-case time, if possible, required rigorous mathematical techniques. Our approach, which is based on a new programming paradigm called MOQA and is built on Real-Time Java, simplifies the process and allows for automation.

[1]  Peter P. Puschner,et al.  Which sorting algorithms to choose for hard real-time applications , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[2]  Philippe Flajolet,et al.  Average-Case Analysis of Algorithms and Data Structures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[3]  Raimund Kirner,et al.  Classification of WCET analysis techniques , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[4]  Philippe Flajolet,et al.  Automatic Average-Case Analysis of Algorithm , 1991, Theor. Comput. Sci..

[5]  Alan Burns,et al.  Time-constrained sorting-a comparison of different algorithms , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[6]  Donald E. Knuth,et al.  Deletions That Preserve Randomness , 1977, IEEE Transactions on Software Engineering.