Continuous Self Maintenance:
The DRSS Project

Funded by Microsoft Research
Principal Investigator Anish Arora
Other Team Members Jason Hallstrom
Mariana Barca
William Leal

Project Description

The demand for highly available software systems has increased dramatically over the past several years. Such systems must be developed using a discipline that supports unanticipated runtime evolution. The Dynamic Reconfiguration Subsystem (DRSS) is an interceptor-based open container architecture that supports the development of highly available systems by enabling the scalable, dynamic deployment of cross-cutting software modifications. We have implemented DRSS using Microsoft’s .NET Framework.

This project is ongoing joint work with MSR's Marvin Theimer. Click here to read more.


T. Donley. MDMC - Metadetectors / metacorrectors: A framework for the run-time installation and maintenance of tolerance components. Masters Thesis. Computer Information Science, The Ohio State University. 2003.

Jason Hallstrom, William Leal, and Anish Arora. Scalable evolution of highly available systems. IEICE/IEEE Joint Special Issue on Assurance Systems and Networks E86-B(10). pp. 2154-2166. 2003.
    [abstract] [pdf] [bibtex entry]

Jason Hallstrom, Nigamanth Sridhar, Paul Sivilotti, Anish Arora, and William Leal. A container-based approach to object-oriented product lines. Journal of Object Technology 3(4), 2004.
    [abstract] [pdf] [bibtex entry]


J. Hallstrom, M. Barca, William Leal and Anish Arora. Dynamic Evolution of .NET Systems. 2003 MSR Faculty Summit.
Posters used at presentation (about 1.5 mb each, jpg format)
    [poster1] [poster2]

Interceptor Framework (Dynamic Reconfiguration Subsystem: DRSS)

Interceptor Library

These are general-purpose interceptors that can be incorporated in systems as needed.

MetaDetector / MetaCorrector Framework (MDMC)

This is a framework developed as part of a Masters thesis by Ted Donley. It allows the user to define detectors over the configuration of a system, adding in correctors as necessary. The demo exhibits a case where a server must be accessed exclusively. When there is at most one client, no special mechanism is necessary. When there are multiple clients, mutual exclusion is necessary. Using MDMC, the framework detects when a second client has been added to the system, and adds interceptors to enforce mutual exclusion. When the number of clients reduces to just one, the interceptors are removed to improve efficiency. See Donley's thesis for more information.



Related Links