BAA 98-12 PROPOSER INFORMATION PAMPHLET - Excerpt

 

 

Self Adaptive Software SOL BAA 98-12 DUE 1/27/98

Dr. Robert Laddaga, DARPA/ITO, FAX:  (703) 522-7161

 

Self Adaptive Software evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible.  Application domains of interest to the Department of Defense include automatic target recognition (particularly using optical or multi-spectral imaging), signal and image processing, and robotics (including image understanding and planning and scheduling).

 

We seek a new basis for making software adaptive, that doesn't require specific adaptive techniques, such as neural networks or genetic programming, but instead relies on software informed about its mission and about its construction and behavior.  This implies that the software has multiple ways of accomplishing its purpose, and has enough knowledge of its construction to make effective changes at runtime. Such software should include functionality for evaluating its behavior and performance, and the ability to replan and reconfigure its operations in order to improve its operation.  Self adaptive software should also include a set of components for each major function, along with descriptions of the components, so that components of systems can be selected and scheduled at runtime, in response to the evaluators.  It also requires the ability to impedance match input/output of sequenced components, and the ability to generate some of this code from specifications. In addition, we seek this new basis of adaptation to be applied at runtime, as opposed to development/design time, or as a maintenance activity.

 

Technical Topic Areas:

 

Research is solicited in the following technical topic areas:

 

1.    Evaluation of software functionality and performance at runtime

2.    Runtime configurable software component and system architectures

3.    Convincing application demonstrations

4.    Metrics and success criteria for self-adaptive software

5.    Other innovative approaches to adaptive software

 

 

1) Evaluation of software functionality and performance at runtime:

The key technology for self-adaptive software is the ability to evaluate functionality and performance.  Although in principle this can be accomplished by having programmers and system designers write additional code (over and above the code needed for straight functionality), we are looking for automated techniques.  Specifically, we are looking for approaches that stress automated generation of evaluators from specifications of program requirements and detailed design.  In addition, such evaluators must be capable of performance during program run-time, and without excessive consumption of system resources.  Of most interest are techniques for identifying when software and systems are not adequately functioning, for diagnosing problems and identifying solutions, and for continuous successful operation.  Also of interest are techniques for identifying opportunities for improved functionality or performance.

 

2) Runtime configurable software component and system architectures:

We seek research on architectures that support runtime management of components, including scheduling alternative components, and managing input/output data mismatches.  The runtime support is also responsible for exploiting opportunities identified by evaluators and replanning operations to restore/improve functionality or performance.  A useful framework for such an architecture is an agent-based architecture, although other possibilities exist.  However, generic research on agent architectures, or on other architectural regimes, is not the focus of this BAA and will only be considered in the context of runtime evaluation and runtime modification of behavior.  An additional responsibility of the runtime support is optimizing novel configurations, and potentially running a large number of alternative algorithms in handling each data item.  Control and pruning of resulting large state spaces will be of significant interest.  Approaches that leverage new hardware architectures under development within DARPA/ITO’s research programs on Adaptive Computing Systems (ACS), and Data Intensive (DI) computing are of special interest.

 

3) Convincing application demonstrations:

We seek convincing demonstrations of adaptability.  Such a demonstration should consist of solution of a problem in a specific domain area, where the new software organization enables a novel approach to the problem, rather than the solution resulting from advances in the specific domain.  Proposals in this technical topic area should focus on domain-specific aspects of the effort, and plan to utilize evaluator and runtime software to be developed within the first two technical topic areas. Application domains of particular interest to the Department of Defense include automatic target recognition (particularly using optical or multi-spectral imaging), signal and image processing, and robotics (including image understanding and planning and scheduling). Approaches that leverage new hardware architectures under development within DARPA/ITO’s ACS and DI research programs are of special interest.

 

4) Metrics and success criteria for self-adaptive software:

We seek novel methods of determining the effectiveness self-adaptive software, as well as new techniques for measuring degree of adaptiveness, degree of performance or functionality improvement, and degree of resistance to failure.  In addition, we seek improved understanding of the range of applications of self-adaptive software.

 

Additional Information

 

Research will be considered across a broad range of technologies, but proposals must target and quantify revolutionary advances in one or more critical parameters that directly impact system-level application robustness.   Such parameters include: runtime self-evaluation, runtime reconfiguration and optimization - via agent architecture or other reconfigurable architecture, or runtime code synthesis.

 

Team efforts are encouraged and proposers should be prepared to cooperate in order to achieve a common architecture and software base. Proposals should identify planned modification and use of existing technology, where applicable. Proposals may address one or more of the technical topic areas, however, proposals that address more than one area should be structured with separable options.

 

PROGRAM SCOPE:

 

Proposed research should investigate innovative approaches and techniques that lead to or enable revolutionary advances in the state-of-the-art. Research should result in prototype software demonstrating integrated concepts and approaches on Defense-relevant applications. Specifically excluded is research which primarily results in evolutionary improvement to the existing state of practice.  Integrated solution sets embodying significant technological advances are strongly encouraged over narrowly defined research endeavors. Partnering arrangements among academic, industrial, and non-profit research organizations are strongly encouraged.