Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A real-time Java virtual machine with applications in avionics
Armbruster A., Baker J., Cunei A., Flack C., Holmes D., Pizlo F., Pla E., Prochazka M., Vitek J. ACM Transactions on Embedded Computing Systems7 (1):1-49,2007.Type:Article
Date Reviewed: Jul 29 2008

The virtues of the Java language for writing reliable and portable code have also raised the desire to use it for the programming of embedded systems with real-time constraints. Such applications are supported by the Real-Time Specification for Java (RTSJ), for which various (mostly commercial) implementations have been developed.

This paper discloses an implementation of RTSJ on top of the open-source Java Virtual Machine Ovm, which was created at Purdue University in order to run the control software PRiSMj of the unmanned aerial vehicle ScanEagle, developed by Boeing. The resulting software passed Boeing’s qualification tests and was successfully applied in test flights; it received the Java 2005 Duke’s Choice award.

The authors give very interesting, clear, and detailed insight into the architecture of Ovm, the basic development strategy (based on the ahead-of-time translation of Java programs to C++ code and the management of threads in user space), as well as the challenges that had to be met with respect to thread scheduling, memory management, synchronization, and input/output (I/O). The most complex issue was the implementation of the RTSJ memory model, which involves “scoped areas” to overcome the unpredictability of garbage collection of the standard heap. Performance benchmarks demonstrate the efficiency of the system; finally, its deployment in ScanEagle and the lessons learned from the project are described.

The paper is wholeheartedly recommended to anyone interested in learning about the current state of the art in Java technology for developing real-time software for large-scale embedded systems.

Reviewer:  Wolfgang Schreiner Review #: CR135884 (0907-0670)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Interpreters (D.3.4 ... )
 
 
Classes And Objects (D.3.3 ... )
 
 
Real-Time Systems And Embedded Systems (D.4.7 ... )
 
 
Run-Time Environments (D.3.4 ... )
 
 
Language Constructs and Features (D.3.3 )
 
 
Processors (D.3.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Interpreters": Date
The APL IL Interpreter Generator
Alfonseca M., Selby D., Wilks R. IBM Systems Journal 30(4): 490-497, 1991. Type: Article
Dec 1 1993
Optimizing static scope LISP by repetitive interpretation of recursive functions calls
Felgentreu K., Lippe W., Simon F. IEEE Transactions on Software Engineering SE-13(6): 628-635, 1987. Type: Article
Mar 1 1988
Implementation of an interpreter for abstract equations
Hoffmann C., O’Donnell M., Strandh R. Software--Practice & Experience 15(12): 1185-1204, 1985. Type: Article
Jul 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy