MUNIK带你了解ISO26262中的软件复用
有过ISO26262履行应用教养的东说念主齐知说念,ISO26262方法将软件、硬件或完整ECU的复用当成是一个重心话题,在许多方位齐有加以筹商。原因是因为有两个方面在履行树立中至关费劲:一方面是从经济角度来看,组件的重叠使用相配有劝诱力,树立本钱不错显耀裁减,树立速率不错普及;另一方面出于安全议论,重叠使用组件不错提供显耀的上风。因为在现场使用多年且莫得显裸露安全干系故障的为止单位不错被重叠使用,何况新版块在经受旧版块的基础上进行改动时,不错合计其风险较低,这一丝是不消置疑的。
软件复用的场景:
在对ISO26262方法十多年的斟酌和实施之后,咱们对于汽车行业不错进行复用的场景了然于心,下图领先透露了各式可能性。郑重并非扫数旅途齐相通不绝地出现,而且并非扫数场景在实践中发生的可能性齐是一样的:
图一 软件复用的场景和分类
要是咱们看第一个眉目,对于笃定应该复用什么,这里提供了软件、硬件或完整的为止器单位三种可能性。第二个眉目波及可重叠使用成分的功能安全要求的议论。第三个眉目笃定软件是否会在不变的情况下重叠使用,简略是否需要进行治愈。
图二 软件组件和软件单位的界说(来源:ISO26262 Part1)
ISO 26262的要求:
ISO26262 8-Clause 12:“软件组件的果决”界说了字据ISO 26262还是树立的软件组件的再行使方法。对于字据ISO 26262树立的成分,应提供适用于再行使的阐扬注解。及格软件组件的再行行使幸免了具有沟通或相似功能的软件组件再次树立。
ISO26262 8-Clause 14:界说了使用在用阐扬注解的方法。这里是指现场还是在使用的组件,何况有充足的故障数据。要是兴奋方法中界说的要求,则可将在用阐扬注解用作兴奋ISO 26262的替代方法。
在准备在用阐扬注解时,必须议论以下两个方法:
1) 不雅测技巧现场数据的干系性
2) 自不雅察期初始以来对居品的革新(要是有)
鉴于现场数据的干系性,“在用阐扬注解”旨在识别ECU的系统性和当场性极端,而不是识别由于ECU的使用年限而导致的极端。另外除了上头两个与复用相关的章节外,虽然还有许多来自ISO26262不同部分的应用要求,比如影响分析、集成计谋和考证计谋等。
ISO26262的具体实践案例:
通过上头的训导,咱们能意志到与安全干系的软件的复用不错有许多履行应用场景,接下来必须在ISO26262中笃定与特定名目干系的重叠使用的具体实践,这里将通过几个例子来筹商。
案例1:软件适当ISO 26262,新系统具有沟通的ASIL级别
在这个例子里,咱们假定现存的软件还是适当ISO 26262。当今,它策画将这个软件谋划地动荡到一个新的系统中,ASIL保捏不变。在这种情况下,ISO 26262第8部分Clause 12“软件组件的果决”界说了要推行的任务,即必须查验昔时树立的组件在多猛过程上对软件的新用途灵验和完整。理念念情况下,查验的收尾是扫数组件齐不错在不修改的情况下被经受。字据ISO 26262第6部分Clause10“软件集成和考证”,集成测试是必要的,以阐扬注解软件在新环境中也能完满使命。
图三 案例1:软件复用的要求
一个来自航天行业的例子是阿丽亚娜5号,它在1996年6月4日放射后不久自毁,捕快收尾从一定过程上阐扬,当软件还是被动荡到新系统中,但集成测试仍然不完整时,可能会出现哪些极端。比如那时系统崩溃的原因是软件在将水平速率从64位浮点治愈为16位值时内存溢出。因为火箭新式号的水平速率值显然高于上一个型号,是以这种治愈导致了16位值的溢出。
案例1a:软件适当ISO 26262,但已革新,新系统具有沟通的ASIL级别
要是现存软件是字据ISO26262树立的,ASIL保捏不变,但对软件进行了修改,则不错部分应用方法第8部分Clause12“软件组件果决”。在这种情况下,保捏不变的软件部分的使命产出物不错被复用。此外需要进行影响分析,以分析革新的影响。
然则,在复杂革新的情况下,分析的收尾不错是必须对现存使命产出物的大部分进行治愈,以兴奋ISO26262的要求。要是软件的革新还包括树立新的部分,则必须字据方法的要求再行创建使命产出。像这么的情况下,集成测试慑服是必要的。
图三 案例1a: 软件复用的要求
案例2:软件适当ISO 26262,新系统具有更高的ASIL级别
这个案例与案例1的不同之处在于,新系统必须兴奋更高的ASIL。现存软件是为较低的ASIL级别树立的。在这种情况下,必须依据ISO26262进行影响分析,以笃定哪些组件需要稀奇树立。现存的使命着力物也可能需要进行治愈以兴奋更高的ASIL等第。
举例,依据ISO26262的影响分析可能标明,必须再行创建用于考证的查验单(Inspection checklist)(因为查验/Inspection对ASIL B、C和D来说是必要的),因为分析前是以走查(Walkthrough)的方式进行的考证(对于ASIL A来说充足)。
另一个例子是源代码所需要兴奋的结构掩饰度要求。对于ASIL B和C,分支掩饰就充足了。对于ASIL D,则还需要兴奋MC/DC(修改要求/判定掩饰率)的要求。
案例3:软件是在ISO 26262奏效之前树立的
这个案子很浅陋。ISO26262不适用于此类软件,因此不需要应用。
然则,很显然,这种情况越来越陌生,因为方法还是奏效几年了(自2011年以来)。而在引入ISO 26262之后,咱们但愿幸免在引入的时辰点还是存在的系统随后必须得当该方法,这恰正是ISO PAS 8926所怜惜的问题。
案例4:COTS软件
对于汽车行业中使用的商用现货(COTS)软件,不错应用所谓的“在用阐扬注解”(A proven in use, ISO26262第8部分Clause 14)。对于此类软件,平庸险些不能能创建ISO26262的必要产出物,原因是咱们无法探望源代码。因此在这里在用阐扬注解是兴奋方法要求的一种相配有用的方法。从根底上来讲,一个在用阐扬注解是使用历史数据来估计功能故障模式的翌日趋势,因此有可能是不准确简略不具有鲁棒性的假定。只消在少许数情况下,在用阐扬注解能足以阐扬注解受信任的软件成分竣事了必要的安全完整性。
故而如起头所言,方法中对这种情况的要求非常惨酷:
l必须阐扬注解现场数据在规章的不雅测期内是可用的,且这些数据本色性地与功能安全干系(必须进行详备分析);
l要是在不雅察期内进行了变更,则必须阐扬注解这些变更不会影响数据的干系性;
l必须经受系统性集成的方法;
l必须给出谋略不雅察期(劳动期)的根由。
追忆
在本文中咱们分析了软件复用的宽敞场景,使用树立当中的实践为不同场景界说了明确的措施,以适当ISO26262方法的要求。在这部分咱们不错得出论断,只消同期领有专科着实立经管和较高的测试自动化过程,软件的复用才调从经济学的角度获益。