ISO 26262标准中关于软件级产品研发主要涉及以下几个方面:
-
软件安全需求规范(ISO 26262-6):这一部分要求从技术安全概念和系统设计规范中派生出软件的安全需求。它包括软件组件的分层化、大小限制、调度、内聚性、耦合限制以及中断限制等。
-
软件架构设计:软件架构设计需要满足由ASIL等级决定的特定要求,包括错误检测和错误处理机制。例如,在ASIL D级别,软件架构设计必须包含输入输出数据的范围检查、数据有效性检查、外部监控、控制流监视和软件冗余设计。
-
软件单元设计和实现:在软件单元设计阶段,要求相关函数只能有一个出入口,限制动态安全对象的使用,执行变量初始化,禁止相同变量名称,限制全局变量的使用,限制指针使用,禁止隐式类型转换等。
-
软件单元测试:软件单元测试要求对每个软件单元进行测试,以确保它们按照预期工作,并且没有错误。
-
软件集成和测试:在软件集成阶段,需要将单独的软件单元组合在一起,并进行测试,以确保它们作为一个整体正常工作。
-
软件安全需求验证:必须验证软件的安全需求是否得到满足,并且是否与技术安全概念和系统设计规范一致25。
-
软件工具的认证(ISO 26262-8):ISO 26262为软件开发中使用的工具设定了可靠性评估指标,确保只有符合这些指标的工具才能被用于开发过程。这包括对工具的影响(TI)、工具的内部错误诊断能力(TD),以及生成软件工具的置信等级(TCL)的评估。
-
支持过程(ISO 26262-8):包括需求管理、配置管理、变更管理等,这些过程支持软件开发的各个阶段。
-
面向汽车安全完整性等级(ASIL)和安全分析(ISO 26262-9):考虑ASIL裁剪等级分解要求,确保软件开发过程符合相应的安全等级要求。
-
生产运行(ISO 26262-7):涉及软件在生产和运行中的安全要求,确保软件在整个产品生命周期中的安全性。
ISO 26262标准对软件研发的每个阶段都有严格的要求,旨在确保汽车中的电气和电子系统的软件组件具有足够的安全性。这些要求有助于减少由软件故障引起的风险,并提升整个汽车系统的可靠性