Abstract
This work involves developing representative mission-critical spacecraft software using the Real-Time Specification for Java(RTSJ)[1]. Utilizing a real mission design, this work leverages the original flight code from NASA’s Deep Space 1(DS1), which flew in 1998. However, instead of performing a line-by-line port, the code is re-architected in pure JavaTM, using best practices in Object-Oriented(OO) design. We have successfully demonstrated a portion of the spacecraft attitude control and fault protection, running on the standard Java platform, as well as on the reference implementation of the RTSJ. Our goal is to run on flight-like hardware, in closed-loop with the original spacecraft dynamics simulation.
In re-designing the software from the original C code, we have adopted OO techniques for flight software development. Specifically, we have taken advantage of design patterns[7], and have seen a strong mapping from certain patterns to the flight software. To ensure the correctness of measurement units, numerical computations are performed via an abstraction layer that checks measurement units at compile-time.
Our approach places an emphasis on pluggable technology. Interfaces, in conjunction with a façade pattern, expose only the behavior of an object, rather than exposing its implementation details. Since the RTSJ reference implementation does not currently support debugging, we chose to apply pluggable technology to the scheduler and memory allocation interfaces. Thus, real-time client code can be run on a standard Java virtual machine, allowing the code to be debugged in a graphical development environment on a desktop PC at the cost of decreased real-time performance. Once non-real-time issues have been debugged, the real-time aspects can be debugged in isolation on an RTSJ-compliant virtual machine.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)
Cooper, J.: The Design Patterns Java Companion. Addision-Wesley, Reading (1998)
Corsaro, A., Schmidt, D.C.: Evaluating Real-Time Java Features and Performance for Real-time Embedded Systems. Technical Report 2002-001, University of California, Irvine (2002)
Dautelle, J.M.: JADEJavaAddition to Default Environment (2002), http://jade.dautelle.com/
Dibble, P.: Real-Time Java Platform Programming. Prentice-Hall, Englewood Cliffs (2002)
Eclipse.org (2003), http://www.eclipse.org/
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object- Oriented Software. Addison-Wesley, Reading (1994)
JamaicaVM Realtime Java Technology (2003), http://www.aicas.com/jamaica.html
Jessup, J.: Java from the Horse’s Mouth: An inside look at how Java has increased developer productivity. In: Software Development, p. 73 (March 1999)
Headway Software (2003), http://www.headwaysoft.com/
NIST Special Publication 500-243, Requirements for Real-time Extensions for the Java Platform: Report from the Requirements Group for Real-time Extensions for the Java Platform (1999)
OVM/Consortium, OVM: An Open RTSJ Compliant JVM. (2003), http://www.ovmj.org
Quinn, E., Christiansen, C.: Java Pays – Positively. IDC Bulletin #W16212 (May 1998)
Rinard, M., et al.: FLEX Compiler Infrastructure (2003), http://www.flex-compiler.lcs.mit.edu/
Rouquette, N., Neilson, T., Chen, G.: The 13th Technology of DS1. In: Proceedings of IEEE Aerospace Conference (1999)
Sitraka JProbe (2003), http://www.sitraka.com/software/jprobe/
TimeSys (2003), http://www.timesys.com
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Benowitz, E.G., Niessner, A.F. (2003). Experiences in Adopting Real-Time Java for Flight-Like Software. In: Meersman, R., Tari, Z. (eds) On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, vol 2889. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39962-9_54
Download citation
DOI: https://doi.org/10.1007/978-3-540-39962-9_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20494-7
Online ISBN: 978-3-540-39962-9
eBook Packages: Springer Book Archive