Region-based memory management
Information and Computation
The Ravenscar tasking profile for high integrity real-time programs
Proceedings of the 1998 annual ACM SIGAda international conference on Ada
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
Mode Change Protocols for Real-Time Systems: A Survey and a New Proposal
Real-Time Systems
Concurrent and Real-Time Programming in Java
Concurrent and Real-Time Programming in Java
Hierarchical Fixed Priority Pre-Emptive Scheduling
RTSS '05 Proceedings of the 26th IEEE International Real-Time Systems Symposium
A Profile for Safety Critical Java
ISORC '07 Proceedings of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing
Processing group parameters in the real-time specification for Java
JTRES '08 Proceedings of the 6th 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
Mission modes for safety critical Java
SEUS'07 Proceedings of the 5th IFIP WG 10.2 international conference on Software technologies for embedded and ubiquitous systems
A survey of hard real-time scheduling for multiprocessor systems
ACM Computing Surveys (CSUR)
The safety-critical Java memory model: a formal account
FM'11 Proceedings of the 17th international conference on Formal methods
Proceedings of the 20th International Conference on Real-Time and Network Systems
Hi-index | 0.00 |
Safety Critical Java defines three compliance levels: Level 0, Level 1 and Level 2. Applications that can be scheduled using cyclic-executive techniques can be implemented at Level 0. Applications that can use simple analysable fixed-priority scheduling can be implemented at Level 1. However, Level 2 also targets fixed-priority scheduling, so this cannot be used to decide whether to use Level 1 or Level 2. The SCJ specification is clear on what constitutes a Level 2 application in terms of its use of the defined API, but not the occasions on which it should be used. Hence, it is not clear what application requirements dictate a Level 2 solution. This paper broadly classifies the features that exist only at Level 2 into three groups: support for nested mission sequencers, support for managed threads, including the use of the Object.wait, Object.notify, HighResolutionTime. waitForObject and Services.delay methods, and support for global scheduling across multiple processors. In this paper we explore the first two groups to derive possible programming requirements that each group of features support. We identify several areas where the specification needs modifications in order to support fully these derived requirements. These include support for terminating managed threads, the ability to set a deadline on the transition between missions, and augmentation of the mission sequencer concept to support composibility of timing constraints.