Safety-critical systems are all around us, built into the planes we board, the cars we drive, and the medical devices we use. Also referred to as life-critical systems, they are the software systems whose failure or malfunction will likely result in death or serious injury, loss or severe damage to equipment or property, or environmental harm. For example, airbags are a safety-critical system. They are designed into the car to deploy in an accident, and if the airbags malfunction or fail to deploy, it could result in serious bodily harm.
Safety systems are classified based on upon reliability factors:
- Fail-Operational Systems still operate when their control systems fail.
- Fail-Soft Systems can still operate in the case of failure, but with reduced efficiency and on an interim basis.
- Fail-Safe Systems are still safe when they can no longer operate.
- Fail-Secure Systems maintain security above all else when they cannot operate.
- Fail-Passive Systems continues to operate even if the system fails.
- Fault-Tolerant Systems can detect risk components and faults but still continuous to operate.
The development of safety-critical systems is a very careful and complex process; there is no room for error. Developing critical systems will take more time and money than the development of any other kind of system. Before any coding for the software begins, the system requirements must be identified and specific (correct, complete, consistent, and unambiguous). Typically, the project will then be split into subdivisions and each subdivision is assigned to a programmer or a team. When the components come together, tests must be conducted at to catch and correct bugs and usability issues. Safety-critical systems must be virtually perfect before they are released to the market, releasing a negligent critical system puts lives at risk and will likely result in penalties or lawsuits.
Safety engineering ensures the reliability and safety of these critical systems. The whole discipline of safety engineering came about in the 1950s and 1960s to address the life-threatening hazards resulting from missile and rocketry work. Since then, technology’s rapid advancements mean we are interacting with life-threatening products (cars, airplanes, medical devices) on a daily basis. Critical systems have worked for decades in many of these products, but with the introduction of self-driving cars and changes with how we use computers, more questions are being raised about reliability.