ABSTRACT
Safety-critical Java (SCJ) aims at making the amenities of Java available for the development of safety-critical applications. The multi-rate synchronous language Prelude facilitates the specification of the communication and timing requirements of complex real-time systems. This paper combines Prelude and SCJ in order to benefit from the advantages of both approaches. An obstacle we encountered when combining these approaches was that Prelude relies on a scheduler that observes precedence constraints, but SCJ does not provide adequate support for this. Therefore, we propose an extension of SCJ to provide explicit support for precedence constraints. We present the considerations behind the design of this extension and discuss our experiences with a first prototype implementation based on the SCJ implementation of the Java Optimized Processor.
- Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul Le Guernic, and Robert de Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1): 64--83, 2003.Google ScholarCross Ref
- Houssine Chetto, Marilyne Silly, and T. Bouchentouf. Dynamic scheduling of real-time tasks under precedence constraints. Real-Time Systems, 2, 1990. Google ScholarDigital Library
- Mikel Cordovilla, Frédéric Boniol, Julien Forget, Eric Noulard, and Claire Pagetti. Developing critical embedded systems on multicore architectures: the Prelude-SchedMCore toolset. In 19th International Conference on Real-Time and Network Systems (RTNS'11), pages 107--116, 2011.Google Scholar
- Julien Forget. A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints. PhD thesis, Université de Toulouse - ISAE/ONERA, Toulouse, France, November 2009.Google Scholar
- M. Teresa Higuera-Toledano. About 15 years of real-time Java. In Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES '12, pages 34--43, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- Java Expert Group. Java specification request 282: RTSJ version 1.1, September 2005.Google Scholar
- Doug Locke, B. Scott Andersen, Ben Brosgol, Mike Fulton, Thomas Henties, James J. Hunt, Johan Olmütz Nielsen, Kelvin Nilsen, Martin Schoeberl, Joyce Tokar, Jan Vitek, and Andy Wellings. Safety-critical Java technology specification, public draft, June 2013.Google Scholar
- Claire Pagetti, Julien Forget, Frédéric Boniol, Mikel Cordovilla, and David Lesens. Multi-task implementation of multi-periodic synchronous programs. Discrete Event Dynamic Systems, 21(3): 307--338, September 2011. Google ScholarDigital Library
- Wolfgang Puffitsch, Eric Noulard, and Claire Pagetti. Mapping a multi-rate synchronous language to a many-core processor. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2013 IEEE 19th, pages 293--302, april 2013. Google ScholarDigital Library
- Martin Schoeberl. JOP Reference Handbook: Building Embedded Systems with a Java Processor. CreateSpace, August 2009. Google ScholarDigital Library
- Martin Schoeberl and Juan Ricardo Rios. Safety-critical Java on a Java processor. In Proceedings of the 10th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2012), pages 54--61, Copenhagen, DK, October 2012. ACM. Google ScholarDigital Library
- C. Sofronis, S. Tripakis, and P. Caspi. A memory-optimal buffering protocol for preservation of synchronous semantics under preemptive scheduling. In Proceedings of the 6th International Conference on Embedded Software (EMSOFT'06), pages 21--33, Seoul, South Korea, October 2006. Google ScholarDigital Library
Index Terms
- Explicit precedence constraints in safety-critical Java
Recommendations
Safety-Critical Java on a Time-Predictable Processor
JTRES '15: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded SystemsFor real-time systems the whole execution stack needs to be time-predictable and analyzable for the worst-case execution time (WCET). This paper presents a time-predictable platform for safety-critical Java. The platform consists of (1) the Patmos ...
Multiprocessor Priority Ceiling Emulation for Safety-Critical Java
JTRES '15: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded SystemsPriority ceiling emulation has preferable properties on uniprocessor systems, such as avoiding priority inversion and being deadlock free. This has made it a popular locking protocol. According to the safety-critical Java specification, priority ceiling ...
Safety-critical Java for low-end embedded platforms
JTRES '12: Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded SystemsWe present an implementation of the Safety-Critical Java profile (SCJ), targeted for low-end embedded platforms with as little as 16 kB RAM and 256 kB flash. The distinctive features of the implementation are a combination of a lean Java virtual machine ...
Comments