The move into active safety systems is increasing the need for high-reliability software. AdaCore, a tool supplier that’s used in many aerospace applications, is responding to this demand with tools that can be used by the automotive industry.
QGen 1.0, a qualifiable code generator and model verifier for MathWorks' Simulink and Stateflow models, includes qualification material for the auto industry’s ISO 26262. The tool also addresses DO-178C and EN 50128, used respectively by avionics and rail developers.
The code generator creates MISRA C and SPARK source code that is readable and traceable. The resulting programs, which can address real-time control applications, are said to be more reliable than programs developed by other generators.
“With other tools, you have to run a lot of time-consuming tests to find bugs, which doesn’t prove that you don’t have any bugs,” said Matteo Bordin, QGen Product Manager at AdaCore. “With QGen, we can automatically verify software and provide a 100% guarantee that there are no bugs.”
He added that Spark, a language based on Ada, is different from C, but has many of the same mechanisms. It was created for extremely high-reliability environments including military and aerospace.
The tool set also includes a static model verifier that detects run-time errors and logic errors while also verifying functional properties through Simulink Assertion blocks. The code generator can be integrated with AdaCore’s GNATemulator and GNATcoverage tools to support processor-in-the-loop testing and structural coverage analysis without any code instrumentation.
“When people are developing models, they can check their quality,” Bordin said. “For example, when you push the brake or clutch, you want the cruise control to deactivate. Q-Gen can prove that no matter the state of the model, that parameter will be met.”
AdaCore will be competing with a range of suppliers. MathWorks, dSpace and Ansys provide ISO 26262-certified code generators.