Hardware Java-specific processors have been shown to provide the performance benefits over their software counterparts that make Java a feasible environment for executing even the most computationally expensive systems. In most cases, the core of these processors is a simple stack machine on which stack operations and logic and arithmetic operations are carried out. More complex bytecodes are implemented either in microcode through a sequence of stack and memory operations or in Java and therefore through a set of bytecodes. This paper investigates the state-of-the-art in Java processors and identifies two areas of improvement for specialising these processors for real-time applications. This is achieved through a combination of the implementation of real-time Java components in hardware and by using application-specific characteristics expressed at the Java level to drive a co-design strategy. An implementation of these propositions will provide a flexible Ravenscar-compliant virtual machine that provides better performance while still guaranteeing real-time requirements.

BibTex Entry

@inproceedings{Borg2005,
 address = {Miami, FL, USA},
 author = {Andrew Borg and Neil Audsley and Andy Wellings},
 booktitle = {Proceedings of the ERTSI 2005 - Embedded Real-Time Systems Implementation Workshop, held in conjunction with 26th IEEE International Real-Time Systems},
 month = {December},
 number = {YCS-2005-397},
 pages = {26--33},
 series = {Appears as a University of York Technical Report},
 title = {Real-time Java for Embedded Devices: The JAVAMEN Project},
 year = {2005}
}