ISO 26262,名称为“道路车辆——功能安全”,是汽车行业中使用的功能安全标准。而ASIL/ASIL级别则是确定软件开发安全要求的关键组成部分。
遵守这一标准对于汽车产品的开发来说至关重要。原始设备制造商、供应商和汽车零部件开发商们都需要遵守这一标准。
本篇文章将介绍ISO 26262、ISO 26262认证工具、ASIL(汽车安全完整性级别)以及针对软件开发团队的ISO 26262功能安全合规建议。
ISO 26262是一项基于风险的安全标准,源自IEC 61508。它适用于量产车辆中的电气和/或电子系统。这包括驾驶员辅助、推进和车辆动力学控制系统。
这项功能安全标准涵盖了整个开发过程的所有功能安全方面:
需求规范
设计
执行
集成
验证
验证
配置
该标准的目标是确保汽车设备和系统的整个生命周期的安全性。
在生命周期的每个阶段,需要采取具体的步骤。这将确保安全的概念贯穿始终,从早期的概念阶段到车辆退役。
通过遵守ISO 26262标准,您能够避免或控制系统性的故障,并且可以检测或控制随机硬件故障(或者您将减轻故障的影响)。
第1部分:术语
第2部分:功能安全管理
第3部分:概念阶段
第4部分:系统级别的产品开发
第5部分:硬件级别的产品开发
第6部分:软件级别的产品开发
第7部分:生产与运营
第8部分:支持流程
第9部分:面向ASIL和安全性的分析
第10部分:安全标准指南
安全标准的第二版曾计划增加一个部分——SOTIF,重点关注预期功能的安全性。然而,SOTIF随后已经作为一个单独的标准发布——ISO/PAS 21448。
针对软件开发人员的功能安全
第6部分对于软件开发人员来说是最重要的部分。它详细介绍了开发人员必须采取的步骤,以确保每个组件的安全性。
此外,第6部分还包括了几个表格,定义了为了达到标准合规性必须考虑的方法。
在汽车开发中,使用的任何工具都需要经过合格性认证。第8部分提供了ISO 26262工具资格认证的指导。
认证工具需要有以下内容:
软件工具认证计划
软件工具文档
软件工具分类分析
软件工具认证报告
某些工具比其他工具更容易获得合格性认证。例如,Helix QAC(C和C++静态代码分析器)附带了合规证书,使认证过程更容易。
汽车安全完整性等级(ASIL)是ISO 26262的关键组成部分,用于衡量特定系统组件的风险。系统越复杂,出现系统性故障和随机硬件故障的风险就越大。
汽车安全完整性级别(ASIL)有四个值,分别为A到D。ASIL A是最低的风险级别,ASIL D是最高的级别。从A到D,合规要求变得更加严格。
在确定汽车安全完整性级别时,还有第五个选项——QM(质量管理)。这用于表示该组件没有安全要求。(但为了提高产品质量,通常仍建议遵守)
ASIL由三个因素决定——严重性、暴露度和可控性。
严重性衡量了系统故障造成的损害的严重程度,包括人员和财产损害。
有四个严重性等级:
S0:没有伤害
S1:轻度至中度伤害
S2:严重至危及生命(可能生存)的伤害
S3:危及生命(生存不确定)至致命伤害
暴露度描述了在什么条件下某个特定的故障可能会引发安全隐患。
每个条件按照发生的概率,分为了以下五个等级:
E0:完全不可能
E1:概率极低(仅在极少数操作条件下才会发生伤害)
E2:低概率
E3:中等概率
E4:高概率(在大多数操作条件下都可能发生伤害)
可控性是在发生危险情况时可以避免伤害的可能性。这种情况可能是由于驾驶员的操作或外部措施造成的。
危险情况的可控性分为四个等级:
C0:总体可控
C1:容易控制
C2:一般可控(大多数司机可以采取行动防止受伤)
C3:难以控制或无法控制
一旦您确定了严重性、暴露度和可控性,您就可以确定汽车安全完整性等级(ASIL)。第3部分的表格4提供了关于此方面的指导。
△ 使用此图表可根据严重性、暴露度和可控性来确定ASIL
无论您是在开发传统的汽车组件(例如集成电路)还是虚拟组件(例如汽车虚拟机管理程序),遵守安全标准都很重要。在整个汽车嵌入式软件开发生命周期中保持合规性至关重要。
但对于开发团队来说,满足合规可能很困难。系统和代码库越来越复杂,使得验证和确认软件变得困难。
您可以通过使用软件开发工具来简化这一过程。
建立可追溯性
满足合规性要求,并证明自己满足这些要求是一个非常繁琐的过程。您需要记录这些需求,并将它们与其他制品库(包括测试、问题和源代码)进行关联。
建立需求的可追溯性能够简化验证过程——尤其是在使用Helix ALM等工具的情况下。它还可以帮助您在开发的过程中管理风险。
而且,如果您为汽车开发半导体,使用Methodics IPLM等工具将有助于为您的设计建立验证可追溯性。此外,Methodics IPLM 可以帮助您管理ISO 26262功能安全认证。
将您的代码存储在Helix Core中(来自Perforce的版本控制系统)中,可以安全地管理所有数字资产的修订历史。您将获得精细的访问控制、高透明度的的审核日志、强大的密码安全性以及安全的复制。因此,您可以对自己的代码充满信心。
应用编码标准
确保代码安全、防范和可靠可能很困难。您需要满足特定的编码和设计准则。
应用编码标准,例如MISRA或AUTOSAR,可以更轻松地根据安全标准指南来验证您的代码。特别是使用像Helix QAC这样的静态分析工具时。
如果没有合适的工具,就难以确保代码功能安全。通过使用Helix QAC,您可以轻松地应用编码标准,以验证您的代码是否符合特定的安全标准准则,如ISO 26262指南。
作者简介:
理查德·贝莱尔斯(Richard Bellairs)
Perforce产品营销经理
理查德·贝莱尔斯拥有超过20年的跨行业工作经验。在90年代和21世纪初,他在制造、国防、测试和测量行业担任电子和软件工程职位,之后转向产品管理和产品营销。现在他负责Perforce市场领先的代码质量管理解决方案。理查德拥有谢菲尔德大学的电子工程学士学位和英国特许营销协会 (CIM) 的市场营销专业文凭。
文章来源:https://bit.ly/45walsS
文章浏览阅读868次。概述本文介绍RDD的Shuffle原理,并分析shuffle过程的实现。RDD Shuffle简介spark的某些操作会触发被称为shuffle的事件。shuffle是Spark重新分配数据的机制,它可以对数据进行分组,该操作可以跨不同分区。该操作通常会在不同的执行器(executor)和主机之间复制数据,这使shuffle成为复杂且非常消耗资源的操作。Shuffle背景为了理解shuf..._rdd shuffle
文章浏览阅读3.8k次。最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类。1.最开始的时候用 Python 学会了 os.system() 。这个方法是拥塞的。os.system('ping www.baidu.com')2.通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。这个方法是后台执行,不影响后续脚本运行..._os.system异步执行
文章浏览阅读2.9k次。目录第一次搭建CM、CDH第二次搭建CM、CDH搭建环境:搭建过程:报错过程:总结复盘:第三次搭建CM、CDH搭建环境:搭建过程:报错过程:总结复盘:第四次搭建CM、CDH搭建环境:搭建过程:报错过程:总结复盘:第一次搭建CM、CD..._cloudera manager server gc cpu usage is at 10% or more of total process time
文章浏览阅读706次。进行内核开发调试在进行驱动开发的过程中往往要打印一些信息来查看是否正确类似于printf,以下将介绍在内核开发常用的调试方法。.(第一次写文章,内容可能不咋样勿喷呀)内容一、printk介绍二、如何查看并修改消息级别在应用程序采用printf打印调试、内核驱动采用printk打印调试。printk函数打印数据到console缓冲区,打印的格式方类似printf。printk函数说明头文件:<linux/kernel.h>int printk(KERN_XXX const_printk 头文件
文章浏览阅读2.5k次。随着互联网的发展,网站的流量呈爆炸性增长,传统的基于关系型数据库的数据处理无法快速响应。而NoSQL技术如HBase、MongoDB等被广泛应用于分布式数据存储与处理,却没有提供像关系型数据库一样的ACID特性、JOIN操作及完整性约束。因此,很多公司或组织开始转向Apache Spark、Flink、Beam等新一代大数据处理框架来处理海量数据。然而,由于新一代大数据处理框架依赖于HDFS等文件系统,导致集群规模扩容困难、成本高昂。另一方面,云计算平台的出现让用户可以快速部署、扩展大数据处理集群。_kafka如何负载使用一台对外的机器
文章浏览阅读1.4k次。hello,大家好啊,今天给大家带来在麒麟桌面操作系统2303上安装tigervnc的文章,本篇文章给大家讲述如何安装并且远程连接使用,后面会给大家更新如何将tigervnc做成桌面图标点击即可开启及关闭,欢迎大家浏览分享转发。_麒麟系统电脑安装vncserver
文章浏览阅读1.3k次,点赞5次,收藏12次。总线是连接处理器和设备之间的桥梁代表着同类设备需要共同遵循的工作时序。总线驱动:负责实现总线行为,管理两个链表。name:指定总线的名称,当新注册一种总线类型时,会在 /sys/bus 目录创建一个新的目录,目录名就是该参数的值;bus_groups、dev_groups、drv_groups:分别表示 总线、设备、驱动的属性。通常会在对应的 /sys 目录下在以文件的形式存在,对于驱动而言,在目录 /sys/bus//driver/ 存放了驱动的默认属性;_总线设备驱动模型
文章浏览阅读265次。1、概述本来想用卷积神经网络来预测点东西,但是效果嘛......,还是继续学习图像类的应用吧~前面学习的神经网络都是一些基础的结构,这些网络在各自的领域中都有一定效果,但是解决复杂问题肯定不够的,这就需要用到深度神经网络。深度神经网络是将前面所学的网络组合起来,利用各自网络的优势,使整体效果达到最优。这一节就简单的记下一些常用的深度神经网络模型,因为tensorflow等框架都将这些网络实现..._tensorflow 精进之路
文章浏览阅读2.6k次。一、安装包下载:Spark 官网下载: https://spark.apache.org/downloads.htmlHadoop 官网下载: https://hadoop.apache.org/releases.html目前使用Spark 版本为: spark-2.4.3 Hadoop版本为: hadoop-2.10.1二、配置自登陆检测是否可以自登陆,不需要密码则配置正常:ssh localhost在搭建Hadoop环境时,出现localhost.localdomain: Permis_spark写入hdfs需要用户名密码吗
文章浏览阅读280次。nodejs。_node可以使用什么命令 ,它会自动找到该文件下的start指令,执行入口文件。
文章浏览阅读293次。概述电商场景中,卖家为获取流量,常常出现重复铺货现象,当用户发布上传图像或视频时,在客户端进行图像特征提取和指纹生成,再将其上传至云端指纹库对比后,找出相似图片,杜绝重复铺货造成的计算及存储资源浪费。该方法基于图像相似度计算,可广泛应用于安全、版权保护、电商等领域。摘要端上的图像相似度计算与传统图像相似度计算相比,对计算复杂度及检索效率有更高的要求。本文通过设计实验,对比三类图像相似度计算方法:感..._linux 图片相似度对比
文章浏览阅读3.8k次。判断质数(isPrime)的方法——Java代码实现/** 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数* 100以内质数表2 3 5 7 11 13 17 19 23 29 31 37 41 43 4753 59 61 67 71 73 79 83 89 97质数具有许多独特的性质:(1)质数p的约数只有两个:1和p。(2)初等数学基本定理:..._java isprime