Rewriting how complex software evolves
Vanderbilt computer engineers are leading a nearly $9 million project to fundamentally change how complex software systems such as those used in airplanes, logistics, satellites, nuclear power plants and other critical infrastructure evolve.
They want to develop technologies that capture the intentions of software engineers and enable rapid code generation that supports continual adaptation and evolution of software-enabled systems.
“You can’t throw them out and start from scratch,” said Gabor Karsai, professor of computer engineering, computer science and electrical engineering, who leads the effort. “You may have new requirements and new features or new hardware and network platforms, but you don’t want to mess up what you already have.”
The $8.8 million project is one of four funded by DARPA and the Air Force Research Laboratory. The main idea is that changes in the requirements will result in the developer making changes in the models that will result in changes in the generated artifacts, or changes in the target system, Karsai said. And these derived changes should take place with minimal human involvement.
“We consider software development as a continuous process, where the software is undergoing sustained change, improvement and extension,” Karsai said. “Our goal is to build the tools to support this.”
Working with Vanderbilt on the four-year project is the Kestrel Institute, a nonprofit computer science research center located in Palo Alto’s Stanford Research Park. The proposed new framework—Model-based Intent-Driven Adaptive Software—requires more intense work at the outset, including mathematical verification and validation, which has been at the end of the process.