|- Architecture-based Adaptation of Complex Systems|
To reduce the cost and improve the reliability of making changes to complex systems, we are developing new technology supporting automated, dynamic system adaptation via architectural models, explicit representation of user tasks, and performance-oriented run-time gauges. This technology is based on innovations in three critical areas:
1. Detection: the ability to determine dynamic (run-time) properties of complex, distributed systems.
2. Resolution: the ability to determine when observed system properties violate critical design assumptions.
3. Adaptation: the ability to automate system adaptation in response to violations of design assumptions.
These new capabilities will provide both (a) the ability to handle system changes with respect to the specific (performance-oriented) gauges supported by our technology, and (b) an extensible framework to handle additional gauges and system adaptation strategies produced by others. In aggregate, the capabilities will dramatically reduce the need for user intervention in adapting systems to achieve quality goals, improve the dependability of changes, and support a whole new breed of systems that can perform reliable self-modification in response to dynamic changes in environment.
We will demonstrate these improvements in the context of complex real time information systems supporting distributed collaboration and planning. Specifically, we will show how our technology enables automatic system adaptation in the presence of significant variations in processing and network capabilities, and for dynamically evolving workloads, while maintaining critical architectural constraints.