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.