We present oSCJ, an implementation of the draft of Safety Critical Java (SCJ) specification. SCJ is designed to make Java amenable to writing mission- and safety-critical software. It does this by defining a subset of the Real-time Specification for Java that trades expressiveness for verifiability. This paper gives a high-level description of our implementation of the first compliance level of the SCJ specification, a library called oSCJ, and reports on performance evaluation on the Ovm real-time Java virtual machine. We compare SCJ to C on both a real-time operating system on the LEON3 platform and Linux on a x86. Our results suggest that a high-degree of predictability and competitive performance can indeed be achieved. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors--run-time environments; D.3.3 [Programming Languages]: Language Constructs and Features--classes and objects; D.4.7 [Operating Systems]: Organization and Design--real-time systems and embed...
Ales Plsek, Lei Zhao, Veysel H. Sahin, Daniel Tang