Abstract
Planetary science missions, such as those that explore Mars and Saturn, employ a variety of spacecraft such as orbiters, landers, probes, and rovers. Each of these kinds of spacecraft depend on embedded real-time control systems — systems that are increasingly being asked to do more as challenging new mission concepts are proposed. For both systems engineers and software engineers the large challenges are in analysis, design and verification of complex control systems that run on relatively limited processors. Project Golden Gate — a collaboration among NASA?s Jet Propulsion Laboratory, Sun Microsystems Laboratory, and Carnegie Mellon University — is exploring those challenges in the context of real-time Java applied to space mission software. This paper describes the problem domain and our experimentation with the first commercial implementation of the Real Time Specification for Java. The two main issues explored in this report are: (1) the effect of RTSJ?s non-heap memory on the programming model, and (2) performance benchmarking of RTSJ/Linux relative to C++/VxWorks.