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
Asynchronous Event Handling and Real-time Threads in the Real-time Specification for Java
RTAS '02 Proceedings of the Eighth IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'02)
A Design Framework for Highly Concurrent Systems
A Design Framework for Highly Concurrent Systems
Techniques and patterns for safe and efficient real-time middleware
Techniques and patterns for safe and efficient real-time middleware
Asynchronous event handling in the real-time specification for Java
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
An efficient and predictable implementation of asynchronous event handling in the RTSJ
JTRES '08 Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems
Real-Time Java Platform Programming: Second Edition
Real-Time Java Platform Programming: Second Edition
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 |
The Real-Time Specification for Java (RTSJ) is becoming mature. It has been implemented, formed the basis for research and used in serious applications. Some strengths and weaknesses are emerging. One of the areas that requires further elaboration is asynchronous event handling (AEH). The primary goal for handlers in the RTSJ is to have a lightweight concurrency mechanism. Some implementation will, however, simply map a handler to a real-time thread and this results in undermining the original motivations and introduces performance penalties. However it is generally unclear how to map handlers to real-time threads effectively. Also the support for nonblocking handlers in the RTSJ is criticized as lacking in configurability as implementations are unable to take advantage of them. This article, therefore, examines the AEH techniques used in some popular RTSJ implementations and proposes two efficient AEH models for the RTSJ. We then define formal models of the RTSJ AEH implementations using the automata formalism provided by the UPPAAL model checking tool. Using the automata models, their properties are explored and verified. In the proposed models, blocking and nonblocking handlers are serviced by different algorithms. In this way, it is possible to assign a real-time thread to a handler at the right time in the right place while maintaining the fewest possible threads overall and to give a certain level of configurability to AEH. We also have implemented the proposed models on an existing RTSJ implementation, jRate and executed a set of performance tests that measure their respective dispatch and multiple-handler completion latencies. The results from the tests and the verifications indicate that the proposed models require fewer threads on average with better performance than other approaches.