Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 62138:2018 specifies software safety requirements for computer-based instrumentation and control (I&C) systems that perform safety category B or C functions in nuclear power plants, as defined by IEC 61226. It complements IEC 60880 (which covers category A functions) within the overall framework of IEC 61513 for nuclear I&C system safety.
The standard addresses the complete software safety lifecycle — from requirements specification through design, implementation, verification, validation, installation, operation, and modification. It applies to both application software (plant-specific) and system software (pre-developed platforms and operating systems), and covers software used in safety class 2 and class 3 I&C systems.
IEC 62138:2018 is built on several foundational concepts that engineers must understand:
| Concept | Description | Engineering Implication |
|---|---|---|
| Safety Categories (B/C) | Category B functions are those whose failure could lead to a significant release of radioactive material. Category C functions are those whose failure could lead to a minor release. | Category B systems require more rigorous software verification and validation than Category C. |
| System Classes (2/3) | Class 2 systems perform category B functions; class 3 systems perform category C functions. | The requirements in Clause 6 are tagged as applicable to class 2, class 3, or both. |
| Gradation | The application of requirements is proportional to the safety significance of the function. | Not all requirements apply uniformly — the standard uses “shall” for mandatory requirements and distinguishes class-specific applicability. |
| Defence in Depth | Multiple layers of protection against software faults and common cause failures (CCF). | Software diversity and independence are required for CCF defence in class 2 systems. |
The standard organizes software requirements around a structured safety lifecycle. Key engineering requirements include:
The requirements specification must be complete, unambiguous, verifiable, and traceable. For class 2 systems, the specification must be expressed using a formal or semi-formal notation (e.g., state diagrams, decision tables, or formal logic). The requirements must be traceable to the system requirements from IEC 61513.
The design must be modular, hierarchical, and of limited complexity. For class 2 systems, the standard recommends the use of application-oriented languages (e.g., function block diagrams per IEC 61131-3) over general-purpose languages (C, C++) because they limit programming constructs and reduce the potential for coding errors. When general-purpose languages are used, additional verification measures are required including coding standards compliance, static analysis, and peer review.
| Activity | Class 2 | Class 3 |
|---|---|---|
| Requirements Verification | Independent review + traceability analysis | Review |
| Design Verification | Independent review + simulation | Review |
| Code Verification | Static analysis + structural coverage (MC/DC) | Static analysis + statement coverage |
| Integration Testing | Functional + robustness + boundary value | Functional testing |
| Validation | Independent V&V team, full functional tests under simulated plant conditions | Functional tests |
| Verification Independence | Organizationally independent from design team | May be same organization, different individuals |
One of the most practically challenging aspects of IEC 62138:2018 is the qualification of pre-developed software (PDS) — software that already exists before the nuclear project begins and is being considered for use within safety-classified I&C systems.
The standard establishes a rigorous qualification process requiring documented evidence in four areas:
IEC 62138 is the nuclear sector-specific implementation of the general safety standard IEC 61508-3 (software requirements). Annex C of IEC 62138 provides a detailed mapping between the two documents. In general, IEC 62138 requirements for class 2 systems correspond to SIL 2–3 of IEC 61508, while class 3 corresponds to SIL 1–2. However, IEC 62138 includes nuclear-specific requirements (e.g., CCF defence, independence of verification) that go beyond IEC 61508.
Yes. The standard applies to all I&C systems performing category B or C safety functions, which includes balance-of-plant systems, radiation monitoring, spent fuel handling, and other safety-related instrumentation. It does not apply to non-safety I&C systems (class 4 / category NC), which may follow IEC 62645 or other appropriate standards.
Using a general-purpose OS in a class 2 system is possible but extremely challenging from a qualification perspective. The standard’s requirements for pre-developed software (Clause 6.3) would apply to the entire OS kernel, libraries, and device drivers. In practice, most class 2 systems use either a small real-time OS with a well-defined safety case (e.g., VxWorks CERT), a bare-metal approach, or a qualified safety OS. Linux certification for class 2 has been attempted but rarely succeeds due to the complexity and the difficulty of providing the required evidence of correctness.
Annex A of the standard provides a typical list of software documentation. Expect to produce: Software Safety Plan, Software Requirements Specification, Software Design Description, Source Code (with comments and header), Verification Reports (requirements, design, code), Integration Test Plan/Report, Validation Test Plan/Report, Configuration Management Plan, Anomaly Report Log, and Software Modification Procedure. For a typical class 2 project, the documentation volume can be 5–10 times the volume of the source code itself.