The Pi-Lambda Seminar

at the Department of Computer Science, Faculty of Science, University of Aarhus

This is the homepage of the Pi-Lambda Seminar, the regular meetings of the Programming Languages and Formal Models group at BRICS, Department of Computer Science, University of Aarhus, Denmark.

Current Talks

Talk #66

Title: Towards programming Safety Critical Systems in Java
Speaker: Bent Thomsen (Department of Computer Science, Aalborg University)
Time and place: Friday, November 9, 2007 at 11:15 in Turing-014
Host: Anders Møller


Java and Real-time programming is by many considered as an oxymoron. However, Java was originally developed as a programming language for embedded systems, but it was the Internet that propelled Java into mainstream computing, because there was a need for a language that was portable and truly object-oriented, eliminating the error-prone programming of memory allocation and pointer manipulation. Unfortunately, precisely those features made it less suited for predictable, real-time embedded systems. Especially the virtual machine, that gave portability, was considered inefficient. However, with recent advances in JVM implementations, especially the emergence hardware JVMs such as the aJ-100 and JOP, it is now possible to write real-time applications in Java that executes as efficiently as their non-Java alternatives.

In this talk I will give an overview of research activities at CISS (Center for Indlejrede Software Systemer) concerned with programming Safety Critical Systems in Java. I will in particular go into details about a new, minimal specification for real-time Java for safety critical applications. The intention is to provide a profile that supports programming of applications that can be validated against safety critical standards such as DO-178B. The proposed profile is in line with the Java specification request JSR-302: Safety Critical Java Technology, which is still under discussion. In contrast to the current direction of the expert group for the JSR-302 we do not subset the rather complex Real-Time Specification for Java (RTSJ). Nevertheless, our profile can be implemented on top of an RTSJ compliant JVM and has indeed been on both the aJ-100 processor and JOP. One aim with this profile is that it should be relatively easy for Java midlet/J2ME programmers to move into programming Safety Critical Systems in Java.

Joint work with:

  • Martin Schoeberl (Institute of Computer Engineering, Vienna University of Technology, Austria)
  • Hans Søndergaard (Vitus Bering Denmark University College)
  • Stephan Korsholm (KIRK telecom and CISS)
  • Anders P. Ravn and Lone Leth Thomsen (Department of Computer Science, Aalborg University)