I am pleased to announce a new approach for inclusion of functional safety critical user interface elements in Qt based systems. The new Qt Safe Renderer makes it easy to create safety critical systems that also have a rich graphical user interface. Industries such as automotive, medical and industrial automation, where Qt is the leading UI framework, can now satisfy safety critical requirements with Qt easier than before.
For those who are not yet familiar with our approach to functional safety please check the earlier blog post about functional safety and a blog post on how to create certified systems with Qt.
To create a certified system, the safety critical features must be separated from the other parts of the system. The safety critical functionality can be separated, for example, by running in own memory protected processes with a certified Real-Time Operating System (RTOS). This leaves two parts that need to be addressed in a safety critical system:
- Certified tooling to produce the UI design workflow
- Designing, writing and certifying the safety-critical code
The new Qt Safe Renderer solves both of these by providing tooling to design safety critical UI items and dedicated software to reliably render the these elements in a Qt based safety critical system.
The Qt Safe Renderer tooling makes it easy to add safety critical UI elements to Qt based safety critical systems. Adding safety critical UI elements, such as telltales or other indicators, is very simple using Qt’s drag-and-drop visual design tools. Qt even comes with a comprehensive set of ISO standard icons for warnings and other indicators, all readily accessible from the visual design tool. The visual design tool integration allows modifications to the safety critical UI elements without needing to change any of the certified software components.
Image 1: Adding safety critical visual elements to a Qt application is convenient with the provided visual design tools.
Image 2: Qt provides a wide selection of ISO standard warning and other icons and a convenient tool to use these in the Qt application.
After you have added the safety critical UI elements to the application, it is time to build. A new tool extracts the safety critical UI elements from the UI providing the layout and images of the safety critical parts to the safety certified renderer component. The tool also removes the safety critical parts from the main Qt UI. When the system is running, no matter what happens in the main UI, the safe rendering system ensures that the safety critical parts continue to operate uninterrupted.
Image 3: A digital instrument cluster leveraging Qt Safe Renderer can be certified according to ISO 26262 ASIL B.
With Qt and the Qt Safe Renderer it is possible to create many different kinds of certified systems. While our initial focus is on automotive digital cockpits this solution is also applicable to medical and industrial automation systems. ISO 26262, IEC 61508 or IEC 62304 are some of the applicable standards that we are working to certify the new Qt Safe Renderer for.
Qt Safe Renderer works with Qt 5.9 and Creator 4.3, or later versions. For the target RTOS we are supporting INTEGRITY and QNX. On the silicon side we are supporting the NXP iMX6 and NVIDIA Tegra X1 with plans to to add support for Qualcomm Snapdragon 820 and Renesas H3. We can support alternative RTOS and processors on an as needed basis.
The Qt Safe Renderer and related tooling will become available as an add-on to the commercially licensed Qt.
Contact us to learn more and discuss your safety related needs in more detail.
Read more about Functional Safety here.