A real-time Java virtual machine with applications in avionics

This paper reports on our experience with the implementation of the Real-time Specification for Java on the Ovm open source Java virtual machine. We describe the architecture and main design decisions involved in implementing real-time Java on Ovm. We present the first use of Real-time Java in avionics in the context of control software for a ScanEagle Unmanned Aerial Vehicle.

[1]  Jan Vitek,et al.  Engineering a common intermediate representation for the Ovm framework , 2005, Sci. Comput. Program..

[2]  Ron K. Cytron,et al.  Efficient memory-reference checks for real-time java , 2003 .

[3]  V. T. Rajan,et al.  The Metronome: A Simpler Approach to Garbage Collection in Real-Time Systems , 2003, OTM Workshops.

[4]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[5]  Frans Arickx,et al.  A profiler and compiler for the Wonka Virtual Machine , 2002 .

[6]  Albert F. Niessner,et al.  A Patterns Catalog for RTSJ Software Designs , 2003, OTM Workshops.

[7]  Andy J. Wellings,et al.  Memory Management Based on Method Invocation in RTSJ , 2004, OTM Workshops.

[8]  Perry Cheng,et al.  Oil and water? High performance garbage collection in Java with MMTk , 2004, Proceedings. 26th International Conference on Software Engineering.

[9]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[10]  L. Sha,et al.  The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks , 1988, IRTAW '88.

[11]  Andy J. Wellings,et al.  Ravenscar‐Java: a high‐integrity profile for real‐time Java , 2002, JGI '02.

[12]  Andy J. Wellings,et al.  Evaluating the Expressive Power of the Real-Time Specification for Java* , 2004, Real-Time Systems.

[13]  Andy J. Wellings,et al.  Reference Objects for RTSJ Memory Areas , 2003, OTM Workshops.

[14]  Douglas C. Schmidt,et al.  The Design and Performance of the jRate Real-Time Java Implementation , 2002, OTM.

[15]  Andy J. Wellings,et al.  Ravenscar‐Java: a high‐integrity profile for real‐time Java , 2005, Concurr. Pract. Exp..

[16]  Wendy Roll Towards model-based and CCM-based applications for real-time systems , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[17]  Gregory Bollella,et al.  Experiences and Benchmarking with JTime , 2003, OTM Workshops.

[18]  Fridtjof Siebert,et al.  Hard real-time garbage collection in the Jamaica virtual machine , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[19]  David C. Sharp,et al.  Real-time distributed object computing: ready for mission-critical embedded system applications , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[20]  M. Teresa Higuera-Toledano,et al.  Region-based memory management for real-time Java , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[21]  Martin C. Rinard,et al.  An Implementation of Scoped Memory for Real-Time Java , 2001, EMSOFT.

[22]  Kirk Reinholtz,et al.  Scoped memory , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[23]  Ricardo J. Hassan,et al.  Asynchronous transfer of control in the real-time specification for java™ , 2002 .

[24]  Urs Gleim,et al.  JaRTS: A Portable Implementation of Real-Time Core Extensions for Java , 2002, Java Virtual Machine Research and Technology Symposium.

[25]  Jan Vitek,et al.  Java Subtype Tests in Real-Time , 2003, ECOOP.

[26]  Albert F. Niessner,et al.  RTSJ Memory Areas and Their Affects on the Performance of a Flight-Like Attitude Control System , 2003, OTM Workshops.

[27]  L. Sha,et al.  Priority inversion and its control: An experimental investigation , 1988, IRTAW '88.

[28]  Kelvin D. Nilsen,et al.  Performance of a hardware-assisted real-time garbage collector , 1994, ASPLOS VI.

[29]  Albert F. Niessner,et al.  Experiences in Adopting Real-Time Java for Flight-Like Software , 2003, OTM Workshops.

[30]  Jan Vitek,et al.  Idioms in Ovm , 2003 .

[31]  Jens Palsberg,et al.  Lightweight confinement for featherweight java , 2003, OOPSLA '03.

[32]  Douglas C. Schmidt,et al.  Evaluating real-time Java features and performance for real-time embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[33]  Ragunathan Rajkumar,et al.  Implementing Priority Inheritance Algorithms in an Ada Runtime System , 1989 .

[34]  Mauricio J. Serrano,et al.  Thin locks: featherweight Synchronization for Java , 2004, SIGP.

[35]  David C. Sharp,et al.  Evaluating real-time Java for mission-critical large-scale embedded systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[36]  Ron Cytron,et al.  Efficient memory-reference checks for real-time java , 2003, LCTES '03.

[37]  M. Teresa Higuera-Toledano,et al.  Analyzing the performance of memory management in RTSJ , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[38]  Jan Vitek,et al.  Real-time Java scoped memory: design patterns and semantics , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..

[39]  Daniel L. Dvorak,et al.  Project Golden Gate: towards real-time Java in space missions , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..

[40]  J. Tryggvesson,et al.  JBED : JAVA FOR REAL-TIME SYSTEMS , 1999 .

[41]  Benjamin M. Brosgol,et al.  Asynchronous transfer of control in the Real-Time Specification for Java/sup TM/ , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[42]  Kelvin D. Nilsen,et al.  Adding real-time capabilities to Java , 1998, CACM.