Showing results for 
Search instead for 
Did you mean: 

Functional Safety with LabVIEW PhD Topic

Hi there,


I'd like to talk to you guys about functional safety with LabVIEW. For a few years now, as part of my PhD, I have been working on a solution to implement safety-related systems in LabVIEW (not in the Functional Safety Editor). As a basis, I build on the standard IEC 61508 (basic functional safety standard) and the implementations in known programming languages ​​(C, C ++, ADA). Starting with the general suitability of G up to the design of a language subset for the VI Analyzer (static analysis), I worked out a concept. And in some places I'm already very far.


My current problem is that I am stuck at some points. For example, it is hard to get more detailed information about the compiler than the NI LabVIEW Compiler: Under the Hood page ( Maybe you can help me. Any answer would help me further.


1. What are the key differences between the LabVIEW LLVM-IR and the Clang LLVM-IR?
2. I would like to get a list of all the DFIR optimizations made by the compiler.
3. I would like to get a list of all the LLVM optimizations made by the compiler.
4. Are there possibilities to deactivate some optimizations (in DFIR or LLVM)? A deactivation of some optimizations could help rule out unsafe optimizations.
5. What code simulators are there? I aim to simulate the compiled code to check that the code is correct. For FPGAs, there is the possibility of simulating VHDL. However, I have to do a lot of work here because I have to develop the VHDL code myself. Does the simulation within VeriStand also represent a simulation of the compiled code?
6. How does the assignment of variables work? Does the storage location of a variable change on the target hardware? So is it a static assignment or a non-static assignment? For example, C solves it with the "static" command.
7. Is a global variable in LabVIEW similar to the definition in C or C ++?
8. How does the State Diagram Toolkit work? Would you say it is similar to the definition of a deterministic finite automaton?


In addition, I am looking for contacts for my language subset. Using the basic standard and the MISRA guideline, I have developed a subset of languages ​​that can serve as a first starting point for a static, functionally safe analysis. But it is difficult to verify without feedback.


Do any of you know someone who is familiar with static code analysis in other programming languages ​​and who can help me with this?


Finally, I created a modeling framework that is composed of UML-like models and thus enables uniform modeling and implementation, as well as providing the basis for model-based testing. It is mainly based on state transition diagrams (LabVIEW Statediagram Toolkit) and flowcharts (G-code with different regulations). An example table of the framework is attached.


In your opinion, does this framework make sense?
Is it clear enough?


I hope some of you can possibly help me further. At the moment I am missing the connection to other developers. Perhaps one of you has already worked on a functional safety project with LabVIEW and can give me a few tips. I look forward to any counter question or comment.


Best Regards

0 Kudos
Message 1 of 2


I have same questions.

Will appreciate the help.

The best way to thank, is to give KUDOS
0 Kudos
Message 2 of 2