AdaCore Launches QGen

QGen is a customizable and qualifiable code generator and model verifier for Simulink (R) and Stateflow (R) models, producing code in MISRA-C and SPARK/Ada. It is particularly well suited for developing and verifying real-time control systems requiring safety certification, against standards such as DO-178C (avionics), EN 50128 (rail), and ISO 26262 (automotive). Its model verifier detects run-time errors such as integer overflow and division by zero, and it can also find logic errors such as dead execution paths and can verify functional properties through Simulink Assertion blocks. The tool is highly configurable thanks to its open intermediate representation.

AdaCore have announced the release of QGen 1.0, a qualifiable and customizable code generator and model verifier for Simulink and Stateflow models. This tool can generate MISRA C and SPARK source code producing readable, traceable, and efficient code. It is particularly suited for developing and verifying high-integrity real-time control applications, especially where safety certification is required. The tool is highly configurable thanks to its visible intermediate representation.

QGen handles around 100 Simulink blocks. These were selected as a safe subset that guarantees predictable code generation patterns, does not require any run-time support, and allows for tool qualification against software safety standards. Support for Stateflow models is expected during late Q2 2015.

The tool's static model verifier detects run-time errors such as integer overflow and division by zero. It also can find logic errors such as dead execution paths, and verify functional properties through Simulink Assertion blocks. QGen can be integrated with AdaCore's GNATemulator and GNATcoverage tools to support Processor-in-the-Loop (PIL) testing and structural coverage analysis without any code instrumentation.

Qualification material for QGen will be available for standards such as DO-178C (avionics), EN 50128 (rail), and ISO 26262 TCL3 (automotive). The model verification feature is qualifiable for DO-178C at Tool Qualification Level 5.

A QGen demo is available at http://www.adacore.com/qgen_demo.

"Thanks to its strong focus on safety, QGen reinforces the position of the Simulink and Stateflow environments as the preferred solutions for model-driven development of high-integrity control systems," said Matteo Bordin, product manager for QGen at AdaCore. "With QGen, AdaCore offers a uniquely integrated and qualifiable solution for end-to-end model-based design, including code generation, production of high-performance embedded code, formal verification, structural coverage, and support for Processor-In-The-Loop testing.

"QGen offers us two opportunities," said Cyrille Comar, AdaCore President. "First, our existing customers can now benefit from code generation from Simulink/Stateflow models in a way that is compatible and integrated with their existing tool and language investment. Further, QGen's outstanding capabilities are attracting interest from new application domains driven by safety-critical requirements; this allows us to provide our high-integrity expertise and toolset to a much larger user base."