Correct by construction design methodology
Reference number | |
Coordinator | Saab AB - SAAB Aktiebolag Aeronautics |
Funding from Vinnova | SEK 4 200 000 |
Project duration | November 2017 - August 2022 |
Status | Completed |
Venture | National Aeronautical Research Program 7 |
Call | 2017-02942-en |
Important results from the project
Today´s software development design methods for avionics systems, where multiple applications share the same distributed platform, lack a clear path from functional specification to final implementation and cannot provide real-time guarantees. To overcome the current situation, the project took an important step towards a correct-by-construction design process by establishing a formal base, as well as developing methods, principles, and tools for modeling, design space exploration, and synthesis of the final software.
Expected long term effects
The project has created methods and tools for a correct-by-construction design process for future avionics systems. The project has delivered a new design methodology, improved support for modeling and simulation through extended ForSyDe modeling libraries, a new tool for design space exploration, principles and a prototyping tool for software synthesis. The potential of the method has been demonstrated and evaluated through industrial use cases. The results are promising, but more research is needed to reach a higher degree of maturity for use in industry.
Approach and implementation
The project is within the Avionics platform technology cluster that addresses future systems and the need for computing power, robustness, security and development cost. Two parallel project within the cluster have supported this project. The project has demonstrated advantages with new design methods for future aircraft design in two areas: avionics functions, demanding sensor functions of the AESA radar type, and taken a step towards machine learning that will be an important part of future autonomy functions with extensive data processing needs by defining a new use case.