Breadcrumb

  1. Home
  2. Research
  3. Programs
  4. IDAS: Intent-Defined Adaptive Software

IDAS: Intent-Defined Adaptive Software

 

Program Summary

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:

  • Capturing, learning, or annotating software intent and constraints separate from the concrete decisions required to create a specific instance of software
  • Using captured intent to drastically reduce the human-in-the-loop effort needed to adapt software to new requirements, platforms, and resources
  • Verifying that the newly-adapted software provides the functional needs of the customer/end user and that the instance does not violate any requirements
  • Integrating a new intent-defined software development paradigm into existing Agile workflows to enable adoption and transition into the greater programmer community

IDAS Proposers Day: Program Overview (Video)

IDAS Proposers Day: CMO (Video)

IDAS Proposers Day: Q & A (Video)

IDAS Proposers Day: Feasibility Study (Video)

 

Contact