Frequently Asked Questions
Which Simulink® blocks are supported by QGen?
QGen supports approximately 120 different Simulink® block types. Please see documentation for Simulink Block Types and Constraints for the complete list.
Which additional features of the Simulink® environment are supported by QGen?
Model Libraries, Model References, Simulink.Parameter, Simulink.Signal, Storage Classes, Structs
Which Matlab functions are supported by QGen?
abs, acos, acosh, asin, asinh, atan, atan2, atanh, cos, cosh, exp, log, log10, min, max, mod, rem, round, sign, sin, sinh, sqrt, tan, tanh, transpose.
How does AdaCore select which features of the Simulink® environment to support?
We carefully selected a safe subset that guarantees predictable code generation patterns, that does not require any run-time support, and that allows for tool qualification against a safety standard like DO-178C.
Which Stateflow® features are supported?
QGen supports all major features of Stateflow® with C as the action language. Please see documentation for the detailed list of Stateflow modelling rules.
What do you mean by "qualifiable"?
The code generation feature of QGen is qualifiable for DO-178C at Tool Qualification Level 1 and for ISO 26262 at TCL3 (developed in compliance with a safety standard). The model verification feature is qualifiable for DO-178C at Tool Qualification Level 5.
Which model properties can you verify with QGen?
Run-time errors (such as integer overflow, signal ranges out of bound, and division by zero)
Logical errors (conditions which are always true or false)
Functional/safety properties modeled using Assertion blocks
What about back-to-back testing?
How do you ensure the generated code is consistent with the simulation performed by the Simulink® environment?
QGen is extensively tested against the simulation of the Simulink® model. A tool validation suite comparing the behavior of the generated code against simulation on a wide range of Simulink® models is available on demand.
QGen has also been developed following a software safety standard, in particular DO-178B/C. A specification of the generated coding pattern for every supported feature is also available on demand.