概述
随着工业各个领域的系统复杂度和软件功能的快速发展,在每个行业都有相应的软件开发包管标准,来包管所研制的软件达到相应的安全级别。其中,六大主流领域的软件开发包管标准包罗民航(DO-178C)、汽车(ISO 26262) 、航天(ECSS-Q-ST-80C)、工业主动化(IEC61508)、核工业(IEC 60880 ) 和轨道(EN 50128)。RTCA DO-178C作为民用航空领域中的软件开发引导原则,其主要包罗如下部分:
DO-178C:机载软件的审定考虑
DO-248C:178C的说明性文件
DO-254C:航空或者发动机的机载系统和设备的复杂电子硬件设计的质量包管导则
DO-278A:空中交通管制等地面软件标准
DO-330:工具鉴定要求标准
DO-331:基于模型的设计和开发增补文档
DO-332:面向对象技术增补文档
DO-333:形式化方法增补文档
RTCA DO-178C
DO-178的发展始于上个世纪80年代。1980年,无线电航空技术委员会(如今的RTCA)成立了一个开发和记载软件实践委员会,以支持开发基于软件的机载系统和设备。 欧洲民用航空电子组织(如今的EUROCAE)此前已经成立了一个工作组来制作类似的文件,并于1980年10月预备出书文件ED-35“软件发起书” 机载系统的实践与文献。EUROCAE决定停止编辑本身的文件,并加入RTCA来制定一套通用的指南。 1982年出书了名为ED-12 / DO-178“机载系统和设备认证中的软件留意事项”的联合文件,1985年修订版A,1992年修订版B。2012年发布 ED-12 / DO-178C,包罗特定技术或方法的引导原则。
在修订DO-178BB的开发过程中,委员会发现,系统级信息需要作为软件开发过程的输入。 许多系统级决策对于飞机系统的安全和功能方面至关紧张,有须要将与这些决策有关的过程和结果进行监管。因此,SAE(汽车工程师协会)和EUROCAE在1995年出书了ED-79 / ARP-4754“高度集成或复杂的飞机系统的认证留意事项”。 它涉及实现飞机级功能的系统总体生命周期。 它重点关注对系统建立安全性的题目,而不覆盖各系统、软件和硬件的详细设计流程。2010年,委员会又进一步发布了ED-79 / ARP-4754A。
在系统层面,同时还有一个紧张的 EUROCAE / SAE文件ED-135 / ARP-4761详细说明了安全评估过程的方法。
2000年4月,EUROCAE / RTCA又发布了文件ED-80 / DO-254“机载电子硬件设计包管引导”来办理复杂硬件设计方面的详细要求。
RTCA DO-254
DO-254是针对航空电子设备硬件开发的认证标准,特殊是在硬件设计、开发和验证方面的要求。它资助确保硬件设计的可靠性,尤其是在关键系统中,包管硬件不会因故障造成飞行安全题目。
主要内容:
硬件开发的过程:包罗硬件设计、验证、确认等,确保硬件设计符合功能和性能需求。
硬件故障模式分析:识别潜伏的硬件故障模式,并进行相应的分析和验证。
硬件验证:确保硬件的功能、性能和安全性符合要求,通常需要进行功能测试和环境测试。
RTCA DO-278
航空电子设备和汽车在安全性要求上,有着显著的共同点:两者的安全标准都极为严格,一旦发生变乱,可能会对职员造成严峻伤害。这两种设备均属于可编程电子电气设备,因此,航空领域的DO-178C和DO-278A标准,以及汽车行业的ISO 26262功能安全标准,它们的根源都是IEC 61508。IEC 61508是一项针对通用型可编程电子电气设备的安全规范基准。
详细来看,航空领域的研发流程与汽车行业非常相似,都采用了V模型研发模式。在航空领域,研发过程细分为系统需求分析、高级软件需求、软件架构设计,以及低级软件需求,然后再到编码和对应的测试用例。其中,航空领域的高级软件需求与汽车行业的软件需求分析相对应,低级软件需求则对应汽车行业的软件详细设计。
其次,在汽车行业,ISO 26262标准将功能安全分为ASIL D、C、B、A、QM这五个等级。在航空领域,这一安全标准称为DAL,也分为五个等级,从DAL-A至DAL-E,其中DAL-A相称于ASIL-D等级,DAL-E则对应QM等级。针对不同的安全标准与等级,航空行业也提出了本身的编码和设计规范,要求采用模型化设计方法,即DO-331。在测试过程中,两者都采用基于需求的功能测试、结构覆盖度分析、资源占用测试、接口及控制测试、基于编码规范的检查和静态代码扫描。航空领域独有的最差用例执行时间测试在汽车行业中似乎并不常见。此外,航空领域的测试标准同样涵盖了汽车行业常见的MC/DC和条件覆盖度测试等方法。
RTCA-DO330
DO-330文档深度剖析了软件工具在航空电子领域内的应用标准,不但要求工具自身具备高度的可靠性和准确性,也夸大了其在整个开发周期中的质量控制过程。它不但仅是规范,更是一套全面的方法论,涵盖了从工具的选择、鉴定方法到集成验证的全过程。对于采用主动化工具进行代码分析、测试天生等关键活动的团队而言,这一标准是确保符合行业最高安全级别的基石。
RTCA-DO331
DO-331是针对航空软件开发中基于模型的开发与验证的增补标准。随着航空工业对软件的依赖日益增强,模型驱动开发(ModelBased Development MBD)已成为确保软件质量和安全的紧张方法。DO-331的目标是为开发团队提供一套系统化的框架,以确保在软件开发过程中,所有利用的模型都能够准确反映需求,符合安全标准,并具备可验证性。
模型驱动开发的优势在于能够在开发早期识别潜伏题目,从而降低后期修改的成本。在航空软件开发中,要求模型必须能够经过严格验证,以确保其在实际应用中的可靠性。DO-331的实施不但有助于提高软件开发的服从,还有助于包管最终产品的安全性和功能的可靠性。
RTCA-DO332
DO-332 提供了对面向对象技术(OOT)的详细引导。面向对象技术广泛应用于现代软件开发,但由于其复杂性和灵活性,它也带来了更多的验证挑衅。
DO-332详细形貌了怎样验证面向对象的设计和实现,包罗怎样处理继承、多态、封装等特性。特殊是怎样防止因多态性带来的错误行为,以及怎样确保子类和超类的行为一致性,是DO-332的关键内容。
面向对象技术固然提高了开发服从,但其复杂的继承关系和类之间的交互使得验证工作更加复杂。因此,DO-332详细规定了怎样在利用这些技术时进行测试和验证,确保代码的行为与设计一致。
RTCA-DO333
DO-333 引入了形式化方法,用数学逻辑和公式来验证系统设计和实现的精确性。它特殊实用于高安全等级的系统,能够通过数学验证减少常规测试难以覆盖的隐患。
DO-333为形式化方法的利用提供了引导,特殊是在系统设计的早期阶段,可以通过形式化方法来确保需求和设计的一致性。形式化方法在验证复杂逻辑、并发操纵和及时系统方面有显著的优势。
DO-333还提出了怎样将形式化验证结果整合到软件开发生命周期中,确保这些结果能够在适航审查中得到认可。
其他相干参考资源
DO-178C相比DO-178B的修改与影响:
https://zhuanlan.zhihu.com/p/4657600244
原文链接:
Ref:
不偕行业的软件安全标准介绍和对比 (上篇) - 知乎
https://blog.csdn.net/lida2003/article/details/143567424
https://zhuanlan.zhihu.com/p/14149216186
https://blog.csdn.net/gitblog_06674/article/details/143397892
DO-331标准详解:基于模型的机载软件开发和验证-CSDN博客
https://zhuanlan.zhihu.com/p/4657600244
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |