For an important class of safety- and mission-critical software systems, such as air traffic control, telephone switching, and high availability public information systems, shutting down and restarting the system for upgrades incurs unacceptable delays, increased cost, and risk. Support for runtime modification is a key aspect of these systems. Dynamic software architectures represent one encouraging approach to mitigating these difficulties.

These pages attempt to organize and coalesce the on-going work in the field of dynamic software architectures. Additions, errors, comments, etc. should be directed to peymano at ics.uci.edu.

This page hasn't been updated in since 2000 and a lot has happened since. For a broad overview of the area, see these two papers from 2008 and 2009:

Peyman Oreizy, Nenad Medvidovic, Richard N. Taylor. "Runtime software adaptation: framework, approaches, and styles". In Companion of the 30th international Conference on Software Engineering (Leipzig, Germany, May 10 - 18, 2008). ICSE Companion '08. ACM, New York, NY, 899-910. ACM DOI.
Paper in PDF
Presentation in PDF
Richard N. Taylor, Nenad Medvidovic, Peyman Oreizy. "Architectural Styles for Runtime Software Adaptation", Joint Working IEEE/IFIP Conference on Software Architecture 2009 & European Conference on Software Architecture 2009.
Paper in PDF
  • Austin EDCS Panel Session
    Slides from the recent EDCS panel session on dynamic architectures and dynamic languages.
  • Open Issues
    A set of open issues in dynamic software architecture research (some of which were identified by the panelists at the Austin meeting).
  • Research Projects
    Links to research projects around the world working on various aspects of dynamic architectures.
  • Conferences
    Conferences, journals, symposia, and workshops related to dynamic software architectures and systems.
  • Bibliography
    Links to papers about dynamic architectures and systems.
  • Alternatives to Dynamic Architectures
    Links to many alternative approaches to building runtime evolvable systems.
  • Modeling Dynamic Architectures
    Languages and notations for describing dynamically evolving software architectures.
  • Specifying Change
    Architecture modification languages for specifying runtime architectural changes.
  • Governing Change
    Approaches for restricting runtime changes in order to maintain system integrity or preserve adherence to system requirements.
  • Runtime Support
    Tools that facilitate the construction of runtime evolvable software using dynamic architectures.

These pages are maintained by Peyman Oreizy. Send comments via e-mail.