汽车行业必读:ISO 26262和ASIL安全等级解读与攻略

2024-02-21 20:50

本文主要是介绍汽车行业必读: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) 的市场营销专业文凭。

文章来源:https://bit.ly/45walsS

这篇关于汽车行业必读:ISO 26262和ASIL安全等级解读与攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733036

相关文章

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核

Jupyter notebook安装步骤解读

《Jupyternotebook安装步骤解读》:本文主要介绍Jupyternotebook安装步骤,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、开始安装二、更改打开文件位置和快捷启动方式总结在安装Jupyter notebook 之前,确认您已安装pytho

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl

对Django中时区的解读

《对Django中时区的解读》:本文主要介绍对Django中时区的解读方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景前端数据库中存储接口返回AI的解释问题:这样设置的作用答案获取当前时间(自动带时区)转换为北京时间显示总结背景设置时区为北京时间 TIM

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri