导读:
在《功能安全量产落地的三座大山》文章中,笔者曾提出功能安全必须与现有的产品研发相融合,才有落地的可能。因为大多数企业在导入功能安全之前,基本上都已经有自己的产品或者产品原型了。既然功能安全是后来的,那么就应该主动的融合到现有的产品当中去。这些在之前的文章中已有详细阐述,在此不再赘言。
读完之后,细心的读者可能会有疑问:你说的这种情况确实比较普遍,但如果是从零开始研发一个新产品,在导入功能安全时会不会有区别?实际上,功能安全永远是也只能是产品的一部分,这是由功能安全自身所决定的。只要你按照功能安全的方法论进行开发,就必然要和常规控制(非安全功能)相融合。下面就这一问题与大家交流讨论。
1、安全需求与设计
2、功能安全与敏捷开发
3、ISO26262理解上的一处探讨
4、一定要接地气
5、工程师学习资料评荐
1
下面我们来看一个例子。整车控制器VCU的主要功能包括:
驾驶员操作解析;
扭矩需求解析;
高压上下电管理;
热管理;
充放电管理;
附件控制;
通过HARA分析,我们可以得到VCU的主要安全目标包括:
防止车辆非预期加速;
防止车辆非预期减速;
防止非预期起步方向错误;
防止非预期未执行驻车;
防止高压触电;
敏捷开发的方法很多,国内最流行的应属Scrum,Scrum里的角色分工包括:
Product Owner:产品经理,负责把控项目走向及产品需求;
Scrum Master:技术经理,负责把控技术细节,推进项目;
虽然敏捷开发强调精简文档,但根据实践经验,关键性的技术文档仍然需要制定并维护:
需求和方案:由Product Owner制定并维护;
需要解决的关键问题点是:如何使得Scrum符合ISO26262标准的要求?笔者认为,主要包括流程和技术两个方面:
流程方面:仍然可以通过Functional Safety Audit来保证。由于独立性要求,需要增加一名专职QA来实施检查,尤其是确认ISO 26262标准里要求采用的方法与技术是否落实到位;
技术方面:如果Product Owner和Scrum Master对ISO 26262标准非常熟悉的话,他们完全可以在Scrum活动中将标准里的要求贯彻实施。当然由于标准的系统性和复杂性,更大的可能性还是需要一名专职功能安全工程师参与进来。他的工作内容主要包括:
在Backlog(需求池)补充功能安全相关的内容并进行需求分解;
在Scrum Meeting(全员讨论)时负责功能安全相关的技术决策;
通过Story Board(故事板)管理功能啊安全相关的工作任务;
那就不合理了。从ISO 26262-2011到ISO26262-2018,经历了7年的修订时间,不太可能还留有这么明显的错误。所以,大概率是我们理解有误,而不是标准有误。接下来,让我们一起探讨一下。
语句覆盖(Statement Coverage):这是最常用也是最常见的一种覆盖方式,就是统计能够执行的代码被执行了多少行。
弄清楚语句覆盖率和分支覆盖率的相互关系后,让我们再次对问题进行分析:
ASILA的要求很明确:语句覆盖率-100%。
ASILC的要求也很明确:分支覆盖率-100%。
功能安全并不是什么超越现今人类科技或知识范畴的“黑科技”,那为什么大家会觉得功能安全不接地气呢?笔者思来想去,认为跟ISO26262标准有很大的关系:
标准是一个体系,覆盖产品全生命周期,知识点太多,不容易上手;
标准里有很多专业名词术语,别说理解,光是记住它们就得费一番功夫;
1、absence of unreasonable risk:也就是降低风险
故障避免(Fault Avoidance)
故障消除(Fault Removal)
故障诊断(Fault Detection)
故障容错(Fault Tolerance)
作者简介
已完成
数据加载中