Check out the new USENIX Web site. next up previous
Next: 15 Acknowledgements Up: JaRTS: A Portable Implementation Previous: 13 Conclusion


14 Future work

As mentioned JaRTS is a prototype implementation and of course there are open issues:
Memory Management:
Stack allocation has to be implemented.
Tooling:
A Java runtime environment can only be used in an efficient way if there are good development tools. A remote debugger, profiling tools an a simulator for the JaRTS runtime have to be developed.
Benchmarks:
A more sophisticated benchmarking suite has to be developed. One reason is to determine the performance and memory bottlenecks. The other reason are more convincing comparisons to other real-time Java solutions.
Optimization of the translation:
The Java to C translation has to be optimized in terms of performance and memory consumption.
Dynamic class loading:
Concepts for dynamic class loading (of Core classes) have to be investigated and implemented. Possible would be to compile loadable classes into loadable native libraries (for RTLinux this would be separate kernel modules, for other operating systems this would be shared libraries) or using the standard Java Bytcode (class files) and common techniques (interpreter, JIT compiler, compile at class-loading time). Compiling at class loading time using the existing compiler (JaRTS in combination with a C compiler) has very high memory and CPU requirements. The JIT solution needs much effort to port it to a new processor. So a feasable solution would be an interpreter or the precompiled loadable libraries.


next up previous
Next: 15 Acknowledgements Up: JaRTS: A Portable Implementation Previous: 13 Conclusion
Urs Gleim 2002-05-29