Abstract
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.
- AICAS. 2005. The Jamaica Virtual Machine homepage, http://www.aicas.com.Google Scholar
- Bacon, D., Konuru, R., Murthy, C., and Serrano, M. 1998. Thin locks: Featherweight synchronization for Java. In SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 258--268. Google Scholar
Digital Library
- Bacon, D. F., Cheng, P., and Rajan, V. 2003. The metronome: A simpler approach to garbage collection in real-time systems. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 466--478.Google Scholar
- Beebee, W. S. Jr., and Rinard, M. 2001. An implementation of scoped memory for Real-Time Java. In Embedded Software Implementation Tools for Fully Programmable Application Specific Systems (EMSOFT). 289--305. Google Scholar
Digital Library
- Benowitz, E. and Niessner, A. 2003a. Experiences in adopting Real-Time Java for flight-like software. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 490--496.Google Scholar
- Benowitz, E. G. and Niessner, A. 2003b. A patterns catalog for RTSJ software designs. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 497--507.Google Scholar
- Blackburn, S. M., Cheng, P., and McKinley, K. S. 2004. Oil and water? high performance garbage collection in Java with MMTk. In 26th International Conference on Software Engineering (ICSE'04). 137--146. Google Scholar
Digital Library
- Bollella, G. and Reinholtz, K. 2002. Scoped memory. In Proceedings of the Fifth International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC02).Google Scholar
- Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., and Turnbull, M. 2000. The Real-Time Specification for Java. Addison-Wesley, Reading, MA. Google Scholar
Digital Library
- Bollella, G., Loh, K., McKendry, G., and Wozenilek, T. 2003. Experiences and benchmarking with JTime. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 534--549.Google Scholar
- Borg, A. and Wellings, A. J. 2003. Reference objects for RTSJ memory areas. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 397--410.Google Scholar
- Borger, M. and Rajkumar, R. 1989. Implementing priority inheritance algorithms in an Ada runtime system. Tech. Rep. CMU/SEI-89-TR-15, Software Engineering Institute, Carnegie Mellon University (April).Google Scholar
- Brosgol, B., Robbins, S., and Hassan II, R. 2002. Asynchronous transfer of control in the Real-Time Specification for Java. In International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). 101--108. Google Scholar
Digital Library
- Buytaert, D., Arickx, F., and Vos, J. 2002. A profiler and compiler for the Wonka Virtual Machine. In USENIX JVM'02 Work in Progress, San Francisco, CA. USENIX, Berkeley, CA.Google Scholar
- Child, J. 2003. Java proving itself worthy for defense apps. COTS Journal.Google Scholar
- Child, J. 2004. Real-time flavor completes the military Java puzzle. COTS Journal.Google Scholar
- Corsaro, A. and Cytron, R. 2003. Efficient memory-reference checks for real-time Java. In Proceedings of Languages, Compilers, and Tools for Embedded Systems (LCTES'03). Google Scholar
Digital Library
- Corsaro, A. and Schmidt, D. 2002a. The design and performace of the jRate Real-Time Java implementation. In The 4th International Symposium on Distributed Objects and Applications (DOA'02). Google Scholar
Digital Library
- Corsaro, A. and Schmidt, D. 2002b. Evaluating Real-Time Java features and performance for real-time embedded systems. In The 8th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). Google Scholar
Digital Library
- Dvorak, D., Bollella, G., Canham, T., Carson, V., Champlin, V., Giovannoni, B., Indictor, M., Meyer, K., Murray, A., and Reinholtz, K. 2004. Project Golden Gate: Towards Real-Time Java in Space Missions. In Proceedings of the 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2004), 12--14 May 2004, Vienna, Austria. IEEE Computer Society Press, Los Alamitos, CA. 15--22.Google Scholar
Cross Ref
- Flack, C., Hosking, T., and Vitek, J. 2003. Idioms in Ovm. Tech. Rep. CSD-TR-03-017, Purdue University Department of Computer Sciences.Google Scholar
- Fox, J. M. and Welc, A. 2003. Implementation of Real-Time Java scope access checks for JikesRVM. Tech. report, Purdue (May).Google Scholar
- FSF. 2005. Free Software Foundation Inc, GNU Classpath, www.gnu.org/software/classpath.Google Scholar
- Gleim, U. 2002. JaRTS: A portable implementation of real-time core extensions for Java. In Proceedings of the Java Virtual Machine Research and Technology Symposium (JVM '02): August 1--2, 2002, San Francisco, California, US. USENIX, Berkeley, CA. Google Scholar
Digital Library
- Goodenough, J. B. and Sha, L. 1988. The priority ceiling protocol: A method for minimizing the blocking of high-priority Ada tasks. ACM SIGADA Ada Letters 8, 7 (Fall). 20--31. Google Scholar
Digital Library
- Higuera-Toledano, T. and Issarny, V. 2002. Analyzing the performance of memory management in RTSJ. In Proceedings of the Fifth International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'02). Google Scholar
Digital Library
- Higuera-Toledano, M. T., Issarny, V., Banâtre, M., Cabillic, G., Lesot, J.-P., and Parain, F. 2001. Region-based memory management for Real-time Java. In 4th International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2001). 387--394. Google Scholar
Digital Library
- Kwon, J., Andy J. Wellings, and King, S. 2005. Ravenscar-Java: a high-integrity profile for real-time Java. Concurrency - Practice and Experience 17, 5--6, 681--713. Google Scholar
Digital Library
- Kwon, J. and Wellings, A. 2004. Memory management based on method invocation in RTSJ. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 333--345.Google Scholar
- Locke, D., Sha, L., Rajkumar, R., Lehoczky, J., and Burns, G. 1988. Priority inversion and its control: An experimental investigation. ACM SIGADA Ada Letters 8, 7 (Fall). 39--42. Google Scholar
Digital Library
- Niessner, A. and Benowitz, E. 2003. RTSJ memory areas and their affects on the performance of a flight-like attitude control system. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), OTM Workshops. 508--519.Google Scholar
- Nilsen, K. 1998. Adding real-time capabilities to Java. Communications of the ACM 41, 6 (June), 49--56. Google Scholar
Digital Library
- Palacz, K. and Vitek, J. 2003. Java subtype tests in real-time. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP 2003). Lecture Notes in Computer Science, vol. 2743. Springer, Darmstadt, Germany. 378--404.Google Scholar
- Palacz, K., Baker, J., Flack, C., Grothoff, C., Yamauchi, H., and Vitek, J. 2005. Engineering a common intermediate representation for the Ovm framework. The Science of Computer Programming 57, 3 (Sept.). 357--378. Google Scholar
Digital Library
- Pizlo, F., Fox, J., Holmes, D., and Vitek, J. 2004. Real-time java scoped memory: design patterns and semantics. In Proceedings of the IEEE International Symposium on Object-oriented Real-Time Distributed Computing (ISORC'04). Vienna, Austria.Google Scholar
- Purdue University - S3 Lab. 2005. The Ovm Virtual Machine homepage, http://www.ovmj.org/.Google Scholar
- Roll, W. 2003. Towards model-based and ccm-based applications for real-time systems. In Proceedings of the 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2003), 14--16 May 2003, Hakodate, Hokkaido, Japan. IEEE Computer Society Press, Los Alamitos, CA. 75--82. Google Scholar
Digital Library
- Schmidt, W. J. and Nilsen, K. D. 1994. Performance of a hardware-assisted real-time garbage collector. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems. San Jose, CA. 76--85. Google Scholar
Digital Library
- Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39, 9 (Sept.), 1175--1185. Google Scholar
Digital Library
- Sharp, D. C. 2001. Real-time distributed object computing: Ready for mission-critical embedded system applications. In Proceeding of the 3rd International Symposium on Distributed Objects and Applications, DOA 2001, 17-20 September 2001, Rome, Italy. IEEE Computer Society Press, Los Alamitos, CA. 3--4. Google Scholar
Digital Library
- Sharp, D. C., Pla, E., Luecke, K. R., and II, R. J. H. 2003. Evaluating Real-Time Java for mission-critical large-scale embedded systems. In Proceedings of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2003), May 27--30, 2003, Toronto, Canada. IEEE Computer Society Press, Los Alamitos, CA. 30--36. Google Scholar
Digital Library
- Siebert, F. 1999. Hard real-time garbage collection in the Jamaica Virtual Machine. In Proceedings of the 6th International Workshop on Real-Time Computing and Applications Symposium (RTCSA '99), 13--16 December 1999, Hong Kong, China. IEEE Computer Society Press, Los Alamitos, CA. Google Scholar
Digital Library
- Timesys Inc. 2003. The jTime Virtual Machine, http://www.timesys.com/.Google Scholar
- Tryggvesson, J., Mattsson, T., and Heeb, H. 1999. Jbed: Java for real-time systems. Dr. Dobb's Journal of Software Tools 24, 11 (Nov.), 78, 80, 82--84, 86.Google Scholar
- Wellings, A. and Puschner, P. 2003. Evaluating the expressive power of the Real-Time Specification for Java. Real-Time Systems 24, 3, 319--359. Google Scholar
Digital Library
- Zhao, T., Palsberg, J., and Vitek, J. 2003. Lightweight confinement for featherweight java. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA). ACM Press, New York. 135--148. Google Scholar
Digital Library
Index Terms
A real-time Java virtual machine with applications in avionics
Recommendations
About 15 years of real-time Java
JTRES '12: Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded SystemsJava is an object oriented programming language introduced by Sun Microsystems in 1995. From this date, Java has received a high interest from both industry actors and researchers. Java presents many benefits such as reliability of code, portability ...
Enhancing Real-Time CORBA via Real-Time Java Features
ICDCS '04: Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS'04)End-to-end middleware predictability is essential to support quality of service (QoS) capabilities needed by distributed real-time and embedded (DRE) applications. Real-time CORBA is a middleware standard that allows DRE applications to allocate, ...
On the connection between functional programming languages and real-time Java scoped memory
JTRES '07: Proceedings of the 5th international workshop on Java technologies for real-time and embedded systemsJava has recently joined C and C++ as a relatively high-level language suitable for developing real-time applications. Java's garbage collection, while generally a useful feature, can be problematic for real-time applications if collection occurs with ...








Comments