skip to main content
10.1145/583810.583825acmconferencesArticle/Chapter ViewAbstractPublication PagesjgiConference Proceedingsconference-collections
Article

Ravenscar-Java: a high integrity profile for real-time Java

Published: 03 November 2002 Publication History

Abstract

For many, Java is the antithesis of a high integrity programming language. Its combination of object-oriented programming features, its automatic garbage collection, and its poor support for real-time multi-threading are all seen as particular impediments. The Real-Time Specification for Java has introduced many new features that help in the real-time domain. However, the expressive power of these features means that very complex programming models can be created, necessitating complexity in the supporting real-time virtual machine. Consequently, Java, with the real-time extensions as they stand, seems too complex for confident use in high integrity systems. This paper presents a Java profile for the development of software-intensive high integrity real-time systems. This restricted programming model removes language features with high overheads and complex semantics, on which it is hard to perform timing and functional analyses. The profile fits within the J2ME framework and is consistent with well-known guidelines for high integrity software development, such as those defined by the U.S. Nuclear Regulatory Commission.

References

[1]
A. W. Appel, Protection against untrusted code: The JIT compiler security hole, and what you can do about it, http://www-106.ibm.com/developerworks/library/untrusted-code/, as of January 2001.]]
[2]
N. Audsley, A. Burns, M. Richardson, K. Tindell, and A. Wellings, Applying New Scheduling Theory to Static Priority Pre-emptive Scheduling, Software Engineering Journal, 8(5), 284--92, 1993.]]
[3]
A. Azevedo, A. Nicolau, and J. Hummel, Java Annotation-Aware Just-In-Time (AJIT) Compilation System, ACM 1999 Java Grande Conference, 1999.]]
[4]
J. Barnes, High integrity Ada: the SPARK approach, Addison Wesley, 1997.]]
[5]
S. Bentley, The Utilisation of the Java Language in Safety Critical System Development, MSc dissertation, Department of Computer Science, University of York, 1999.]]
[6]
G. Bernat, A. Burns, A. Wellings, Portable Worst Case Execution Time Analysis using Java Bytecode, In Proceedings of the 12th EUROMICRO conference on Real-Time Systems, 2000.]]
[7]
G. Bollella, et al, The Real-Time Specification for Java, Addison-Wesley, 2000.]]
[8]
J. P. Bowen and M. G. Hinchey, High Integrity System Specification and Design, Springer-Verlag, 1998.]]
[9]
G. Brat, K. Havelund, S. Park, and W. Visser, Model Checking Programs, In IEEE International Conference on Automated Software Engineering (ASE), Sep. 2000.]]
[10]
B. M. Brosgol, S. Robbins, and R. J. Hassan II, Asynchronous Transfer of Control in the Real-Time Specification for Java, In Proceedings of the 5th IEEE International Symposium on Object-oriented Real-time distributed Computing (ISORC), 2002.]]
[11]
A. Burns, B. Dobbing, and G. Romanski, The Ravenscar Tasking Profile for High Integrity Real-Time Programs, In L. Asplund, editor, Proceedings of Ada-Europe 98, LNCS, Vol. 1411, pages 263--275, Berlin Heidelberg, Germany, Springer-Verlag 1998.]]
[12]
A. Burns, and A. Wellings, Real-Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time POSIX, 3rd Ed., Addison Wesley, 2001.]]
[13]
B. Dobbing, The Ravenscar Profile for High Integrity Java Programs?, ACM Ada Letters, Vol. 21, Issue. 1, March 2001.]]
[14]
S. Drossopoulou and S. Eisenbach, Describing the Semantics of Java and Proving Type Soundness, in LNCS 1523 Formal Syntax and semantics of Java (ed. J. Alves-Foss), Springer-Verlag, Berlin, 1999.]]
[15]
Li Gong, Inside Java™ 2 Platform Security: Architecture, API Design, and Implementation, Addison-Wesley, 1999.]]
[16]
J. Gosling, B. Joy, G. Steele, and G. Bracha, The Java Language Specification, 2nd Ed., Addison Wesley, 2000.]]
[17]
P. H. Hartel and L. Moreau, Formalizing the Safety of Java, the Java Virtual Machine, and Java Card, ACM Computing Surveys, Vol. 33, No. 4, December 2001.]]
[18]
E. Y-S Hu, G. Bernat, and A. Wellings, Addressing Dynamic Dispatching Issues in WCET Analysis for Object-Oriented Hard Real-Time Systems, In Proceedings of the 5th IEEE International Symposium on Object-oriented Real-time distributed Computing (ISORC), 2002.]]
[19]
A. Hutcheon, B. Jepson, D. Jordan, and I. Wand, A Study of High Integrity Ada: Language Review, Technical Report SLS31c/73-1-D, Version 2, York Software Engineering, University of York, July 1992.]]
[20]
J Consortium, International J Consortium Specification: Real-Time Core Extensions, Revision 1.0.14, www.j-consortium.org, September 2000.]]
[21]
Java PathFinder, http://ase.arc.nasa.gov/visser/jpf/, last accessed in April 2001.]]
[22]
J. Kwon, A. Wellings, and S. King, Assessment of the Java Programming Language for Use in High Integrity Systems, York Technical Report (YCS 341), Department of Computer Science, University of York, 2002, available at http://www.cs.york.ac.uk/ftpdir/reports/YCS-2002-341.pdf.]]
[23]
J. Kwon, A. Wellings, and S. King, Ravenscar-Java: A High Integrity Profile for Real-Time Java, York Technical Report (YCS 342), Department of Computer Science, University of York, 2002, available at http://www.cs.york.ac.uk/ftpdir/reports/YCS-2002-342.pdf.]]
[24]
K.R.M. Leino, G. Nelson, and J.B. Saxe, ESC/Java User's Manual, SRC Technical Note 2000-002, Compaq Systems Research Center, Palo Alto, CA, 2000.]]
[25]
N. G. Leveson, Software Safety: Why, What, and How, Computing Surveys, Vol. 18, No. 2, ACM, June 1986.]]
[26]
N. G. Leveson, Software Safety in Embedded Computer Systems, Communications of the ACM, Vol. 34, No. 2, February 1991.]]
[27]
C. Liu and J. Layland, Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment, Journal of ACM, 20(1), 46--61, 1973.]]
[28]
The Motor Industry Software Reliability Association, Guidelines for the use of the C language in vehicle based software, The Motor Industry Research Association, 1998.]]
[29]
H. Hetcht, M. Hecht, S. Graff, et al, Review Guidelines for Software Languages for Use in Nuclear Power Plant Systems, NUREG/CR-6463, U.S. Nuclear Regulatory Commission, 1997.]]
[30]
D. L. Parnas, A. J. van Schouwen, and S. P. Kwan, Evaluation of Safety-Critical Software, Communications of the ACM, Vol. 33, No. 6, June 1990.]]
[31]
P. Puschner and A. J. Wellings, A Profile for High Integrity Real-Time Java Programs, In Proceedings of the 4th IEEE International Symposium on Object-oriented Real-time distributed Computing (ISORC), 2001.]]
[32]
I. Sommerville, Software Engineering, 6th Ed., Addison Wesley, 2000.]]
[33]
Sun Microsystems®, Java™ 2 Platform Micro Edition (J2ME™) Technology for Creating Mobile Devices, White paper, Sun Microsystems® 2000.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
JGI '02: Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
November 2002
252 pages
ISBN:1581135998
DOI:10.1145/583810
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 November 2002

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. high integrity systems
  2. profile
  3. real-time Java

Qualifiers

  • Article

Conference

JGI02
Sponsor:

Acceptance Rates

Overall Acceptance Rate 18 of 60 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media