01
功能安全组件的软件开发
针对ISO 26262对功能安全软件研发的要求,AUTOSAR将功能安全需求进行了具体拆分。当前的AUTOSAR规范囊括了诸多功能安全组件软件开发的需求概念。
在AUTOSAR系统设计的架构中, 从系统功能设计到ECU功能实现,每个功能特性都需要逐一抽取并分配到对应ECU(如图1所示),会出现部分功能模块需要较高安全等级的情况。按照汽车安全完整性等级的要求, 即使绝大多数的功能与安全无关,ECU的所有软件也需要根据所要求的最高ASIL等级进行开发。典型案例是仅仅一个功能模块需要ASIL D等级,但是整个ECU都需要按照ASIL D等级进行开发,这种情况称之为“ASIL提升效应”,会导致额外的研发工作量。为了避免这种情况, ISO 26262允许不同ASIL等级的软件模块共存,不过需要充分证明这些模块之间不存在不期望的交互。这种系统称之为混合ASIL系统,采用软件分区的方式来实现,同时确保不同等级模块间的“Freedom From Interference,FFI“(免于干扰)。
图1: 混合ASIL系统ECU的功能模块分配
混合ASIL系统的设计中,不同模块之间的交互越少越好。系统通过将功能模块进行拆分的形式进行软件分区,在分区之间做边界保护,防止故障传递导致的相互影响,至少做到检测到故障的存在,并将其通知给ASIL软件模块,这样系统可以就此采取一些安全措施。这意味着只将功能安全相关的软件模块及边界保护部分开发成较高的安全等级即可,其他部分仍可保持较低安全等级(如QM),软件交互如图2所示。