Skip to main content

Safety-Critical Java: The Mission Approach

  • Chapter
  • First Online:
Distributed, Embedded and Real-time Java Systems

Abstract

Safety-Critical Java is designed to simplify the runtime environment and code generation model for safety-critical applications compared with conventional Java, as well as improve the reuse and modular composability of independently developed software components and their corresponding certification artifacts. While the conventional object-oriented abstractions provided by the Java language already enable strong separation of concerns for passive components such as subroutines and data structures, safety-critical Java’s Mission abstraction generalizes these encapsulation benefits to the domain of active software components.Example active components that can be built as a Mission include device drivers, network communication stacks, plotting of RADAR and SONAR data, track management of RADAR and SONAR plots, and implementation of graphic user interfaces. These various active software components will likely be reused, reconfigured, and combined in different ways for different applications. Each safety-critical mission is comprised of one or more logical threads of execution which are generally structured as a set of periodic event handlers, asynchronous event handlers, and no-heap realtime threads.The Safety-Critical Java specification enforces strong separation of concerns between independently developed missions. And outer-nested missions are never allowed to access the data contained within inner-nested missions. A safety-critical Java application consists of one or more missions running in sequence or concurrently. This chapter introduces the concept of Safety-Critical Java Missions and motivates their use as a tool for software engineering abstraction.

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 EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 159.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    The RTCA has not yet assigned the DO designation.

References

  1. aicas. Hija safety critical Java proposal. Available at http://www.aicas.com/papers/scj.pdf, May 2006.

  2. John Barnes. High Integrity Software, The SPARK Approach to Safety and Security. Praxis Critical Systems Limited, 2006.

    Google Scholar 

  3. G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Java Series. Addison-Wesley, June 2000.

    Google Scholar 

  4. A. Burns, B. Dobbing, and T. Vardanega. Guide to the use of the ada ravenscar profile in high integrity systems. Technical Report Technical Report YCS-2003-348, University of York (UK), 2003.

    Google Scholar 

  5. P. Dibble and et al. The Real-Time Specification for Java 1.0.2. Available at http://www.rtsj.org/.

  6. DIN. Bahnanwendungen - Telekommunikationstechnik, Signaltechnik und Datenverarbeitungssysteme - Software fĀr Eisenbahnsteuerungs- und Āberwachungssysteme, deutsche fassung edition, 2001. No. EN 50128; VDE 0831-128:2001-11.

    Google Scholar 

  7. EUROCAE. Object-Oriented Technology Supplement to ED-12C and ED-109A. No. ED-217.

    Google Scholar 

  8. EUROCAE. Software Considerations in Airborne Systems and Equipment Certification. No. ED-12B.

    Google Scholar 

  9. EUROCAE. Software Considerations in Airborne Systems and Equipment Certification. No. ED-12C.

    Google Scholar 

  10. EUROCAE. Software Standard for Non-Airborne Systems. No. ED-109.

    Google Scholar 

  11. EUROCAE. Final Annual Report for Clarification of ED-12B, 2001. No. ED-94B.

    Google Scholar 

  12. International Electrotechnical Commission. IEC61508. Standard for Functional Safety of Electrical/Electronic/Programmable Electronic Safety-Related Systems (E/E/PES), 1998. No. IEC 61508.

    Google Scholar 

  13. Lockheed Martin. Joint Strike Fighter Air Vehicle C++ Coding Standards for the System Development and Demonstration Program, December 2005.

    Google Scholar 

  14. MIRA Limited, Warwickshire, UK. MISRA-C: 2004 Guidelines for the use of the C language in critical systems, October 2004.

    Google Scholar 

  15. RTCA. Software Considerations in Airborne Systems and Equipment Certification. No. DO-178C.

    Google Scholar 

  16. RTCA. Software Standard for Non-Airborne Systems. No. DO-278.

    Google Scholar 

  17. RTCA. Final Annual Report for Clarification of DO-178B, 2001. No. DO-248B.

    Google Scholar 

  18. RTCA/DO-178B. Software Considerations in Airborne Systems and Equipment Certification, December 1992.

    Google Scholar 

  19. United States Government. Ada’83 Language Reference Manual, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to James J. Hunt .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Hunt, J.J., Nilsen, K. (2012). Safety-Critical Java: The Mission Approach. In: Higuera-Toledano, M., Wellings, A. (eds) Distributed, Embedded and Real-time Java Systems. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-8158-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-8158-5_9

  • Published:

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-8157-8

  • Online ISBN: 978-1-4419-8158-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics