Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 62279:2015 (Edition 2.0) specifies the requirements for software used in railway communication, signalling, and processing systems for control and protection applications. Closely aligned with IEC 61508 (functional safety) and IEC 62278/EN 50126 (railway RAMS), this standard defines Software Safety Integrity Levels (SW-SIL) and the corresponding software lifecycle activities required to achieve each level.
The standard is technically identical to EN 50128 (the European railway software safety standard), ensuring global alignment of railway software safety practices. It covers the entire software lifecycle from requirements specification through design, implementation, verification, validation, and maintenance.
IEC 62279 defines four software safety integrity levels, with SW-SIL 4 being the most rigorous and SW-SIL 0 the least. The SIL assignment is derived from the system-level hazard analysis and risk assessment performed according to IEC 62278 (EN 50126). Higher SIL levels require more stringent development processes, greater independence between development and verification teams, and more comprehensive documentation.
| SW-SIL | Required Techniques (Examples) | Verification Independence | Typical Application |
|---|---|---|---|
| SW-SIL 4 | Formal methods, diverse programming, static analysis | Fully independent team | Automatic train protection, interlocking |
| SW-SIL 3 | Structured methods, defensive programming, code reviews | Independent verifier | Train control, point machine control |
| SW-SIL 2 | Semi-formal methods, modular design, walkthroughs | Different person within team | Passenger information, driver advisory |
| SW-SIL 1 | Good programming practice, testing | Same person (self-check) | Monitoring, diagnostics |
| SW-SIL 0 | Standard quality management | Not required | Non-safety functions |
The standard mandates a structured software lifecycle with defined phases, each producing specific outputs. The lifecycle phases include software requirements specification, software architecture and design, software module design and implementation, module testing, software integration testing, and software validation testing. Each phase has defined inputs, activities, outputs, and verification criteria.
Documentation requirements are extensive and structured. Key documents include the Software Requirements Specification (SRS), Software Architecture Specification, Software Module Design Specification, Software Verification Plan, Software Validation Plan, Software Configuration Management Plan, and Software Quality Assurance Plan. For SW-SIL 3 and 4, all documents must be reviewed and approved by personnel independent of the document author.
IEC 62279 requires a Software Quality Assurance (SQA) process that is independent of the software development team. The SQA function monitors all software lifecycle activities, verifies compliance with the standard, and reports non-conformances directly to management. For higher SIL levels, the SQA team must be organizationally independent from the development project.
Implementing IEC 62279 effectively requires careful planning and organizational commitment. First, the SIL assignment drives the entire development process, so the system-level hazard analysis must be thorough and well-documented. Second, tool qualification is a critical consideration — software tools used for development (compilers, static analyzers, test tools) must be qualified according to their potential to introduce or fail to detect errors. Third, the standard requires a clear distinction between safety-related and non-safety-related software within the same system, often necessitating strict partitioning mechanisms.
Configuration management is paramount at all SIL levels. The standard requires unique identification of all software items, controlled change management, and the ability to reconstruct any released software version. For SW-SIL 3 and 4, the impact analysis for each change must be reviewed by an independent party, and regression testing must cover all affected functions.
Finally, the standard emphasizes the importance of software maintenance processes, recognizing that railway systems operate for decades and software must evolve to address obsolescence, new requirements, and defect corrections. The maintenance phase requires the same rigor as initial development, with full regression testing and documentation updates.