DARPA wants to make software obsolescence obsolete

DARPA wants to make software o...
Artist’s concept of software system components dynamically adapting to resource changes within an operational IT ecosystem (Image: DARPA)
Artist’s concept of software system components dynamically adapting to resource changes within an operational IT ecosystem (Image: DARPA)
View 1 Image
Artist’s concept of software system components dynamically adapting to resource changes within an operational IT ecosystem (Image: DARPA)
Artist’s concept of software system components dynamically adapting to resource changes within an operational IT ecosystem (Image: DARPA)

One unfortunate fact of modern life is that functional new software becomes non-functional old software with depressing regularity. For most people, this means predictable episodes of frustration, but for the US military, it's a more serious problem. DARPA's new Building Resource Adaptive Software Systems (BRASS) project aims to take a major shot at avoiding this obsolescence by developing software systems that can still operate properly a hundred years from now.

As systems become more complex, the problems of compatibility and obsolescence become more important. Perfectly good devices may be unusable, vital data may be inaccessible, and communications may be impossible. A simple example of this is the BBC Domesday Project of the 1980s, which digitized the famous 11th century Norman census of England's assets. The project was successful, but the LaserVision discs that the data was stored on were almost forgotten until 2002 when it was realized that their formatting was obsolete and would soon be impossible to access, resulting in a major preservation effort.

For the US military, the problem is more than just frustration; it can have an impact on national security. Even when updates are available, installing and configuring them is costly both in terms of money and time as the problems of backwards compatibility and degraded interoperability in military systems becomes more apparent.

BRASS is a four-year research project that looks at the computational and algorithmic requirements needed to build software systems that can remain functional for over a century. The idea is to produce systems that can actively adapt to changes in the computer environment. According to DARPA, this will require going back to a very basic level, developing new linguistic abstractions, and creating resource-aware program analysis aimed at monitoring changes in computer environments and making the software react accordingly.

Currently, applications work on a software stack made of many layers of abstractions. Getting to through these layers means using different program interfaces. Unfortunately, these interfaces are often informally and incompletely documented inside the interface software itself – if at all. This makes understanding the system extremely painstaking and difficult, it not almost impossible at times. In addition, this makes keeping applications working properly over time without automatic updates difficult, costly, and leads to premature obsolescence.

BRASS is based on a "clean-slate approach" to software design, composition, and adaptation. This will involve developing new software specifications, program analysis, and finding methods to determine how computations and computer resources interact, and finding algorithms to allow software to adapt itself to changes without the heavy need for a programmer. The hope is that this will lead to a new family of programs that are highly functional, but is very adaptable for change at low cost.

"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," says 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."

Source: DARPA

Doomsday here we come ! Imagine if the software program its self wrong and attacks as .
Monster job. They should eradicate the operating system first, then get rid of all compilers: from that point, you've got at least some fighting chance of getting this to work. If everything was "perl" for example, it can read and run and interpret itself, and already includes all doc: removing O/S and compilers means *nothing* is unavailable to the core system, and from there, you can work on how to help it adapt to change.
All the code I wrote in the '90s is obsolete and the CD's no longer work. I'm disinclined to do it again because it'll just be the same thing again in 10 yrs. Darpa has done some great and socially worthwhile stuff (besides inventing new ways to kill people) If they pull this off it'll be one of the best.
This seems more like a hardware issue. Emulators exist and many of them work poorly. I know DARPA is all about pushing the envelope, but this seems legitimately impossible.
Ken Brody
Good luck on this project. Might as well start by defining the semantic basis of all language and the native interpreter of the human brain. Even that meatware can't do what DARPA wants to do.
I think the planned obsolescence in one of the major operating systems available has been what has caused a lot of problems to begin with. Another thing is people being willing to pay for a new OS when simultaneously upon its release the company is already selling bug fixes for it.
I hope they can pull this off, but its likely pie in the sky hopes. There is just too much money to be made by not allowing such a thing to happen. And as we all know, despite our desires as scientists, it is the almighty dollar (and politics) that wins and keeps us from our full potential (and has for years).
This is promising and, if it can be ported over to PC world, it is going to make some CEOs very unhappy, and some users very pleased.
I am pretty sure this is what an operating system's job is.
Douglas E Knapp
LOL, In many ways this already exists as open source programming.
Sabayon KDE is most of the way there now. We need to look at why things are so obtuse and this is clearly because companies do not want to share their programming techniques and data formats or even their hardware specs. I have a very good scanner sitting next to me that can't be used because no one knows what the specs are and the company will not give it out even though the thing is over 15 years old. This is typical.
Open source sidesteps all of these problems. Data formats are open as is the source code and so it is easy to see why and how a program and its data works. It does not go obsolete because it is always updated and the old source is fully known and documented. Some open source data formats are self documenting too.
If they really want this to change then they need to force firms to give out their designs in full.
Randolph Garrison
The making of a system that never goes obsolete is like Admiral Rickover telling the mechanical engineers that the pumps for his reactors would have a ZERO leak rate. The engineers told him it could not be done. He finally settled on 1 drop in 10 years. They told him that could be done!
A system to remain usable it will require the ability to be physically updated along with the improvements to software, ability to fend off attacks (as the computer in person of interest).
A well guarded and maintained system with these properties could be built. The security is another question!