As modern software systems continue inexorably to increase in complexity and capability, users have become accustomed to periodic cycles of updating and upgrading to avoid obsolescence—if at some cost in terms of frustration. In the case of the U.S. military, having access to well-functioning software systems and underlying content is critical to national security, but updates are no less problematic than among civilian users and often demand considerable time and expense.
Modern-day software operates within a complex ecosystem of libraries, models, protocols and devices. Ecosystems change over time in response to new technologies or paradigms, as a consequence of repairing discovered vulnerabilities (security, logical, or performance-related), or because of varying resource availability and reconfiguration of the underlying execution platform. When these changes occur, applications may no longer work as expected because their assumptions on how the ecosystem should behave may have been inadvertently violated.
DARPA initiated the Building Resource Adaptive Software Systems (BRASS) program in 2015, seeking to realize and implement long-lived software systems that are capable of dynamically adapting to changes in the resources they depend on and environments in which they operate. This could make them essentially “immortal” since the software will continue to work without updates, software hacks or emulation as new digital platforms are released.
Ensuring applications can seamlessly continue to operate correctly and usefully in the face of such changes is a formidable challenge. Failure to effectively and timely adapt to ecosystem evolution can result in technically inferior and potentially vulnerable systems, but the lack of automated mechanisms to restructure and transform applications when changes do occur leads to high software maintenance costs and premature obsolescence of otherwise functionally sound systems and complicates the construction of autonomous mission-critical programs. Neither of these outcomes is desirable and poses significant risk to economic productivity and cyber resilience.
“Technology inevitably evolves, but very often corresponding changes in libraries, data formats, protocols, input characteristics and models of components in a software ecosystem undermine the behavior of applications,” said Suresh Jagannathan, DARPA program manager. “The inability to seamlessly adapt to new operating conditions undermines productivity, hampers the development of cyber-secure infrastructure and raises the long-term risk that access to important digital content will be lost as the software that generates and interprets content becomes outdated.”
“It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change,”said Charles Darwin. DARPA wants to build software for adaptive systems under BRASS.
DARPA’s BRASS program
In the past thirty years the total life-cycle cost of software relative to computer hardware has risen dramatically. In addition, software maintenance costs are now equal to, or exceed, the cost of software development. Software maintenance is a part of Software Development Life Cycle. Its main purpose is to modify and update software application after delivery to correct faults and to improve performance.
Software maintenance is a vast activity which includes optimization, error correction, deletion of discarded features and enhancement of existing features.As a result of these trends, software maintenance is now a significant portion of the total computer system life-cycle cost.Typically, maintenance takes up about 40-80% of the project cost, usually closer to the higher pole.Those software updates are no less annoying for the military, whose software systems and underlying content is often critical to national security.
It’s for that reason that DARPA is launching a four-year research project to investigate the requirements necessary for software systems and data to remain robust and functional in excess of 100 years. The BRASS program seeks to lengthen the shelf life of military software systems, which military leaders find to be unacceptably short. The reasons for short software life cycles often involve informally documented application programming interfaces (APIs), idiosyncratic foreign function interfaces, complex ill-understood model definitions, or ad-hoc data formats, DARPA researchers say. These mechanisms usually provide only a partial and incomplete understanding of the semantics of software components, which can permeate software system designs and leave them vulnerable to changes in application clients, libraries, middleware, managed services, protocols, models, and drivers that must interact with the outside world with complex browsers, databases, and storage systems.
Current applications execute on a software stack comprising many different layers of abstraction, providing various services and structures. Access to these layers is mediated through different kinds of interfaces, all typically specified as secondary documentation supplied along with the application program interface. Because this documentation is typically defined informally, it provides only a partial, incomplete understanding of the system as a whole and requires substantial manual effort and reasoning.
“Ensuring applications continue to function correctly and efficiently in the face of a changing operational environment is a formidable challenge,” said Jagannathan. “Failure to respond to these changes can result in technically inferior and potentially vulnerable systems. Equally concerning, the lack of automated upgrade mechanisms to restructure and transform applications leads to high software maintenance costs and premature obsolescence of otherwise functionally sound software.”
The premise on which BRASS operates is that an entirely new clean-slate approach to software design, composition and adaptation is required. This approach aims to enable the expression and discovery of new kinds of specifications, program analyses and formal methods that precisely capture the relationship between computations and the resources they use, and algorithmic transformations that enable applications to adapt to changes without the need for extensive programmer involvement.
Precisely understanding application intent, a characterization of an application that extends beyond just its functional specification, but additionally subsumes various intensional and algorithmic characteristics such as the shape and structure of its inputs, notions of performance and efficiency, reliability, fault-tolerance, choice of data representations and schemas, cost models, security policies, etc., is fundamental to addressing this challenge.
DARPA is soliciting innovative research proposals in the areas of formal methods, program analysis, compiler design, and runtime and virtual machine implementation to realize tools for the construction of long-lived, survivable, and scalable adaptive software systems. These advances will necessitate integration of new resource-aware program abstractions and analyses, in addition to novel compiler and systems designs to trigger adaptive transformations and validate their effectiveness.
Successfully adapting applications to an evolving ecosystem requires mechanisms to infer the impact of such evolution on application behavior and performance, automatically trigger transformations that beneficially exploit these changes and provide validation that these transformations are correct. To do so requires the ability to: (a) extract whole-system specifications over the entire software stack that can be used to define application-centric descriptions of the resources provided by the ecosystem; (b) leverage new programming abstractions, program analyses, and compilation methodologies to correlate application behavior with salient ecosystem changes; (c) develop semantics-preserving program transformations designed with adaptation in mind; and (d) exploit new runtime systems and virtual machine implementations structured to facilitate the efficient integration of these transformations.
DARPA scientists wold like to integrate new linguistic abstractions, scalable and compositional formal methods, and resource-aware program analyses to discover and specify the application intent of the original software programmers.
DARPA also is interested in program transformations triggered to adapt applications to resource changes, as well as new systems designs to monitor software ecosystem behavior. BRASS seeks new approaches to enable automated discovery of relationships between computations and the resources they use, along with techniques to incorporate algorithms built in response to ecosystem changes.
The BRASS program has four technical areas: platform, analytics, discovery, and evaluator, and will be divided into three 16-month phases. The program will involve language definition and semantics, program analysis, compiler design, machine learning, artificial intelligence planning, autonomy, control theory, runtime and operating system design, and many application domains.
The platform technical area seeks to explore adaptive and transformation analysis techniques. Analytics involves monitoring system behavior for logical or physical changes to the underlying system. Discovery will specify program properties that identify potential program dependencies on ecosystem changes. DARPA will handle evaluator tasks.
Southwest Research Institute is developing software application techniques to improve the agility and cost-effectiveness of flight tests used to qualify military and civilian aircraft. Funded by the Defense Advanced Research Projects Agency and the Air Force Research Laboratory, the one-year, $791,000 project supports DARPA’s efforts to enable military software to adapt to technology changes and security updates over several decades. SwRI will incorporate DARPA’s Building Resource Adaptive Software Systems into a universal computer language for flight test vendors.
“Real-time adaptability is a major challenge for military and commercial flight testing,” said Austin Whittington, the program’s principal investigator and an SwRI flight test researcher. “We see a great opportunity with DARPA’s BRASS technology to help expedite industry and military adoption of interoperability standards and adaptation techniques.”
Required for aircraft development and maintenance, flight tests use instruments and networks to prove aircraft are ready for service. Testing programs use different instrument vendors to test for hundreds of potential problems. Each test instrument typically uses proprietary software with custom “flight test constraints” that define the instrument’s capabilities that can be used for problems or situations an aircraft may encounter.
To overcome these issues, SwRI will use DARPA’s BRASS technology to augment the capabilities of a common flight test constraints implementation that SwRI has been developing through the DoD’s Integrated Network-Enhanced Telemetry program, or iNET.
DARPA expands SwRI’s flight test interoperability contract to include ground vehicles
Southwest Research Institute is helping the Defense Advanced Research Projects Agency (DARPA) improve the interoperability of electronics in flight test and ground vehicles.
Through a new 13-month contract valued at $1.5 million, SwRI will apply its constraints technology developed in flight test research to standardize software systems used in U.S. Army ground vehicles. The contract expands on a one-year project where SwRI used DARPA’s Building Resource Adaptive Software Systems (BRASS) technology to augment the capabilities of a common flight test constraints implementation that SwRI has been developing through the U.S. Department of Defense’s Integrated Network-Enhanced Telemetry program, or iNET.
The U.S. military faces many challenges in making hardware and software interoperable and long-lasting in aircraft and ground vehicles. SwRI’s DARPA contract will create opportunities to connect interoperability initiatives across the DOD. “We hope to help the military improve efficiency and adoption of new technologies for decades to come using DARPA to apply DOD flight test technologies into Army ground vehicles,” said Austin Whittington, SwRI’s principal investigator for the project.
DARPA’s BRASS program is designed to make software last a century through standardization and adaptation to changes in technology. The Army is addressing interoperability concerns in ground vehicles through the VICTORY program. VICTORY is short for Vehicular Integration for C4ISR/EW Interoperability. Separately, the DOD is standardizing flight test instrumentation interoperability through iNET.
The Army created the VICTORY initiative to help correct problems created by the “bolt on” approach for integrating Army ground vehicle electronics. VICTORY is necessary to minimize the amount of redundant hardware associated with current capabilities and to reduce the cycle time and cost necessary to develop, integrate, test, maintain and upgrade vehicles throughout their lifecycles. “SwRI’s C4ISR/EW standardization and interoperability work provides our team with a unique position to help the military standardize hardware and software platforms using DARPA’s BRASS framework,” added Travis Thompson, SwRI’s principal investigator on the VICTORY program.
Under a previous $791,000 contract, SwRI explored DARPA BRASS to help adapt for complex flight test environments using a universal flight test Metadata Description Language (MDL) in military and civilian aircraft. The new contract will continue the flight test research. It will also expand the project scope by researching the constraints technologies as a method of identifying problems and scenarios in ground vehicle missions then modeling solutions to them with software.
Rice Center researches Adaptive Software for drone system
Work done at the center, in collaboration with partner institutions, has potential applications for -and is supported by- a Defense Advanced Research Projects Agency ( DARPA ) initiative under the Building Resource Adaptive Software Systems program. Projects under the BRASS program are tasked with the ambitious goal of spurring advances that will allow software to remain robust and functional for more than 100 years.
As one example, the Proteus project – a joint venture between researchers at Rice MIT, UT Austin and the University of Chicago — may seem far-fetched in an age when computer hardware and software typically becomes obsolete or incompatible within a few years, but Palem said improving software adaptability by dynamically trading cost for quality has the potential to enable new generations of quasi-autonomous computing systems.
“The Proteus platform will be developed and tested on a drone system,” Palem said. “One scenario that is directly relevant to Proteus’s mission is ensuring that such vehicles continue flying and meet mission objectives even if critical components like batteries or sensors fail or get destroyed in mid-flight.”
“Importantly, the same techniques that allow a system to adapt to this type of short-term challenge could also help software adapt when components are upgraded or changed over the long term,” said Robert “Corky” Cartwright, a computer science professor at Rice and one of the researchers in the new center. “Upgrading system components today typically requires re-written code, either in the form of a software patch or an entirely new version of an application. That level of change is both expensive and time-consuming. If we can develop new techniques to avoid that, the implications will be far-reaching.”
Palem said RUCCAM research began with a close focus on embedded computing. Embedded computers are special-purpose systems that are inside thousands of consumer and industrial products, including everything from modems, toys and toasters to automobiles, satellites and jet fighters.
“The Proteus project will require coordinated efforts by researchers from each member institution,” said Palem. “For example, the centerpiece of the project will be a piece of software that is enriched by machine learning and control theory to yield information derived from embedded sensors.”
He said the software discovery and analytics components in Proteus will be supported by FAST, a type-safe extension of a mainstream programming language that captures user intent and defines the adaptive behaviors the drone might use.
Franchetti and researchers awarded DARPA brass project
Electrical and Computer Engineering Department (ECE) professors Franz Franchetti, James Hoe, and José Moura, along with Tze Meng Low, an ECE systems scientist, have been awarded a project in DARPA’s Building Resource Adaptive Software Systems (BRASS) program.
The goal of the BRASS program is to realize foundational advances in the design and implementation of long-lived, survivable and complex software systems that are robust to changes in the physical and logical resources provided by their ecosystem. These advances will necessitate integration of new resource-aware program abstractions and analyses, in addition to novel compiler and systems designs to trigger adaptive transformations and validate their effectiveness.
Their approach centers on the ideas that future-proof code requires a layered specification of semantics, quality/parameter relationships, performance/quality/resource trade-offs, quality measures and fault tolerance, and a powerful code synthesis engine that turns this specification into reconfigurable, extensible high performance implementations specialized to their execution environment. It is based on the SPIRAL code generation and autotuning system and philosophy.
We target a DARPA relevant class of problems that is captured through regular computation over multi-dimensional data. Important signal and image processing operations like synthetic aperture radar (SAR), and space-time adaptive processing (STAP) for target detection fall into this class and run on DARPA relevant high performance embedded computing (HPEC) platforms.
For these problems, we propose a layered approach to specifying 1) the desired operation, 2) the paradigm (environment) in which the operation is computed, and 3) the specific details of the paradigm i.e. the ISA, cache sizes, and the type of multi-threading available. These three layers map to changes required in the operation, algorithms, and implementations respectively. An implication of separating the specification into these three distinct but inter-related layers is that there is a natural separation of concerns, allowing the same specification to handle different changes to the environment. For example, when porting the operation to an architecture with a different ISA, this only affects the regions of the code touched by the platform specification, whereas changing from a sequential to multicore environment requires changes to the choice of algorithm.
DARPA awards CHARLES RIVER ANALYTICS to build adaptive software for unmanned underwater vehicle (UUVs) platforms
BRASS aims to build adaptable software systems that are robust to changes in their ecosystems. These systems may someday be able to adapt to changes in the technological environment rather than require the many hours currently needed to adapt software when hardware, resources, or external devices change.
As part of BRASS, Charles River Analytics will develop Probabilistic Representation of Intent Commitments to Ensure Software Survival, known as PRINCESS. The four-year contract is valued at over $8 million.
PRINCESS will incorporate new advances in machine learning and probabilistic modeling to address the challenge of building adaptable software systems so they may understand, learn, and adapt to changes. Charles River will ground its research and development in unmanned underwater vehicle (UUVs) platforms, which must quickly and easily adapt to new missions, computational capabilities, hardware, operating environments, and missions.
“We are trying to adapt software used to operate autonomous vehicles,” said Dr. Avi Pfeffer, Principal Scientist at Charles River and principal investigator for the PRINCESS effort. “These vehicles need to operate autonomously in dynamic environments, which requires the ability to quickly adapt to changes in the environment. Since they interact with different devices and computation architecture, they need to adjust over a long lifecycle. We envision the software being able to adapt in real time as it is operating autonomously in response to changes in its environment, such as the loss of a sensor. We also envision the software being able make significant adaptations while docked, such as incorporating a new kind of sensor with new capabilities and a different data format.”
Raytheon working with DARPA on BRASS program
Raytheon was announced as leading the team developing the methods and technology that will allow for this future software to operate.
“Mobile apps are pervasive in the military, but frequent operating system upgrades, new devices and changing missions and environments require manual software engineering that is expensive and causes unacceptable delays,” said Partha Pal, principal scientist at Raytheon BBN.
“We are developing techniques to eliminate these interruptions by identifying the way these changes affect application functionality and modifying the software.” he added.