Systems like those in self-driving cars or traffic systems face the challenge of dynamically customizable software
The smartphones, laptops and tablets that have become indispensable to society all operate using highly-developed software systems. These programmed “rules of engagement” dictate a device’s effectiveness and functionality, and are evolved over time through software updates.
However, when it comes to systems such as self-driving cars, traffic systems or “fly-by-wire” airplanes, there’s a big challenge to extending this dynamic customization. Safety must be ensured during software updates; function and timing must be consistent.
The National Science Foundation recently awarded a team of engineers at Washington University in St. Louis a three-year, $501,797 grant to develop a unified framework for the design, verification and deployment of dynamically customizable safety-critical systems.
“We’re thinking about designing towards being able to meet a theoretical constraint,” said Christopher Gill, Professor of Computer Science and Engineering at the School of Engineering & Applied Science. “Take driverless cars as an example: where, when and with how many other non-automated drivers are you trying to have your car navigate are big questions. You need to take into account the fact that you could have unanticipated combinations of what you want it to do. That’s a new area of design that really is basic research. It’s not something that has been examined, and we’re trying to push on that.”
For Gill and his colleague Sanjoy Baruah, Professor of Computer Science and Engineering, a key question is timing.
“We are trying to make sure that you write the software, and it does the right thing at the right time,” Baruah said. “It’s a mechanistic look at the way the software controls the product. We want to be able to pull out an old feature, put in a new feature and have the product perform well and safely. You can only do that if you understand how timing and functional behavior are interacting, and why and how they influence each other.”In their project, the engineers will combine computing theories, including real-time scheduling and formal methods — which apply a broad variety of theoretical fundamentals — to develop methods to enable dynamically customizable software. Any software produced during the course of the research project will be open-sourced and shareable.
“In a typical software upgrade, the worst thing that might happen is that you’ll have to reboot your smartphone,” Baruah said. “It’s not the same with cars. We can work to develop a theory that will allow you to update safety-critical software, to update it and customize it to ensure they behave safely and unexpected emergency behavior doesn’t arise out of nowhere.”