Functional safety is part of the overall safety of a system or piece of equipment that depends on automatic protection.
This automatic protection system needs to respond correctly to its inputs. And it should have predictable responses to failure. This includes human errors, hardware failures, and operational/environmental stress.
Safety standards are designed to ensure this happens. But they often come with complex requirements for software developers.
Your Guide to What is Functional Safety
Read along or jump to the section that interests you most:
Why Is Functional Safety Important?
Safety is important because lives and reputations are at stake.
Software is increasingly used in safety-critical product development — such as automobiles, planes, and medical devices. And that software needs to be safe, secure, and reliable. That’s why there are safety standards designed for embedded systems developers in several industries.
These standards aim to eliminate risk. This risk might be physical injury or damage to overall health of people. You’ll need a safety function to mitigate each risk. And you can achieve this by using a safety-related system, made up of different safety functions.
What Are Functional Safety Standards? An Overview
Several safety-critical industries need to comply with safety standards. Some safety standards focus on safe software development processes, like DO-178C. Others focus on system safety requirements.
Here, we cover the key standards that need to be fulfilled in order to declare that a product is functionally safe.
IEC 61508 — The Umbrella Standard
IEC 61508 is the umbrella safety standard. It covers electric, electronic, and programmable electronic safety-related systems.
This standard ensures risk reduction through Safety Integrity Levels (SILs 1–4).
Functional Safety Standards Derived From IEC 61508
IEC 61508 is the source for several industry-specific safety standards, as follows.
ISO 26262 — Automotive
ISO 26262 is the safety standard for the automotive industry. It covers electric and electronic systems in production vehicles.
This standard uses Automotive Safety Integrity Levels (ASILs A–D) to measure risk.
There's another automotive standard that covers safety in autonomous driving — SOTIF.
EN 50128 — Railway
EN 50128 is a safety standard used in the rail industry. It covers electric and electronic equipment for railway control and protection applications.
This standard uses Software Safety Integrity Levels (SSILs 0–4) to set safety requirements.
IEC 62304 — Medical Device
IEC 62304 is a safety standard used in the medical device industry. It covers software lifecycle processes.
This standard uses software safety classification (Classes A–C) to set requirements based on risk.
Other safety regulations are used in the medical device industry, including:
- ISO 13485.
- ISO 14971.
- FDA regulations.
- EU medical device regulation (replacing EU medical device directive).
IEC 62061 — Machinery
IEC 62061 is a safety standard used in the machinery industry. It covers electric, electronic, and programmable electronic control systems.
This standard also uses Safety Integrity Levels (SILs) to reduce risk.
Other safety regulations are used for machinery, too, including ISO 13849.
IEC 60880 — Nuclear
IEC 60880 is a safety standard used in nuclear power plants. It covers software that performs safety functions.
How to Receive Functional Safety Certification
Only certified products can claim to be functionally safe. So, getting certified with your industry’s standard is important. And there are several independent parties — such as SGS-TÜV SAAR — that certify products in compliance.
It’s quicker and easier to receive certifications for your software when you use the right development tools.
Which Functional Safety Software Development Tools to Use
To develop safe software, you need the right tools.
These tools should help you:
- Identify and analyze risk.
- Fulfill compliance standard requirements based on risk (and prove it).
- Create a traceability matrix to document that compliance.
- Apply a coding standard and ensure coding rules are followed.
- Verify and validate software through testing.
- Achieve compliance and get certified faster.
Application lifecycle management (ALM) tools and static code analyzers are particularly helpful for proving compliance. They can even help you balance agility with compliance.
Plus, Helix QAC is SGS-TÜV Saar certified for compliance with key safety standards:
- IEC 61508 (general) up to SIL 4.
- ISO 26262 (automotive) up to ASIL level D.
- EN 50128 (railway) up to SSIL 4.
- IEC 62304 (medical device) up to software safety class C.
- IEC 60880 (nuclear power).
Helix QAC also has a DO-330 qualification pack.