The current version of the Safety Critical Java (SCJ) specification defines three compliance levels. Level 0 targets single processor programs while Level 1 and 2 can support multiprocessor platforms. Level 1 programs must be fully partitioned but Level 2 programs can also be more globally scheduled. As of yet, there is no official Reference Implementation for SCJ. However, the icecap project has produced a Safety-Critical Java Run-time Environment based on the Hardware-near Virtual Machine (HVM). This supports SCJ at all compliance levels and provides an implementation of the safety-critical Java (javax.safetycritical) package. This is still work-in-progress and lacks certain key features. Among these is the ability to support multiprocessor platforms. In this paper, we explore two possible options to adding multiprocessor support to this environment: the "green thread" and the "native thread" approaches. The "native thread" approach is adopted and the design and implementation of a revised icecap SCJ run-time environment is discussed.
Download Not Available

BibTex Entry

@inproceedings{Zhao2015d,
 author = {Zhao, Shuai and Wellings, Andy and Korsholm, Stephan Erb},
 booktitle = {Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES 2015},
 title = {Supporting Multiprocessors in the Icecap Safety-Critical Java Run-Time Environment},
 year = {2015}
}