ABSTRACT
The concurrency utilities in the Java library supply a feature called the executor framework that initiates and controls the execution of threads. It provides many adjustable parameters and extensibility hooks to be useful across a wide range of contexts for specifically configuring a pool of threads to execute submitted runnables depending on the application's specific needs. The Real-Time Specification for Java (RTSJ) supports asynchronous event handling (AEH), where the mapping of handlers to server threads is performed by the real-time JVM. In the past we have criticized the RTSJ facility as it lacks user configurability. Two simple changes to the RTSJ model would allow the user to provide their own policy for mapping handlers to server threads using the executor framework. Although the executor framework is not RTSJ-aware it is very flexible. This paper therefore discusses the feasibility of using the framework to implement various AEH mapping models. We first identify the issues associated with adapting the executor framework to AEH in the RTSJ. Based on the findings, we propose a blueprint on how the framework can be incorporated with AEH in the RTSJ with real-time guarantees. By doing so, the programmer can be given comprehensive configurability over the pool of threads provided by the executor framework to execute asynchronous event handlers in the RTSJ with realtime guarantees.
- Aicas. Jamaica: Java Technology for Realtime. http://www.aicas.com/jamaica.html.Google Scholar
- R. Belliardi, B. Brosgol, P. Dibble, D. Holmes, and A. Wellings. Real-Time Specification for Java Ver. 1.0.2, 2008. http://www.rtsj.org/.Google Scholar
- A. Corsaro. Techniques and Patterns for Safe and Efficient Real-Time Middleware. PhD thesis, Washington University, St. Louis, MO, USA, 2004. Google ScholarDigital Library
- P. Dibble. Real-Time Java Platform Programming. Sun Microsystems, USA, 2002.Google ScholarDigital Library
- S. Fridtjof. Asynchronous Event Handling in Jamaica from Aicas. Private Communications, April 2008.Google Scholar
- D. Holmes. Asynchronous Event Handling in OVM from Purdue University. Private Communications, April 2008.Google Scholar
- M. Kim and A. Wellings. An Efficient and Predictable Implementation of Asynchronous Event Handling in the RTSJ. In JTRES '08: Proceedings of the 6th International Workshop on Java Technologies for Real-Time and Embedded Systems, pages 48--57, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- M. Kim and A. Wellings. Applying Fixed-Priority Preemptive Scheduling with Preemption Threshold to Asynchronous Event Handling in the RTSJ. In JTRES '09: Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- M. Kim and A. Wellings. Refactoring Asynchronous Event Handling in the Real-Time Specification for Java. In ECRTS '09: Proceedings of the 21st Euromicro Conference on Real-Time Systems, Washington, USA, 2009. IEEE. Google ScholarDigital Library
- S. Microsystems. Core Java J2SE 5.0. http://java.sun.com/j2se/1.5.0.Google Scholar
- F. Parain. Asynchronous Event Handling in Java RTS from Sun Microsystems. Private Communications, March 2007.Google Scholar
- A. Wellings. Concurrent and Real-Time Programming in Java. John Wiley & Sons, UK, 2004. Google ScholarDigital Library
Index Terms
- Using the executor framework to implement asynchronous event handling in the RTSJ
Recommendations
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 systemsAsynchronously happenings are crucial in real-time systems. Many real-time applications are designed with some periodic execution logics and a significant number of asynchronous events. Evidently it would not be a good performance choice if each event ...
Applying fixed-priority preemptive scheduling with preemption threshold to asynchronous event handling in the RTSJ
JTRES '09: Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded SystemsThe primary goal for asynchronous event handlers in the Real-Time Specification for Java (RTSJ) is to have a lightweight concurrency mechanism. The emphasis here is on 'lightweightness' which should be achieved by having fewer servers to execute more ...
Exception Handling during Asynchronous Method Invocation (Research Note)
Euro-Par '02: Proceedings of the 8th International Euro-Par Conference on Parallel ProcessingException handling mechanisms provided by sequential programming languages rely upon the call stack for the propagation of exceptions. Unfortunately, this is inadequate for handling exceptions thrown from asynchronously invoked methods. For instance, ...
Comments