
功能安全量产落地的三座大山
案例分享
给大家分享一个笔者在实际项目中遇到的案例。某既有软件导入功能安全后,需要实施的功能包括:ASIL C(60%)、ASIL A(20%)和QM(20%),但该软件的整体规模并不大。常规的做法肯定是进行软件分区,避免不同ASIL等级的软件相互干扰。但由于该软件在前期开发时没有导入功能安全,不同ASIL等级的软件在设计时相互交织,要实施软件分区的话对软件架构影响很大,很可能需要推倒重来。基于当前的现状,笔者提出了第二种解决方案:对现有软件进行白盒测试摸底,如果测试覆盖率指标还不错的话,考虑将软件整体按ASIL C来走一轮。这种做法可能并不常见,但它同样符合功能安全的要求,没有任何问题。
实施建议
功能安全的精髓在于灵活运用,而灵活运用的前提在于深刻理解。那么,到底应该如何努力来提升对ISO 26262标准的理解呢?笔者根据自身的学习经历,在这里给大家提几点建议:
1. 改变非黑即白的观念
很多工程师都有一个通病:喜欢证明自己是对的、别人是错的。但是有意思的是,功能安全在很多时候并没有对错之分。因为功能安全是一套方法论,方法论是用来解决问题的,而针对一个具体问题的解决方案往往不止一种。既然都可以称得上解决方案,那么大体上都能满足功能安全的要求。也就是说,功能安全的实现方式常常是灵活的。
举几个例子:
- 问:实现ASIL C的采样功能一定要两路传感器冗余吗?
- 答:不一定。笔者在前期文章的案例分享里已经有过论述。
- 问:不同ASIL等级的软件共存一定要采用软件分区吗?
- 答:不一定。本期文章的案例分享就是一个典型。
- 问:实现功能安全一定要采用EGAS三层架构吗?
- 答:不一定。EGAS三层架构只是一种典型的实现方式,常用的安全架构还包括1oo2、2oo2、2oo3等。
看到了吗?在很多时候,功能安全不是一定要这样、或者必须要那样的。不同的实现方式没有谁对谁错,只有谁更合适、谁更合理。“汝果欲学诗,功夫在诗外”。当面对不同的解决方案时,我们除了确认其是否可以满足功能安全的要求之外,还应该从更高的层面来进行分析:
- 哪种方案对既有功能、设计的改动最小?(融合)
- 哪种方案与既有策略的矛盾、冲突最小?(平衡)
- 哪种方案技术难度最小、实现起来最快?(周期)
- 哪种方案的设计、生产、维护成本最低?(成本)
在每一个实际项目中,我们都需要具体问题具体分析,从“诗外”的这些维度,仔细评估、综合考虑,最终选择最合适的、最合理的解决方案。能不能做到这一点,某种程度上可以反映你是否达到了灵活运用的水平。
2. 广泛深入的阅读资料
在所有的学习资料中,笔者首推ISO 26262标准,因为这是实施功能安全必须围绕的核心。也许很多人都尝试去读过,但由于种种原因没有坚持下来。标准很抽象,读起来确实也很枯燥,但笔者仍然强烈建议所有的功能安全从业人员反复阅读ISO 26262标准,而且要一边阅读一边思考,不断加深理解。有句话叫做“读书百遍,其义自见”,标准永远是常读常新的,每次读下来都会有新的收获,这一点笔者深有体会。
除了标准之外,还有很多相关的书籍、论文,都可以从里面汲取营养。目前来看,基本上都是英文资料居多,阅读起来没有那么轻松,但是看多了也就习惯了。笔者也阅读过不少相关书籍,有机会的话给大家做一个推荐。
3. 大量有效的项目实践
“操千曲而后晓声,观千剑而后识器”。项目实践对于掌握理论的重要性无需多言。不管是学什么,只有学以致用,才能做到知行合一。在这里笔者想着重强调一下项目实践过程中的关键点,否则如果只是为了做项目而做项目的话,就算做再多的项目也只是重复劳动而已,没法快速有效的提升水平。
实际上,功能安全工程师要想真正的把功能安全融合到产品里面去,必须从三个方面同时入手:功能安全原理、产品领域知识和嵌入式软硬件技术,这三者缺一不可。从功能安全原理出发,产品领域知识决定了你的高度,而嵌入式软硬件技术决定了你的深度。功能安全是产品的一部分,你必须从更高的层面、也就是从产品角度来看待功能安全。而每当和软件工程师、硬件工程师讨论实施细节的时候,你的嵌入式软硬件技术功底有多深,你就能和他们讨论到多深。功能安全是通过嵌入式软硬件技术来融合到产品中的,所以我们不难理解,对一个企业来说,嵌入式软硬件研发水平越高,功能安全越容易落地。
所以,功能安全工程师千万不要把自己局限在功能安全里面,产品领域知识和嵌入式软硬件技术都是我们需要学习的内容,在项目实践过程中需要注意。
4. 同行之间的交流讨论
“三人行,必有我师”。每个人都有认识上的局限性,与同行的交流讨论能相互启发,加深理解,提升水平。这也是笔者写作《功能安全量产落地的三座大山》系列文章的初衷,希望能抛砖引玉,促进国内同行之间的交流讨论。
除此之外,参加业内相关的论坛、研讨会也是很有裨益,在此不再赘言。
结语
不知不觉写到了尾声,感谢一路相随的朋友们。这几年项目做下来,笔者也深刻的感受到功能安全在国内企业量产落地的困难,细数起来可能远不止“三座大山”。但是怎么说呢?有困难说明还有发展空间,这也正是体现我们能力的机会。要是疑难问题都已经解决了,那也就没有什么技术含量了。不是吗?
“众人拾柴火焰高”,集体的智慧远高于个人。要想让ISO26262标准适配国内企业的实际情况,需要国内整个行业的共同努力。“道阻且长,行则将至;行而不辍,未来可期。”让我们一起努力,加油!
文章转载自公众号:仨人谈起
