|
Software Engineering Research Laboratory University of Colorado |
System configuration and reconfiguration occupy a central role with respect to interoperability. When misused or ignored they are often the source of failures of interoperability. Only recently, a $1.2 billion military space mission ended in disaster when the wrong software load was launched on a Centaur upper stage booster rocket carrying an $800 million communications satellite. On a smaller and perhaps more familiar level, the often-heard cry of "DLL Hell!" is raised when an installation of a new system modifies the existing installed base without suficient verification of consistency of the new installation with the old.
|
| Notional FIRM Architecture. |
FIRM provides a set of novel gauges capable of evaluating system configurations with respect to important interoperability properties. These gauges include those to measure the consistency and inconsistency of configurations, to measure the actual configurations adopted by systems, to measure properties across all possible configurations of a system, to measure redundancy and reuse properties of systems, and to predict the costs of moving from one configuration to another. Our gauge-based evaluations can be performed statically on the configuration specifications and on the deployed configurations. The evaluations can also be performed dynamically on executing (or, as we refer to them, activated) systems.
We also provide the necessary infrastructure to effectively deploy and use gauges, whether of our own design or of others. We provide the means to deploy, activate, and replace components, to apply gauges for coordination, to insert gauges into activated systems, and to capture, fuse, and disseminate the outputs of gauges. The integrated set of infrastructure capabilities that we provide are an essential contribution to the ultimate success of the DASADA program.
Our existing Software Dock, Ménage, and Siena research projects form the technical underpinnings for FIRM. The Software Dock is an agent-based, distributed infrastructure for describing, deploying, and activating components. Ménage is a representation of configurable architectures, extending traditional architecture description languages to address versioning, variability, and optionality in systems. Siena is a scalable event notification service used to capture, fuse, and disseminate information in a wide-area network. We will leverage our extensive experience with these technologies to create a comprehensive, integrated framework.
Co-PIs: Dennis Heimbigner, Kenneth Anderson, Andre van der Hoek.
|
Goal: Predict the cost of an adaptation reconfiguration to a
deployed system.
Method: Derive a change order (sequence of deployment operations); assign costs to each operation; compute total cost. Technical Basis: Detailed, automatically maintained models of a deployable system's component, dependency, and interconnection structure, including alternative configuration information.
|
|
Goal: Monitor dynamic property "shift points" and trigger
automatic reconfigurations to adapt to a new operating range.
Method: Map property value ranges to optimal configurations; monitor live data from a property gauge; reconfigure system into stability. Technical Basis: Adaptive control system model; publish/subscribe gauge communication infrastructure; agent-based deployment system.
|