Funded by | Microsoft Research |
Principal Investigator | Anish Arora anish@cis.ohio-state.edu |
Other Team Members | Jason Hallstrom hallstro@cis.ohio-state.edu Mariana Barca barca@cis.ohio-state.edu William Leal leal@cis.ohio-state.edu |
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.
[pdf]
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.
[pdf]
Posters used at presentation (about 1.5 mb each, jpg format)
[poster1]
[poster2]
These are general-purpose interceptors that can be incorporated in systems as needed.
Call tracking interceptor (executable)
(source)
This interceptor maintains a log of calls. It can be used to help reconstruct
the execution sequence of a system.
Fault injection interceptors.
These interceptors inject faults into a system for testing purposes.
Message loss
This interceptor causes messages to be lost at a user-designated frequency.
Message argument corruption
This interceptor causes message arguments to be changed arbitrarily, according
to a user-designated frequency.
Message reorder
This interceptor reorders messages.
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.