Managing complexity is a central problem in software engineering. A common approach to address this challenge is concretization, in which a software engineer makes decisions based on a set of apparently or almost equivalent options to enable the resulting code to compile. Concretization makes the process of software development more controllable, allowing the engineer to define and implement an architecture, divide the development tasks into manageable parts, establish conventions to enable their integration, and integrate them into a cohesive software system. This process occurs at design time, when information about possible future requirements may not be available to guide the selection of concrete values or types. As a result, a substantial fraction of these choices will be wrong at some point in the system’s lifecycle due to unanticipated requirements or changes in computing resources. Adapting to changes and/or upgrading systems to take advantage of modern security and computational resources often requires many hours of effort to either completely reengineer the software, or meticulously change and test interfaces across dozens or hundreds of dependencies.
The Intent-Defined Adaptive Software (IDAS) program seeks to develop technologies that capture the intentions of software engineers to support the continual adaptation of DoD software-enabled systems. The program seeks to develop new methods for representing the intent of software and its abstract constraints separately from its concrete instantiation by leveraging automated methods to adjust to a particular instance. Technologies developed on the IDAS program will enable rapid adaptation of software to changes in requirements and/or operating environments.
The key idea of IDAS is the separation of problem description (in terms of intentions and constraints) from any particular, concrete instantiation. This intent and constraint model must be semantically accessible to an IDAS toolchain, yet expressive enough to capture the relationships between the problem and the method by which generated software can solve and validate a solution. Through additional automation of specific implementation generation, the software sustainment effort required should be drastically reduced, freeing engineers to focus on the design of the software and adding new functionality.
Achieving the goals of IDAS will require research breakthroughs in:
IDAS Proposers Day: Program Overview (Video)
IDAS Proposers Day: CMO (Video)
IDAS Proposers Day: Q & A (Video)
IDAS Proposers Day: Feasibility Study (Video)
You are now leaving the DARPA.mil website that is under the control and
management of DARPA. The appearance of hyperlinks does not constitute
endorsement by DARPA of non-U.S. Government sites or the information,
products, or services contained therein. Although DARPA may or may not
use these sites as additional distribution channels for Department of
Defense information, it does not exercise editorial control over all of
the information that you may find at these locations. Such links are
provided consistent with the stated purpose of this website.
After reading this message, click to continue