RT-Java

The Programming Environments Laboratory (PELAB) at the Department of Computer and Information Science, Linköping University, is working on a programming environment for real-time Java. Currently most work is put into a Java-to-assembler compiler with back-ends for multiple platforms. The goal is a complete system for modeling, design, development, debugging, and maintenance.

Members

Past Members

The RT-Java compiler

A more detailed description can be found as chapter 5 of Tobias Ritzau's licentiate thesis. The current version of the compiler is developed within the JOSES project in cooperation with the University of Delft, the University of Karlsruhe, the University of Saarlandes, Ericsson, Philips and ACE. The current status (as in Mars 2000) is described in JoC - the JOSES compiler.

The Java-to-assembler compiler is built using several modules.

tea
A Java to Java-byte-code compiler.
jd
A Java-byte-code to BAR (see below) compiler.
barc
A BAR compiler. Which compiles Java to assembler
The tea and jd compilers are written in RML, which is a language based on natural semantics. RML is developed at PELAB.

The barc compiler is constructed using a compiler tool called CoSy. A CoSy compiler consists of modules. There are four kinds of modules: front-ends, optimizers, lowerers, and back-ends. Lowerers are modules which converts the internal representation into a simpler form to make back-ends simpler, e.g. to convert switch statements into if statements. All modules use a common intermediate form called CCMIR. We have back-ends for Sparc, Pentium, and SHARC. Back-ends for Trimedia is under development at PELAB, and a back-end for Java-byte-code is planned within a co-project.

Related Projects

RT-Java is used within the following projects.
JOSES
The project deals with problems of optimizing heterogeneous paralell real-time Java systems. The project is supported by the EU.
Distributed Control and Versioning using Web-technology
The project goals are to control and maintain real-time Java systems using Web-technology. The project is supported by the NUTEK.
JDRUMS
The Java Dynamic Run-time Update Management System (JDRUMS) projects is a joint project with Växjö University. The project deals with the problems of dynamic version control.

Publications

Andersson J., Comstedt M. and Ritzau T. "Run-time support for dynamic Java architectures" . The ECOOP'98 Workshop on Object-Oriented Software Architectures. Brussels, July 1998. Available as Technical report 13/98 University of Karlskrona/Ronneby.

Ritzau, T. "Real-Time Reference Counting for RT-Java" . Licentiate Thesis. In Linköping Studies in Science and Technology, No. 748, March 1999.

J. Andersson. "Towards Reactive Software Architectures" . Licentiate Thesis. In Linköping Studies in Science and Technology, No. 769, May 1999. Ritzau, T. "Real-Time Reference Counting - Automatic memory management with short and predictable interruptions" . SNART'99. Linköping 1999.

Ritzau T. et al. "Dynamic Deployment of Java Applications" . CCSSE'99, Norrköping, 1999.

Ritzau T. "Real-Time Reference Counting" . Java for Embedded Systems, London, May 2000.

Ritzau T. et al. "JoC - The Joses Compiler" . Java for Embedded Systems, London. May 2000.

Ritzau T. and Andersson J. "Dynamic Deployment of Java Applications" . Java for Embedded Systems, London, May 2000.

Andersson J. och Ritzau T. "Dynamic Code Update in JDrums" . The ICSE'00 Workshop on Software Engineering for Wearable and Pervasive Computing, Limerick 2000.

Future Work

Current work is aimed to develop the compiler and to handle dynamic updates of classes. Future work include:
Java is a trademark of Sun Microsystems.