Asynchronous event handling and safety critical Java

Andy J. Wellings, MinSeong Kim

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


Over the last few years, JSR 302 has been developing a subset of Java augmented by the RTSJ for use in safety critical systems. The concurrency model supported by Safety Critical Java (SCJ) relies, almost exclusively, on an event-based model rather than a thread-based model. This paper reviews the advantages and disadvantages of the two models and gives the pragmatic reasons why SCJ has adopted the former model. It argues that by basing the SCJ classes on the RTSJ's BoundAsyncEvent class, some inconsistencies exist between the SCJ and the RTSJ models. Furthermore, some of the optimization that are possible when mapping handlers to server threads are inhibited, even though the programming restrictions necessary for these optimization are imposed by the SCJ specification. A revised model is presented that has a slightly more complicated API but is more consistent with the RTSJ and does allow the optimizations. However, there is a resulting increase in the necessary run-time support, particularly for multiprocessor implementations.
Original languageUndefined/Unknown
Title of host publicationProceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2010, Prague, Czech Republic, August 19-21, 2010
EditorsTomás Kalibera, Jan Vitek
Number of pages10
ISBN (Electronic)978-1-4503-0122-0
Publication statusPublished - 2010

Publication series

NameACM International Conference Proceeding Series

Cite this