代码质量与安全 | 什么是ISO 26262功能安全?ASIL等级如何划分?
ISO 26262,名称为“道路车辆——功能安全”,是汽车行业中使用的功能安全标准。而ASIL/ASIL级别则是确定软件开发安全要求的关键组成部分。
遵守这一标准对于汽车产品的开发来说至关重要。原始设备制造商、供应商和汽车零部件开发商们都需要遵守这一标准。
本篇文章将介绍ISO 26262、ISO 26262认证工具、ASIL(汽车安全完整性级别)以及针对软件开发团队的ISO 26262功能安全合规建议。
什么是ISO 26262功能安全?
ISO 26262是一项基于风险的安全标准,源自IEC 61508。它适用于量产车辆中的电气和/或电子系统。这包括驾驶员辅助、推进和车辆动力学控制系统。
这项功能安全标准涵盖了整个开发过程的所有功能安全方面:
需求规范 设计 执行 集成 验证 验证 配置
为什么ISO 26262很重要?以及为什么ASIL(汽车安全完整性等级)/ASIL等级很重要?
该标准的目标是确保汽车设备和系统的整个生命周期的安全性。
在生命周期的每个阶段,需要采取具体的步骤。这将确保安全的概念贯穿始终,从早期的概念阶段到车辆退役。
通过遵守ISO 26262标准,您能够避免或控制系统性的故障,并且可以检测或控制随机硬件故障(或者您将减轻故障的影响)。
ISO 26262的十个部分
第1部分:术语 第2部分:功能安全管理 第3部分:概念阶段 第4部分:系统级别的产品开发 第5部分:硬件级别的产品开发 第6部分:软件级别的产品开发 第7部分:生产与运营 第8部分:支持流程 第9部分:面向ASIL和安全性的分析 第10部分:安全标准指南
安全标准的第二版曾计划增加一个部分——SOTIF,重点关注预期功能的安全性。然而,SOTIF随后已经作为一个单独的标准发布——ISO/PAS 21448。
针对软件开发人员的功能安全
第6部分对于软件开发人员来说是最重要的部分。它详细介绍了开发人员必须采取的步骤,以确保每个组件的安全性。
此外,第6部分还包括了几个表格,定义了为了达到标准合规性必须考虑的方法。
ISO 26262认证工具
在汽车开发中,使用的任何工具都需要经过合格性认证。第8部分提供了ISO 26262工具资格认证的指导。
认证工具需要有以下内容:
软件工具认证计划 软件工具文档 软件工具分类分析 软件工具认证报告
某些工具比其他工具更容易获得合格性认证。例如,Helix QAC(C和C++静态代码分析器)附带了合规证书,使认证过程更容易。
什么是ASIL(汽车安全完整性等级)?
汽车安全完整性等级(ASIL)是ISO 26262的关键组成部分,用于衡量特定系统组件的风险。系统越复杂,出现系统性故障和随机硬件故障的风险就越大。
汽车安全完整性级别(ASIL)有四个值,分别为A到D。ASIL A是最低的风险级别,ASIL D是最高的级别。从A到D,合规要求变得更加严格。
在确定汽车安全完整性级别时,还有第五个选项——QM(质量管理)。这用于表示该组件没有安全要求。(但为了提高产品质量,通常仍建议遵守)
如何确定ASIL和ASIL级别?
ASIL由三个因素决定——严重性、暴露度和可控性。
严重性
严重性衡量了系统故障造成的损害的严重程度,包括人员和财产损害。
有四个严重性等级:
S0:没有伤害
S1:轻度至中度伤害
S2:严重至危及生命(可能生存)的伤害
S3:危及生命(生存不确定)至致命伤害
暴露度
暴露度描述了在什么条件下某个特定的故障可能会引发安全隐患。
每个条件按照发生的概率,分为了以下五个等级:
E0:完全不可能
E1:概率极低(仅在极少数操作条件下才会发生伤害)
E2:低概率
E3:中等概率
E4:高概率(在大多数操作条件下都可能发生伤害)
可控性
可控性是在发生危险情况时可以避免伤害的可能性。这种情况可能是由于驾驶员的操作或外部措施造成的。
危险情况的可控性分为四个等级:
C0:总体可控
C1:容易控制
C2:一般可控(大多数司机可以采取行动防止受伤)
C3:难以控制或无法控制
一旦您确定了严重性、暴露度和可控性,您就可以确定汽车安全完整性等级(ASIL)。第3部分的表格4提供了关于此方面的指导。
△ 使用此图表可根据严重性、暴露度和可控性来确定ASIL
ASIL级别合规指南+ISO 26262
无论您是在开发传统的汽车组件(例如集成电路)还是虚拟组件(例如汽车虚拟机管理程序),遵守安全标准都很重要。在整个汽车嵌入式软件开发生命周期中保持合规性至关重要。
但对于开发团队来说,满足合规可能很困难。系统和代码库越来越复杂,使得验证和确认软件变得困难。
您可以通过使用软件开发工具来简化这一过程。
建立可追溯性
满足合规性要求,并证明自己满足这些要求是一个非常繁琐的过程。您需要记录这些需求,并将它们与其他制品库(包括测试、问题和源代码)进行关联。
建立需求的可追溯性能够简化验证过程——尤其是在使用Helix ALM等工具的情况下。它还可以帮助您在开发的过程中管理风险。
而且,如果您为汽车开发半导体,使用Methodics IPLM等工具将有助于为您的设计建立验证可追溯性。此外,Methodics IPLM 可以帮助您管理ISO 26262功能安全认证。
将您的代码存储在Helix Core中(来自Perforce的版本控制系统)中,可以安全地管理所有数字资产的修订历史。您将获得精细的访问控制、高透明度的的审核日志、强大的密码安全性以及安全的复制。因此,您可以对自己的代码充满信心。
应用编码标准
确保代码安全、防范和可靠可能很困难。您需要满足特定的编码和设计准则。
应用编码标准,例如MISRA®或AUTOSAR,可以更轻松地根据安全标准指南来验证您的代码。特别是使用像Helix QAC这样的静态分析工具时。
通过Perforce确保ASIL级别的ISO 26262 + ASIL功能安全
如果没有合适的工具,就难以确保代码功能安全。通过使用Helix QAC,您可以轻松地应用编码标准,以验证您的代码是否符合特定的安全标准准则,如ISO 26262指南。
作者简介:
理查德·贝莱尔斯(Richard Bellairs)
Perforce产品营销经理
理查德·贝莱尔斯拥有超过20年的跨行业工作经验。在90年代和21世纪初,他在制造、国防、测试和测量行业担任电子和软件工程职位,之后转向产品管理和产品营销。现在他负责Perforce市场领先的代码质量管理解决方案。理查德拥有谢菲尔德大学的电子工程学士学位和英国特许营销协会 (CIM) 的市场营销专业文凭。
立即了解使用Helix QAC确保代码功能安全是多么简单,请联系Perforce中国授权合作伙伴——龙智:
官网:www.shdsd.com
电话:400-666-7732
邮箱:marketing@shdsd.com