The functionality as well as economical value of most industrial systems and products, such as cars, airplanes, drones/blimps, and medical devices, is defined and realized by software as an embedded system. A key challenge in the design of such systems is the ability to update software: to add new features, to customize a system, or to fix security vulnerabilities.
In particular, the project aims to develop the following:
- a new system architecture for embedded systems that supports the ability to deploy incremental updates, allowing components to be seamlessly integrated and updated, while guaranteeing the deterministic behavior of systems,
- scalable methods and verification tools that automatically verify, in-the-field, that intended updates preserve and ensure safety conditions,
- efficient scheduling algorithms for optimal resource utilization for state-of-the-art computing platforms to enable dynamic updates,
- robust protocols and run-time techniques for secure deployment and enforcement of verified and accepted updates even in safety-critical environments such as drones/blimps.