RISE-DYNACOMP subproject

Dynamic Software Updating and Run-time Composition

Subproject members

Peter Fritzson, subproject leader
Jens Gustavsson, PhD student

Subproject description

Traditionally, a new version of a program is introduced by shutting down the executing version and then starting the new one. This approach is not viable for systems where very high availability is required, such as telephone switching systems. Dynamic updating, i.e. updating programs without shutting them down, has been a research area for several decades but none of the presented updating systems has proven to be practical enough for widespread use.
In this subproject we investigate methods for dynamic updating of software components and their relationship to aspect-oriented development. As a research testbed, we use JDrums (Java Distributed Run-time Updating Management System), a prototype of an updating system for Java programs. The goal of our work is to show how a useful object-oriented dynamic updating system can be built, and to evaluate the approach.
This will result in a new tool, called JPatch.

Subproject results

We joined the RISE project in July 2004. At this time, we could use the JDrums prototype system as a research platform. JDrums was developed in a previous joint development effort by Linköping University and Växjö university.
Our main research activity since then was to evaluate and improve the approach: Even though JDrums is quite powerful, it has some shortcomings, e.g. some complex restructurings of the program are impossible and classes with methods that are always on the call stack of some thread cannot be updated.
We proposed solutions for these shortcomings, and implemented a new version of JDrums called JPatch.
We also demonstrated how runtime evolution of software can be treated as an aspect.

Subproject status

The subproject has achieved its goals and is being finished in summer 2005. A PhD thesis on this topic is being written by Jens Gustavsson in spring/summer 2005.

Publications

Software

Acknowledgment

This subproject is part of the RISE project at PELAB, IDA, Linköpings universitet, from July 2004 to June 2005 and thereby supported by SSF.




Peter Fritzson (petfr \at ida.liu.se)