ISO 26262标准中提到的软件安全需求规范(Software Safety Requirements, SSR)是功能安全软件开发的起点,它们是针对软件组件的技术安全需求(Technical Safety Requirements, TSR)在软件层面的进一步细化。软件安全需求规范具体包括以下内容:
-
软件安全需求的来源:软件安全需求来源于分配给软件组件的TSR,并且是这些TSR在软件层面的具体化4。
-
需求的可追溯性:ISO 26262要求软件安全需求与技术安全概念、系统规范、硬件/软件接口规范之间保持一致性和兼容性,确保可追溯性。
-
需求的细化:软件安全需求需要将因故障引起技术安全要求偏离的功能进行细化,定义至可实施/验证软件的等级1。
-
软件组件的分层化:在软件架构设计中,为了达到高安全目标的ASIL等级,如ASIL D,软件组件需要满足分层化、大小限制、适当的调度、内聚性、耦合限制和中断限制等要求。
-
错误检测与处理:在软件架构设计中,必须包含输入输出数据的范围检查、数据有效性检查、外部监控、控制流监视和软件冗余设计等错误检测机制。对于ASIL D等级,还必须具有错误发生时的缩退功能以及并行的冗余。
-
软件单元设计:在单体软件设计阶段,对于高ASIL等级的要求,相关函数设计需满足特定的标准,如限制动态安全对象的使用、执行变量初始化、禁止相同变量名称、限制全局变量和指针的使用等。
-
软件工具的认证:ISO 26262还为软件开发中使用的工具设定了可靠性评估指标,确保只有符合这些指标的工具才能被用于开发。
-
软件安全需求的验证:软件安全需求规范还必须通过验证和测试来确保其得到满足,并且与技术安全概念、系统规范、硬件/软件接口规范的兼容性和一致性。
这些规范要求确保了软件在其整个生命周期内的功能性和安全性,从而为汽车电子系统的安全运行提供保障。