13 ms·
Released and Certified: Qt Safe Renderer
- ofrzeta 8y agoASIL-D, SIL 3, SIL 4 und IEC 62304:2015(2006+A1) certifications mean that Qt can now officially be used for displays in automotive, medical devices, trains etc.
- bpicolo 8y agoWhat were the previous alternatives?
- blattimwind 8y agoFor safety critical displays, that is. A big share of IVI systems used Qt and QML for years; with this component, the same stack (Qt+QML) can be used for the primary driver displays, including warning and damage lamps. Until now these indicators were almost always actual physical lamps; the information displays often found in the center between tacho- and speedometer don't use any kind of fancy graphics at all; they're mostly just black and white LCDs driven by the ECU over the CAN bus.
- RVuRnvbM2e 8y agoDoes a compiler exist with the same certifications?
- deleted 8y ago[deleted]
- rhencke 8y agoYes. https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/safety https://developer.arm.com/products/software-development-tool...
- irundebian 8y agoWhen I'm seeing TÜV seals for highly-complex IT-related topics, I'm always asking myself if the people working for TÜV are really qualified for doing such certifications. The TÜV historically inspected steam engines and is mostly known today for doing driving tests.
- mbeex 8y agoHere in Germany, the TUEV not only certifies nuclear power plants, but will be involved in most of the precursory steps (the politics of a general 'Atomausstieg / nuclear power phase-out' aside for the moment) https://www.tuev-sued.de/plants-buildings-technical-facilities/fields-of-engineering/nuclear-services/nuclear-power-plant-licensing https://www.tuev-sued.de/plants-buildings-technical-faciliti...
- te0006 8y agohttps://www.tuvit.de/en/services/certification/ https://www.tuvit.de/en/services/certification/
- lnsru 8y agoTÜV inspects everything: http://www.bbc.co.uk/news/world-europe-38692678 http://www.bbc.co.uk/news/world-europe-38692678 Sometimes they fail.
- 8y ago
- kosinus 8y agoSounds like a great achievement! Congrats to the team! So is this a completely separate implementation from Qt proper? Do they share some API and tooling?
- PerryCox 8y agoI've always been very impressed by the work of the Qt teams. I don't do much coding in C++ but when I have dabbled in it using Qt feels like a breath of fresh air.
- dekhn 8y agoyeah, after working in the web world and being depressed by javascript apps that consume 100% CPU doing nothing to render a page of ads, I love to go back to Qt and spend 5 minutes writing a high performance app that does amazing things. It's really incredible how the world of software developed by adults differs from the software developed by kids.
- aroman 8y agoYour last sentence is needlessly condescending :/
- deleted 8y ago[deleted]
- dekhn 8y agoNo, it's not. It's an accurate assessment of the current state of the web world: web frameworks that last a year before they get abandoned by their creators. jwz wrote a nice blog post about it: https://www.jwz.org/doc/cadt.html https://www.jwz.org/doc/cadt.html
- hood_syntax 8y agoWhy do people link this dude here when you get redirected to that picture every time...
- shawnz 8y agoYes, how ironic to criticize childlike developers and then defer to jwz
- santix 8y agoHow do those standards compare to aviation? Are there similar certifications that would allow to use a software implementation like this?
- kejaed 8y agoFriendly neighbourhood aerospace systems engineer here. Yes, the certifications on the aviation side are DO-178C for Software and DO-254 for Airborne Electronic Hardware. Rather than SIL or ASIL (Automotive Safety Integrity Level), the aviation equivalent is DAL (Development Assurance Level). Of course, while they each use letters for levels of Integrity / Assurance, in aviation DAL A is the most stringent and in automotive ASIL-D is the most stringent. https://www.rapitasystems.com/blog/what%E2%80%99s-difference-between-sil-and-dal-how-does-it-affect-my-code-coverage https://www.rapitasystems.com/blog/what%E2%80%99s-difference...
- annerajb 8y agoKinda related question is there a do-178b certified compiler that coult compile a future certified qt?
- kejaed 8y agoNot just compiler but operating system as well. Look at the names like Wind River, Green Hills or even LynxOS for a certified compiler / OS solution
- annerajb 8y agoAh yes I took the 5 day greenhills training for a project that got put on hold. Was wondering if anything opensource exist for do187b usage. For example a GCC toolchain and a standard set of libraries (apart from the OS)
- justaaron 8y agoJust to be clear, QT still has the same licensing, correct? dual:LGPL or commercial commercial license costs + not redistributable (example, if included in a BSD or MIT library/framework/tool...) or LGPL (also requires project to be LGPL) just checking, as it's a factor in why Qt is not universal, but only ubiquitous, which is still a good thing, because "diversity" and not wanting to put the fate of all gui forever into the hands of one entity etc.. but: any other declarative (like qml) gui frameworks out there in Linux land?
- johnt15 8y ago> or LGPL (also requires project to be LGPL) This is not correct. LGPL only requires that Qt is linked as shared libraries and sources of any changes to the Qt itself is provided.
- tyfon 8y ago> but: any other declarative (like qml) gui frameworks out there in Linux land? I don't see how the license is a problem. It used to be not 100% open source but it is now, and it has a commercial license if you don't want to open source your program. You can also dynamically link to LGPL versions of the library from your program. [1] In any case, to answer the question, you have guile gnome [2] which sort of does the same thing but in a scheme language. [1] https://softwareengineering.stackexchange.com/questions/86142/what-exactly-do-i-need-to-do-if-i-use-a-lgpl-licenced-library/86158 https://softwareengineering.stackexchange.com/questions/8614... [2] https://www.gnu.org/software/guile-gnome/ https://www.gnu.org/software/guile-gnome/
- joshvm 8y agoNote that some modules are not available under the LGPL. You don't get charts, data visualisation or any of the embedded tooling. LGPL does not require the project to be LGPL. It simply means that you must provide users means to link your program to a version of Qt that they've compiled, or you provide the source of the Qt distribution that you compiled to build your application. You can have a commercial, closed-source, application using LGPL Qt. "A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License." Contrary to popular belief you can even statically link an LGPL library and remain closed source, but you may need to distribute your object files so that someone can statically link a different library version with your code. I'm not sure what happens if you modify Qt in some way though, presumably you're still covered if you release the modifications you made. Full answer here: http://answers.google.com/answers/threadview/id/439136.html http://answers.google.com/answers/threadview/id/439136.html
- joosters 8y agoAre the 'safety critical' UI components rendered any differently to the non-critical ones? From reading the related blog posts, I understand that they are generated in a separate process, but asides from that detail, are they any more reliable? Or to put it another way, if we an pick some UI components and marking them as safety critical' somehow improves their reliability, why would you not mark everything as safety critical? Does the safety factor decrease as more and more components enter the safety critical section? Why not subdivide the UI into more than just one 'critical' process and one 'non-critical' process, e.g. perhaps a light-weight process per component?
- freedomben 8y agoThe article links to http://blog.qt.io/blog/category/functionalsafety/ http://blog.qt.io/blog/category/functionalsafety/ which has a lot more details. The short answer tho, is that "the tooling separates out the safety-critical elements for execution by the Qt Quick Renderer run-time."
- gmueckl 8y agoI talked to one of the devs a whule ago: the safety critical part of the display is rendered by a completely separate renderer which is kept as simple as possible. Most of the application specific code for it is generated automatically and a lot of the typical dynamic behaviour (dynamic memory allocation etc.) is strictly forbidden so that the result follows the requirements of safety standards.
- pknopf 8y agoA little of topic, but I'm confused about something. These certs open the door for medical devices, which is great. I work on Class 1 medcial device. We have customers and regulatory people saying I can't even use Qt because we compile it ourselves. Apparently, once we have access to the source code, we must bring the software up to our target safety class. This of course isn't feasible. Apparently, this even applies to the kernel. My regulatory people are demanding that we hire someone like WindRiver to deliver use pre-compiled images and tool chains, removing the source from our hands. I don't follow regulatory closely, but this has got to be wrong. Are you saying that I can never use open source software? Even if the software has these certs like this (Safe Render)? Surely we can still treat 3rd party libs as SOUP, even if we have the source, yeah?
- asfdsfggtfd 8y agoI know nothing about this... However, I can see a little bit of sense to this (not much - and nothing that couldn't be solved a lot better). If you have access to the source code it is very easy to start adding patches. On the other hand if you have access to binaries it is also very easy to start modifying them...
- pknopf 8y agoTheir argument seems to suggest that I should roll my own openssl, for "risk management". I mean, these projects typically have thorough tests.
- asfdsfggtfd 8y agoSurely it's more that you should obtain certified binaries of openssl from a third party?
- pknopf 8y agoYeah, I get it. However, if I use SOUP, I'm responsible for bugs. How would I debug with no source?
- ogennadi 8y agoSounds like Qt Safe Renderer is a graphics library for displaying safety-critical information in cars, planes, medical devices etc. In these domains, safety-critical information has to be displayed by certified hardware/software; QT Safe Renderer just got certified and released.
- kristoffer 8y agoThis does not really mean Qt (and/or QML) is certified. It means there is support in QtCreator for exporting certain graphics (tell tales) so that they can be rendered by Qt Safe Renderer and if that happens on a certified RTOS the system could be certified. So the Qt libraries or QML renderer are still not certifiable.
- gmueckl 8y agoNor will they ever be, at least at that high level. The standards are very strict about what is allowed in the code and Qt is coded in a way that is fundamentally incompatible with that. But that is okay. Isolating the core components that have the highest safety requirement and developing the rest to a lower standard is accepted and good practice. You also need to have an operating system that enforces the separation and a design that guarantees that the safety critical part cannot be disrupted by failures in the rest of the system. For example, a fancy navigation map display is not safety critical at all and developing that to ASIL standards would be madness. Icon ovelays for engine or braking system failures are quite important, on the other hand. Separating then out into a different process and making sure that it cannot be affected by a misbehaving navigation system is just common sense. So even with the current limits, this is very useful.
- kristoffer 8y agoSure, I agree that you should limit ASIL certified software as much as possible. Nothing running on Linux will be certified ever. That also limits the benefits of Qt Safe Renderer. I think it is mostly a marketing thing within the automotive sector. The competitors there (Disti, Kanzi, etc) have their "solutions" for safety critical and say Qt can't handle it. So Qt needs to check the box of "safety critical" to fend for themselves. Tell tales can quite simply be implemented by hand coding. But there is OpenGL SC which possibly could support more fancy and certified graphics. It could be nice if Qt/QtCreator/Qt3dStudio supported that in some manner. Having a layer that is safety critical and separated out to it's own OpenGL SC code. The usual argument for this kind of stuff is that nice graphical ADAS features (think advances HUDs) will need this (although I think it is still reasonable to hand code it in OpenGL SC).