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

Research output: Contribution to journalArticlepeer-review


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. Copyright (c) 2005 John Wiley F Sons, Ltd.

Original languageEnglish
Pages (from-to)681-713
Number of pages33
JournalConcurrency and Computation: Practice and Experience
Issue number5-6
Publication statusPublished - 2005


  • high-integrity systems
  • real-time Java
  • profile

Cite this