对于一般的软件算法来说,如果要让其达到相应的功能安全等级,就需要做软件的qualificatoin。简单来说,你需要要定义好软件需求,架构,代码,并进行单元测试,集成测试以及最后的qulification 测试。所有的这过程中,你需要按照ISO 26262 里定义的,定义好coding guideline,做好review,并按其中定义的测试方法进行测试,并达到里面定义的软件metric 要求,比如 branch coverage,MC/DC,function call coverage 等。
做完这些,就是为了保证你的需求定义的是对的,实现是ok的,并且测试验证也完全通过了。
功能安全本质是基于需求的开发,所以通过一系列safety measures, 来最大程度的保证软件正确的实现了其需求,就算满足了相应的ASIL 要求了。
但针对神经网络算法,我理解你可能是做自动驾驶相关的应用,这个时候你还需要考虑SOTIF,即该算法自身的安全问题。即定义的功能是否在所有的场景下都是安全的,而这就会间接的影响到ISO 26262 中V模型右侧的软件测试。
举个简单例子来说明下:你有个需求,“摄像头识别前车距离过近后,要自动减速。”你需要基于SOTIF的考虑,进行足够的场景和里程的测试,才能说明这条需求的测试满足了SOTIF的要求,在这种情况下,你才能说这条需求被测试完成了,才能说是满足了ISO 26262 V模型右侧的测试要求。
所以如果是针对自动驾驶相关的算法,你要在保证满足了SOTIF的情况下,才能说有可能满足ISO 26262.
做完这些,就是为了保证你的需求定义的是对的,实现是ok的,并且测试验证也完全通过了。
功能安全本质是基于需求的开发,所以通过一系列safety measures, 来最大程度的保证软件正确的实现了其需求,就算满足了相应的ASIL 要求了。
但针对神经网络算法,我理解你可能是做自动驾驶相关的应用,这个时候你还需要考虑SOTIF,即该算法自身的安全问题。即定义的功能是否在所有的场景下都是安全的,而这就会间接的影响到ISO 26262 中V模型右侧的软件测试。
举个简单例子来说明下:你有个需求,“摄像头识别前车距离过近后,要自动减速。”你需要基于SOTIF的考虑,进行足够的场景和里程的测试,才能说明这条需求的测试满足了SOTIF的要求,在这种情况下,你才能说这条需求被测试完成了,才能说是满足了ISO 26262 V模型右侧的测试要求。
所以如果是针对自动驾驶相关的算法,你要在保证满足了SOTIF的情况下,才能说有可能满足ISO 26262.