Skip to main content

Experiences in Adopting Real-Time Java for Flight-Like Software

  • Conference paper
On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops (OTM 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2889))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)

    Google Scholar 

  2. Cooper, J.: The Design Patterns Java Companion. Addision-Wesley, Reading (1998)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Dautelle, J.M.: JADEJavaAddition to Default Environment (2002), http://jade.dautelle.com/

  5. Dibble, P.: Real-Time Java Platform Programming. Prentice-Hall, Englewood Cliffs (2002)

    Google Scholar 

  6. Eclipse.org (2003), http://www.eclipse.org/

  7. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object- Oriented Software. Addison-Wesley, Reading (1994)

    Google Scholar 

  8. JamaicaVM Realtime Java Technology (2003), http://www.aicas.com/jamaica.html

  9. 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)

    Google Scholar 

  10. Headway Software (2003), http://www.headwaysoft.com/

  11. 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)

    Google Scholar 

  12. OVM/Consortium, OVM: An Open RTSJ Compliant JVM. (2003), http://www.ovmj.org

  13. Quinn, E., Christiansen, C.: Java Pays – Positively. IDC Bulletin #W16212 (May 1998)

    Google Scholar 

  14. Rinard, M., et al.: FLEX Compiler Infrastructure (2003), http://www.flex-compiler.lcs.mit.edu/

  15. Rouquette, N., Neilson, T., Chen, G.: The 13th Technology of DS1. In: Proceedings of IEEE Aerospace Conference (1999)

    Google Scholar 

  16. Sitraka JProbe (2003), http://www.sitraka.com/software/jprobe/

  17. TimeSys (2003), http://www.timesys.com

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics