Dynamic Architecture

Contact Information

Professor Richard N. Taylor
Professor David F. Redmiles
Professor David S. Rosenblum


Department of Information and Computer Science

University of California, Irvine
Irvine, CA 92697-3425, USA.

E-mail: arch@ics.uci.edu

Current software architecture research assumes that a system's architecture is static, in the sense that the architecture does not evolve during execution. Our research focuses on supporting dynamic architectures, in which the architecture can evolve during execution for two reasons. First, the architectures of many existing systems change during execution, and are poorly modeled using existing techniques. Examples include systems built using OLE, OpenDOC, or CORBA, in which new components may be loaded and unloaded during execution. Second, many systems would benefit from the dynamism afforded by a dynamic architecture. Examples include systems characterized as long running and mission critical since the delays and risks associated with shuting down these systems for upgrades may be expensive.

ArchShell

To experiment with dynamic architectures, we have built a prototype tool, called ArchShell, that supports the construction and runtime modification of software architectures in the C2-style.

Similarly to the way a UNIX command shell (e.g., csh) constructs pipe and filter style architectures, ArchShell constructs C2-style architectures. However, unlike a UNIX shell, ArchShell also supports the modification of the architecture during runtime.

For example, the UNIX csh shell command "cat file | sort | a2ps | lpr" may be thought of as constructing and executing a software architecture consisting of 4 UNIX filters communicating using 3 UNIX pipes. ArchShell allows architectures to be constructed, executed, and modified interactively. Click here for an example session with ArchShell.

Demos and Available Software

  • A new version of ArchShell will become available when the ArchStudio2.1environment is released. (Currently in the ArchStudio2.0 demo release, ArchShell does not run in the command line mode of its predecessor below. The tool is called via the ArchStudio editor in the demo.)
  • A command-line version of ArchShell (which requires the Java class framework for C2) is available for download.

Publications

There are a number papers we have published on the topic of Dynamic Architectures. Please follow this Link to a selection of paers which you can download.

Dynamic Architecture Resources

We have collected small website of Dynamic Architecture resources as a reference for those interested in the topics and groups actively engaging in research in this area. We feel that we can present the most pertient issues in the field along with the most active research topics which will benefit anyone who is interested in Dynamic Architectures. Please follow this Link to this site.

Acknowledgement

This material is based upon work sponsored by the Air Force Materiel Command, Rome Laboratory, and the Defense Advanced Research Projects Agency under Contract Number F30602-94-C-0218. The content of the information does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.