IEC 62279 铁路控制与保护系统软件

IEC 62279:2015 — 铁路通信、信号和处理系统:铁路控制与保护系统软件

标准概述

IEC 62279:2015(第2版)规定了用于铁路通信、信号和处理系统中控制与保护应用的软件要求。该标准与IEC 61508(功能安全)和IEC 62278/EN 50126(铁路RAMS)紧密对齐,定义了软件安全完整性等级(SW-SIL)以及实现每个等级所需的相应软件生命周期活动。

铁路软件安全不容妥协。信号系统软件故障可能导致灾难性的列车碰撞或脱轨事故。IEC 62279提供了工程框架,使软件的 correctness 能够以可量化的置信度得到验证。

该标准在技术上等同于EN 50128(欧洲铁路软件安全标准),确保铁路软件安全实践的全球一致性。它涵盖了从需求规范到设计、实现、验证、确认和维护的整个软件生命周期。

软件安全完整性等级(SW-SIL)

IEC 62279定义了四个软件安全完整性等级,其中SW-SIL 4最为严格,SW-SIL 0最为宽松。SIL的分配源于根据IEC 62278(EN 50126)进行的系统级危险分析和风险评估。更高的SIL级别要求更严格的开发流程、开发团队与验证团队之间更大的独立性以及更全面的文档记录。

SW-SIL 必需技术(示例) 验证独立性 典型应用
SW-SIL 4 形式化方法、多样化编程、静态分析 完全独立团队 自动列车保护、联锁
SW-SIL 3 结构化方法、防御性编程、代码审查 独立验证员 列车控制、道岔控制
SW-SIL 2 半形式化方法、模块化设计、走查 团队内不同人员 乘客信息、驾驶员辅助
SW-SIL 1 良好编程实践、测试 同一人(自查) 监控、诊断
SW-SIL 0 标准质量管理 不需要 非安全功能
SW-SIL 4软件要求极其严格的开发流程。形式化数学正确性证明、多样化编程(使用不同语言/工具的两个独立团队开发相同功能)和全面的静态代码分析等技术是强制性的。相同功能下,SW-SIL 4的开发成本通常是SW-SIL 1的5-10倍。

软件生命周期与文档要求

标准规定了结构化的软件生命周期,具有明确定义的阶段,每个阶段产生特定的输出。生命周期阶段包括软件需求规范、软件架构与设计、软件模块设计与实现、模块测试、软件集成测试和软件验证测试。每个阶段都有定义的输入、活动、输出和验证标准。文档要求广泛且结构化。关键文档包括软件需求规范(SRS)、软件架构规范、软件模块设计规范、软件验证计划、软件确认计划、软件配置管理计划和软件质量保证计划。对于SW-SIL 3和4,所有文档必须由独立于文档作者的人员审查和批准。

软件质量保证

IEC 62279要求独立于软件开发团队的软件质量保证(SQA)流程。SQA职能监控所有软件生命周期活动,验证是否符合标准,并直接向管理层报告不符合项。对于更高的SIL级别,SQA团队必须在组织上独立于开发项目。

工程设计见解

有效实施IEC 62279需要谨慎的规划和组织承诺。首先,SIL分配驱动整个开发过程,因此系统级危险分析必须彻底且有充分文档记录。其次,工具资质是一个关键考量——用于开发的软件工具(编译器、静态分析器、测试工具)必须根据它们引入或未能检测出错误的可能性进行资质认定。第三,标准要求同一系统内安全相关和非安全相关软件之间有明确区分,通常需要严格的分区机制。

一个实用的见解:使用预先认证的安全软件组件进行基于组件的开发,可以显著降低铁路软件开发的成本和风险。已在某个项目上认证为SW-SIL 4的通信协议栈,可在后续项目上重用(在适当的配置管理下),前提是运行环境保持相似。

配置管理在所有SIL级别都至关重要。标准要求所有软件项有唯一标识、受控的变更管理以及能够重建任何已发布软件版本的能力。对于SW-SIL 3和4,每个变更的影响分析必须由独立方审查,并且回归测试必须涵盖所有受影响的功能。标准还强调软件维护流程的重要性,认识到铁路系统运行数十年,软件必须不断演进以应对技术过时、新需求和缺陷修正。维护阶段需要与初始开发相同的严格性,包括完整的回归测试和文档更新。

IEC 62279合规的常见陷阱包括:需求可追溯性不足(每个需求必须追溯到测试用例)、验证独立性不够(特别是对于SW-SIL 3/4),以及对文档工作量的低估。初次接触该标准的组织,应将至少40%的项目总工作量用于验证、确认和质量保证活动。

常见问题解答

Q1: IEC 62279和IEC 61508之间有何关系?
IEC 62279是从通用功能安全标准IEC 61508衍生而来的铁路专用软件安全标准。它将IEC 61508的概念调整到铁路领域,为铁路控制与保护系统提供适合的具体技术和措施。IEC 61508作为总体框架。
Q2: 现有(遗留)软件可以用于SIL 4应用吗?
可以,但必须根据标准通过”已证明在使用中”的论证来证明其合理性。这需要记录软件在足够大的运行历史中功能安全性能的证据,并证明不存在系统性故障。运行环境必须与预期用途相当。
Q3: SW-SIL 2和SW-SIL 4开发的主要区别是什么?
SW-SIL 4需要形式化方法、多样化编程(适用时)、全面静态分析、完全独立的验证团队以及显著更严格的测试覆盖(包括边界值分析、等价类划分和因果分析)。SIL 4的文档和审查负担要高得多。
Q4: 标准如何处理软件工具和编译器?
软件工具必须根据其引入错误的可能性进行资质认定。工具分为T1(对可执行文件无影响)、T2(仅错误检测)或T3(直接生成可执行文件)。T3工具需要更高的资质级别,对于SIL 3/4,T3工具的输出必须独立验证,或者工具本身必须认证到目标SIL级别。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注