🚦 EN 50128: Software Safety in Railway Systems
🔍 What Is EN 50128?
EN 50128 is a European standard developed by CENELEC that governs the development of software used in railway control and protection systems. It ensures that software deployed in safety-critical railway applications meets rigorous safety, reliability, and quality requirements.
This standard is part of the broader CENELEC framework for railway safety, alongside EN 50126 (system lifecycle) and EN 50129 (hardware safety).
🎯 Purpose of EN 50128
The core goal of EN 50128 is to minimize risks associated with software failures in railway systems. It provides a structured approach to:
• Software lifecycle management
• Hazard analysis and risk mitigation
- Verification and validation
- Configuration and change control
- Safety integrity level (SIL) classification
By following EN 50128, developers ensure that railway software behaves predictably—even under fault conditions.
🛤️ Where Is EN 50128 Used?
EN 50128 applies to all safety-related software in railway domains, including:
| Application Area | Examples |
| Train Control Systems | Automatic Train Protection (ATP), Train Control Units |
| Signalling Systems | Interlocking, Route Setting, Signal Control |
| Communication Systems | GSM-R, Data Transmission Protocols |
| Onboard and Wayside Equipment | Speed Monitoring, Brake Control, Trackside Logic |
| Embedded Firmware & Tools | PLC logic, RTOS kernels, static analysis tools |
It covers both application software and supporting tools, including compilers, test frameworks, and configuration managers.
🧠 Key Concepts in EN 50128
1. Software Safety Integrity Levels (SSIL)
Software is classified into SSIL levels (0 to 4) based on the severity of potential failure. Higher SSIL demands stricter development and testing processes.
2. Tool Classification
Development tools are categorized as:
- T1: No impact on executable code (e.g., text editors)
- T2: Used for verification (e.g., static analyzers)
- T3: Directly affect code (e.g., compilers)
3. Lifecycle Phases
EN 50128 mandates structured phases:
- Requirements capture
- Design and architecture
- Implementation
- Verification & validation
- Maintenance and change control
Each phase includes safety checks and documentation to ensure traceability and compliance.
✅ Why It Matters
Railway systems are unforgiving environments. A single software fault can lead to catastrophic consequences. EN 50128 helps:
- Prevent systematic errors
- Detect random hardware faults
- Ensure long-term reliability
- Meet international safety regulations
It’s not just a compliance checkbox—it’s a blueprint for building trustworthy, fault-tolerant software in rail transport.