ISO 26262-6 和 DO-178C (航空系统与设备认证中的软件考量)。是汽车和航空领域分别广泛应用的软件安全标准。它们的共同目标是确保系统软件可靠性,减少系统软件故障对生命安全的威胁,但在具体的软件安全方案和规范实施上存在明显的差异,反映了汽车和航空应用环境、风险管理要求及技术实现方面的不同。
以下是两者在软件安全方案上的关键差异及不同考量。
1. 安全等级和分类体系
-
ISO 26262-6 (汽车功能安全标准)
ISO 26262 的安全等级通过 ASIL (Automotive Safety Integrity Level) 来定义,从 ASIL A (最低安全等级) 到 ASIL D (最高安全等级)。ASIL 分级基于潜在故障对驾驶员及乘客安全的影响,用于确定开发过程中所需的安全措施和验证手段。
安全性方案考量 :依据 ASIL 等级选择的测试手段、工具链认证和自动化检查度。
侧重:应对快速量产迭代,并兼顾系统设计、功能验证的成本与效率。 -
DO-178C (航空软件规范)
DO-178C 按照软件组件在飞行安全中的关键性来划分,从 DAL E (无关键性) 到 DAL A (最高关键性)。系统出错可能直接危及乘客生命,因此最高等级对所有开发过程(包括代码生成和工具验证)均有严格的审查和验证。
安全性方案考量 :追求更高的故障覆盖率,以确保在飞行过程中达到最高安全性。
侧重:系统完整性、冗余设计和高级验证,特别是高关键性软件的人工评审和严格验证。
2. 开发过程和验证手段
-
ISO 26262-6
针对 ASIL C 和 D 等高安全等级的组件,ISO 26262-6 强调了一致的开发流程,包括单元测试、集成测试和系统测试,此外还要求应用故障注入测试和回归测试等方法。对于工具链的验证,ISO 26262 允许在高安全等级下引入自动化工具辅助代码生成和测试,但必须进行工具认证。
验证和工具使用考量:尽可能借助自动化工具以提高效率,但需保证工具的准确性和合规性。 -
DO-178C
DO-178C 更强调人工参与的代码验证及测试,特别是高关键性软件的每行代码需人工检查。该标准对自动化工具较为谨慎,要求所有工具通过验证过程,以确保工具输出的正确性。针对 DAL A 和 B 等高关键性软件,DO-178C 要求回溯性分析及形式化验证(如静态分析),以确保软件功能与需求的一致性。
验证和工具使用考量:避免过度依赖自动化工具,偏向于手工验证和形式化验证手段,确保代码的绝对可靠性。
3. 软件架构和冗余机制
-
ISO 26262-6
汽车领域由于成本、尺寸和时间的限制,主要采取功能冗余(如引入备用系统)和局部容错(如双重备份)策略。在单个 ECU 上,ISO 26262 鼓励使用诊断机制来探测软件错误(如自我监控、故障记录),并允许多模块系统通过通信协议来协调容错功能。
架构设计考量:在关键部件中引入冗余,以减少单点故障,但不要求系统冗余达到航空级别。 -
DO-178C
DO-178C 的系统设计往往包含硬件和软件双重冗余,以确保在极端情况下仍然能够维持飞行安全。航空系统会采用独立的双通道或多通道冗余架构,每个通道独立执行相同任务并相互交叉监测。
架构设计考量:高冗余性与多级容错设计,要求组件之间严格的隔离和互相检查以确保系统稳健性。
4. 故障检测与故障管理
-
ISO 26262-6
该规范推荐在每个软件模块内部实现故障诊断(例如基于 AUTOSAR DEM 进行故障管理),并将结果存储于统一的诊断系统中。故障管理在 ISO 26262 中需基于汽车运行状态的实时性考量,重点在于监测潜在故障并采取适当的恢复措施。
故障管理考量:快速响应机制和高效存储,以满足车辆在高速运行中的故障容错要求。 -
DO-178C
DO-178C 更关注实时故障检测和决策响应。系统内需持续监控任务状态并采取冗余路径,避免软件错误导致关键任务中断。此外,DO-178C 通常会要求定期任务检查以识别硬件或系统层级的潜在故障。
故障管理考量:冗余架构在不同层级上保证故障恢复能力,确保故障发生后仍然不影响主要控制系统的操作。
5. 认证和审核要求
-
ISO 26262-6
ISO 26262 允许在多个项目中复用已认证的模块,但需根据 ASIL 级别进行认证和审核。高安全等级的模块要求由第三方进行独立审核。该标准在量产开发过程中采用动态验证,利用自动化工具来加快合规流程。
认证考量:主要用于提高效率,在高质量软件与审核之间找到平衡点。 -
DO-178C
DO-178C 需要在项目开发的各个阶段进行完整的认证审核,尤其是 DAL A 和 B 级别的软件开发。认证流程在设计、实现和测试的每一阶段都需确保符合要求,并最终由航空监管机构的严格认证。
认证考量:主要用于保证极高的系统安全性,确保产品符合航空级别的安全要求。
总结
在功能安全方案上,ISO 26262-6 和 DO-178C 各有侧重:
- ISO 26262-6 更关注开发效率和成本控制,允许自动化工具辅助,并为高安全性要求系统引入诊断和故障管理机制,以满足汽车领域的快速生产需求。
- DO-178C 则更倾向于高冗余、手工审核、严格验证和多级容错设计,确保飞行过程中极低的故障概率,从而符合航空领域的高可靠性和高安全性要求。
两者的差异性反映了汽车与航空应用场景的不同要求,并为各自行业带来了不同的实施和合规方法。