The run-time support mechanism usually deployed for monitoring the timing requirements of real-time systems is based on deadline monitoring, i.e., the system calls specific application code whenever a deadline is violated. However, from a fault-tolerance point-of-view, deadline miss is the final error in a chain of errors that results from some fault in the execution of one or more threads. Recognising this, major real-time programming standards, like Ada, POSIX and the RTSJ, have proposed different mechanisms for monitoring the execution time of threads. Nevertheless, in order to provide a complete fault-tolerance approach against timing errors, the potential blocking time of threads also has to be monitored. In this paper, we propose a mechanism for monitoring the blocking time of threads in the context of both basic priority inheritance and priority ceiling protocols. We also implement and evaluate the mechanism with the definition of blocking-time clocks and timers (extending the POSIX standard), via the modification of the open-source operating system MaRTE OS.
Download Not Available

BibTex Entry

@inproceedings{Santos2008,
 address = {Taiwan},
 author = {Osmar M. dos Santos and Andy J. Wellings},
 booktitle = {14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications},
 pages = {347-356},
 publisher = {IEEE CS},
 title = {Run Time Detection of Blocking Time Violations in Real-Time Systems},
 year = {2008}
}