Measuring, monitoring and enforcing CPU execution time
ACM SIGAda Ada Letters
Mechanisms for detecting and handling timing errors
Communications of the ACM
Experience with processes and monitors in Mesa
Communications of the ACM
Extending Ada's real-time systems annex with the POSIX scheduling services
IRTAW '00 Proceedings of the 10th international workshop on Real-time Ada workshop
Enhancing O-O Middleware to Become Time-Aware
Real-Time Systems - Special issue on challenges in design and implementation of middlewares for real time systems
Synchronization in Real-Time Systems: A Priority Inheritance Approach
Synchronization in Real-Time Systems: A Priority Inheritance Approach
Real-Time Systems and Programming Languages: ADA 95, Real-Time Java, and Real-Time POSIX
Real-Time Systems and Programming Languages: ADA 95, Real-Time Java, and Real-Time POSIX
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
Implementing and Using Execution Time Clocks in Ada Hard Real-Time Applications
Ada-Europe '98 Proceedings of the 1998 Ada-Europe International Conference on Reliable Software Technologies
Michael González Harbour: MaRTE OS: An Ada Kernel for Real-Time Embedded Applications
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
A New Kernel Approach for Modular Real-Time Systems Development
ECRTS '01 Proceedings of the 13th Euromicro Conference on Real-Time Systems
Execution-time clocks and Ravenscar kernels
IRTAW '03 Proceedings of the 12th international workshop on Real-time Ada
Preemptible Atomic Regions for Real-Time Java
RTSS '05 Proceedings of the 26th IEEE International Real-Time Systems Symposium
An execution overrun management mechanism for the temporal robustness of Java real-time systems
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
Real-Time Tasks Scheduling with Value Control to Predict Timing Faults During Overload
ISORC '07 Proceedings of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing
The worst-case execution-time problem—overview of methods and survey of tools
ACM Transactions on Embedded Computing Systems (TECS)
Blocking time monitoring in the real-time specification for Java
JTRES '08 Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems
Run Time Detection of Blocking Time Violations in Real-Time Systems
RTCSA '08 Proceedings of the 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
Fault tolerance with real-time java
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
The design and performance of real-time Java middleware
IEEE Transactions on Parallel and Distributed Systems
About 15 years of real-time Java
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Hi-index | 0.00 |
In real-time systems, the execution-time overrun of a thread may lead to a deadline being missed by the thread or even others threads in the system. From a fault tolerance perspective, both execution time overruns and deadline misses can be considered timing errors that could potentially cause a failure in the system's ability to deliver its services in a timely manner. In this context, the ideal is to detect the error in the system as soon as possible, so that the propagation of the error can be limited and error recovery strategies can take place with more accurate information. The run-time support mechanism usually deployed for monitoring the timing requirements of real-time systems is based on deadline monitoring, that is, the system calls specific application code whenever a deadline is violated. Recognizing that deadline monitoring may not be enough for providing an adequate level of fault tolerance for timing errors, major real-time programming standards, like Ada, POSIX and the Real-Time Specification for Java (RTSJ), have proposed different mechanisms for monitoring the execution time of threads. Nevertheless, in order to provide a complete fault tolerance approach for timing errors, the potential blocking time of threads also has to be monitored. In this article, we propose mechanisms for measuring and policing the blocking time of threads in the context of both basic priority inheritance and priority ceiling protocols. The notion of blocking-time clocks and timers for the POSIX standard is proposed, implemented and evaluated in the open-source real-time operating system MaRTE OS. Also, a blocking time monitoring model for measuring and policing blocking times in the RTSJ framework is specified. This model is implemented and evaluated in the (RTSJ-compliant) open-source middleware jRate, running on top of MaRTE OS.