06-16-2010 05:47 AM
My company is working on a life-support device.
I have to developp the software which will be used ton monitor and to program with device.
So this software is class C according to IEC 62304.
I'd like to know whether this software made with Labview and working on a Windows XP Pro computer can be compliant with this norm ?
If it's not the case, may it be compliant with an RT OS ?
Thanks in advance
Best regards
06-16-2010 09:48 AM
Rephrasing - Can an application developed with LabVIEW be made compliant with IEC 62304 class C? We have to be very carefull in adressing this question, since there are many other related Regulations and Standards involved here.
The focus of the question shouldn't be LabVIEW or Language K, but the implementation by YOU the manufacturer of ALL Activities, Processes, and Tasks required by the standard for Class C software (Death or Serious Injury is Possible).
Based on your hardware/software architecture a risk analysis must be performed, hazards defined, etc...
I would recommend you to look for a knowledgeable consultant (internal or external) to address these issues. They are language agnostic.
Now focusing a bit on LabVIEW. It is a full fledge software development environement. It was not developed and tested to be used in safety critical applications (like most of the off the shelve development environments, operating systems, hardware target platforms, electronic components etc...) It is your responsability to architect, evaluate, define risks, eliminate or lower them to an acceptable level, implement safety mechanisms, etc.. But is was developed under a well defined Quality Management Process and Sofware Engineering Proccess. We do provide some generic guidelines for the development of LabVIEW code as well as tools for requirements treaceability, static and dynamic analysis (unit test framework, execution trace tollkit, etc..). Check this link - http://zone.ni.com/devzone/cda/tut/p/id/7117
Finally, LabVIEW and a Windows XP ALONE (without the help of other risk mitigation mechanisms) are intrinsically not "safe", since the OS was developed for general purpose use and can not be made safe enough for this level of classification.
The use of real time OS has a higher level or reliability. I would also consider discrete electronics, FPGAs, uP, uC, ASICs,or other mechanisms taking care of the critical issues.
The questions to be answered are: There are Hazards? Are they critical? If happens what are the mitigation actions and what are the Harm? Are they accetable?
06-16-2010 10:01 AM
Thanks for this quick and detailed answer. It helps me very much.
I'd like to have a precision about your sentence "Finally, LabVIEW and a Windows XP ALONE (without the help of other risk mitigation mechanisms) are intrinsically not "safe", since the OS was developed for general purpose use and can not be made safe enough for this level of classification."
May I understand that LabView and Windows XP with a IEC 62304 compliant development process and architecture can be SAFE ?
Thanks in advance
Best regards
06-16-2010 10:16 AM
Once more the answer is never going to be a YES or NO. As an example: If LabVIEW or any other language code is running in Windows XP but is responsible only for the graphical user interface and if it crashes does not affect in any ways the safety of the life support device and does not cause harm it can be considered safe. BUT if the system crashes and you don't have ways of mitigating failure and it causes harm it is NOT SAFE.
For the class of device you are working on you MUST assume it will fail and have implemented the mechanisms to eliminate or minimize harm. In your case, based on the hardware and software architecture and based on the tasks assigned to your code the quation is: Can you do that with a Windows XP based environment?
06-16-2010 12:02 PM
As Newton has said, safety is the key concern at the root of all of the standards and regulatory oversight (with effectiveness as a secondary goal). The IEC 62304 standard is all about software development process and life-cycle and is another tool used to help ensure that software developed for these kinds of applications is safe and remains safe over the life of the instrument and software. I am not aware of any limitations in the LabVIEW development environment that prevents compliance with the guidance in the 62304 standard. In fact, NI has been adding tools to only enhance our customer's productivity when working to a well defined development process, like the NI Requirements Gateway, better source code control management, NI VI Analyzer toolkit, NI Unit Test Framework, etc. You can find more details about these and best practices for LabVIEW software process here: http://zone.ni.com/devzone/cda/tut/p/id/7198
Steve