Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
Practical virtual method call resolution for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Real-Time Specification for Java
The Real-Time Specification for Java
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Protothreads: simplifying event-driven programming of memory-constrained embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Realtime garbage collection in the JamaicaVM 3.0
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
ISORC '08 Proceedings of the 2008 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing
CDx: a family of real-time Java benchmarks
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Real time Java on resource-constrained platforms with Fiji VM
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
Developing safety critical Java applications with oSCJ/L0
Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
Refactoring Real-Time Java Profiles
ISORC '11 Proceedings of the 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing
A Hardware Abstraction Layer in Java
ACM Transactions on Embedded Computing Systems (TECS)
Memory management for safety-critical Java
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Exploiting static application knowledge in a Java compiler for embedded systems: a case study
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Java dust: how small can embedded Java be?
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Safety-critical Java on a Java processor
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
A desktop 3D printer in safety-critical 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
A test suite for safety-critical Java using JML
Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded Systems
Hi-index | 0.00 |
We 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 (HVM), with a bare metal kernel implementing hardware objects, first level interrupt handlers, and native variables, and an infrastructure written in Java which is minimized through program specialization. The HVM allows the implementation to be easily ported to embedded platforms which have a C compiler as part of the development environment; the bare metal approach eliminates the need for a resource consuming operating system or C-library; the program specialization means that the infrastructure for the SCJ profile is optimized for a particular application keeping only the code and data the application needs. The SCJ implementation is evaluated with a known benchmark and shown to reduce this to a size where it can execute on a minimal configuration.