LabVIEW

cancel
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 (https://www.ni.com/en-us/support/documentation/supplemental/10/ni-labview-compiler--under-the-hood.h...). 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
(1,044 Views)

Hello,

I have same questions.

Will appreciate the help.

__________________________________________
The best way to thank, is to give KUDOS
0 Kudos
Message 2 of 2
(934 Views)