SV

14-SW Safety, Security & Resilience

Safety Concept Overview

  • Safety: Ability of a system to operate without causing human injury or environmental damage.
  • Safety-critical Systems: Systems where failure can result in injury or death.

Software in Safety-Critical Systems

  • Incorporates software for control, affecting overall safety.
  • Example: Monitoring of aircraft engine performance for early failure detection.

Safety vs. Reliability

  • Reliability and availability necessary but not sufficient for safety.
  • Unsafe Reliable Systems: Can have dormant faults, errors in specifications, or operator errors.

Types of Safety-Critical Systems

  • Primary Systems: Embedded software failures directly threaten safety (e.g., insulin pumps).
  • Secondary Systems: Failures affect other systems with potential safety risks (e.g., healthcare software).

Benefits of Software Safety

  • Enhances monitoring beyond electro-mechanical systems.
  • Reduces time spent in hazardous environments.
  • Detects operator errors in safety-critical tasks.

Safety Terminology

  • Accident: Unplanned event causing harm.
  • Hazard: Potential condition for an accident.
  • Risk: Measure of probability leading to accidents, influenced by hazard probability and severity.

Safety Achievement Strategies

  • Hazard avoidance: Designing systems to prevent certain hazards.
  • Hazard detection: Identifying and removing hazards before accidents.
  • Damage limitation: Including features to minimize damage from accidents.

Safety Requirements Engineering

  • Aim: Identify requirements to prevent system failures that cause harm.
  • Use a hazard-driven approach to craft functional safety requirements.

Safety Engineering Processes

  • Utilize certified development processes with hazard identification and risk assessment.
  • Involve structured safety and security cases for regulatory compliance.

Software Safety Arguments

  • Aim to prove systems cannot reach unsafe states using proof by contradiction.

Security Overview

  • Security: Protects systems from attacks, essential for reliability and safety.
  • Threat Types: Include interception, interruption, modification, and fabrication.

Security Design Strategies

  • Implement layered protection at platform, application, and record levels.
  • Balance between security, usability, and performance.

Security Testing and Validation

  • Involves experience-based and penetration testing methods.

Resilience Engineering

  • Focuses on limiting costs due to failures and recovering from them.
  • Key activities include recognition of failure signs, resistance strategies, and recovery processes.