Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Goal-oriented programming, or composition using events, or threads considered harmful
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Inside the Java Virtual Machine
Inside the Java Virtual Machine
Event-Triggered Versus Time-Triggered Real-Time Systems
Proceedings of the International Workshop on Operating Systems of the 90s and Beyond
Scheduling Fixed-Priority Tasks with Preemption Threshold
RTCSA '99 Proceedings of the Sixth International Conference on Real-Time Computing Systems and Applications
Scheduling Tasks with Mixed Preemption Relations for Robustness to Timing Faults
RTSS '02 Proceedings of the 23rd IEEE Real-Time Systems Symposium
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
A Profile for High-Integrity Real-Time Java Programs
ISORC '01 Proceedings of the Fourth International Symposium on Object-Oriented Real-Time Distributed Computing
An architecture for highly concurrent, well-conditioned internet services
An architecture for highly concurrent, well-conditioned internet services
Concurrent and Real-Time Programming in Java
Concurrent and Real-Time Programming in Java
Hard Real-time Computing Systems: Predictable Scheduling Algorithms And Applications (Real-Time Systems Series)
Ravenscar-Java: a high-integrity profile for real-time Java: Research Articles
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande—ISCOPE Conference Part I
Extensions to fixed priority with preemption threshold and reservation-based scheduling
Extensions to fixed priority with preemption threshold and reservation-based scheduling
Event-driven programming for robust software
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
A type system to assure scope safety within safety-critical Java modules
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
Why events are a bad idea (for high-concurrency servers)
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Asynchronous event handling in the real-time specification for Java
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
An efficient and predictable implementation of asynchronous event handling in the RTSJ
JTRES '08 Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems
Refactoring Asynchronous Event Handling in the Real-Time Specification for Java
ECRTS '09 Proceedings of the 2009 21st Euromicro Conference on Real-Time Systems
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
A predictable Java profile: rationale and implementations
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Use of PERC Pico in the AIDA avionics platform
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX
Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX
The safety-critical Java memory model: a formal account
FM'11 Proceedings of the 17th international conference on Formal methods
The safety-critical java mission model: a formal account
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
About 15 years of real-time Java
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Design of safety-critical Java level 1 applications using affine abstract clocks
Proceedings of the 16th International Workshop on Software and Compilers for Embedded Systems
Hi-index | 0.00 |
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.