Supporting Multiprocessors in the Icecap Safety-Critical Java Run-Time Environment

Shuai Zhao, Andy Wellings, Stephan Erb Korsholm

Research output: Chapter in Book/Report/Conference proceedingConference contribution


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.
Original languageEnglish
Title of host publicationJTRES '15
Subtitle of host publicationProceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems
ISBN (Electronic)978-1-4503-3644-4
Publication statusPublished - 2015

Publication series

Name ACM International Conference Proceeding Series

Cite this