Formal Timing Analysis of Distributed Real-Time Programs

Abstract For verifying timing properties of real-time distributed programs we investigate the worst-case response time of concurrent tasks which run independently but share logical or physical devices. For such tasks, a crucial factor for predicting the worst-case response time is to estimate the time spent waiting for synchronization events. We study the class of Client-Server distributed programs in which independent, time-critical tasks (Clients) are synchronized only through additional Server tasks, as recently suggested in real-time design guidelines proposed to enhance schedulability and synchronization analysis. Focussing on the timing analysis we reduce the general analysis problem to studying reduced program paths in terms of flow graphs in which the arcs are labelled with minimum and maximum execution time estimates. The first formal result shows that the problem of evaluating the worst-case waiting (blocking) time is NP-compIete. For a reduced problem version in which only operations involving communication are considered a conjecture was held that even for only 2 tasks the evaluation of the worst-case blocking time was NP-complete. We disprove this by constructing, and proving correct, a polynomial algorithm for its closed form solution which works even for an arbitrary number of tasks. The effectiveness and complexity of this algorithm are discussed, also regarding the quality of of the solutions as upper bounds for the original timing analysis problem.

[1]  Niklaus Wirth,et al.  Toward a discipline of real-time programming , 1977, CACM.

[2]  Dennis W. Leinbaugh,et al.  Guaranteed response times in a distributed hard-real-time environment , 1986, IEEE Transactions on Software Engineering.

[3]  Daniel S. Hirschberg,et al.  A linear space algorithm for computing maximal common subsequences , 1975, Commun. ACM.

[4]  Horst F. Wedde,et al.  A critical path approach for testing distributed real-time systems , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[5]  Alexander D. Stoyenko,et al.  A Schedulability Analyzer for Real-Time Euclid. , 1987, RTSS 1987.

[6]  Lui Sha,et al.  Real-time scheduling theory and Ada , 1990, Computer.

[7]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[8]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[9]  C. Samuel Hsieh Timing analysis of cyclic concurrent programs , 1989, ICSE '89.

[10]  Aloysius K. Mok,et al.  A Graph-Theoretic Approach for Timing Analysis and its Implementation , 1987, IEEE Transactions on Computers.

[11]  A. A. Aaby,et al.  Specification of real-time systems in real-time temporal interval logic , 1988, Proceedings. Real-Time Systems Symposium.

[12]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[13]  John A. Stankovic,et al.  Misconceptions About Real-Time Computing , 1988, Computer.