火箭自爆竟然是这个原因 - 知乎

adminadmin 新闻资讯 2024-03-27 13 0
火箭自爆竟然是这个原因 - 知乎

  阿丽亚娜5型运载火箭是20世纪90年代由欧洲率先研制成功的世界上第一个“少级数、大直径”的大型运载火箭。

  1996年6月4日。“阿丽亚娜-5”运载火箭进行首次测试发射,结果是失败的。在火箭发射后的第37秒就被迫自爆。经过检查后发现,原因竟然是因为控制火箭飞行的软件发生了故障。资料显示由于64位元的运算错误的变为16位元的运算,造成程序崩溃后处理器发生数据溢出,读取感测角度水平数据运算时错误地读入垂直数据,导致火箭在高速下进行了90度水平滚转而崩溃,触发了自毁装置。造成了非常大的损失。

  近年来随着航空、航天、船舶等关键领域系统功能越来越强大,结构越来越复杂,信息化程度越来越高,软件已逐渐成为整个系统中不可或缺的关键部分,所占比重越来越大,许多重要、复杂的功能都是由软件来实现的。软件的安全与可靠直接关系着整个任务的成败与人员的生命安全。近年来,国内外由于软件故障的原因导致整个任务失败的案例越来越多,如何保证软件的稳定与可靠,成为了我们亟待解决的问题。

  造成这些问题的原因有很多,其中最主要的一个原因就是测试不够充分。这些关键领域的软件基本都具有硬件多、软件耦合度高、实时、指令集多等典型的嵌入式软件特征,这些软件应尽量在其真实的运行环境中进行测试。然而由于硬件设备的研制周期长,跟不上软件的开发进度、通用性差、价格昂贵、可用数量少,无法满足同时使用的需求、测试手段缺乏等原因,导致软件的研制进度受制于硬件研制,进而导致软件开发进度慢、测试不充分。

  目前我国关键领域软件开发、测试的典型环境包括全实物环境、半实物仿真环境和全数字实时仿真环境。

  全实物仿真测试是指被测软件完全处于真实运行环境中的一种测试(如下图)。全实物仿真环境中,软件运行在真实目标机上,与其相连的其他系统也是真实的物理设备。常用的测试工具包括总线监视器、仿真存储器以及逻辑分析仪等。全实物环境的优点是软件运行环境真实,测试结果可信度高,但是在全实物环境下,测试实时软件的可控性很差,不易控制软件下一步的行为和状态,难以把握软件运行质量。犹如软件的黑盒测试,什么都看不到只能看输出。半实物仿真测试是指嵌入式系统作为一个整体,而通过仿真的方法模拟嵌入式系统与其他交联设备之间的通信的一种测试。

  半实物仿真测试环境一般由目标机和主机构成,目标机负责运行被测软件,并实现断点调试,提供软件执行信息的功能。主机则实现测试管理、环境模型仿真、激励提供、测试结果分析和显示的功能。这是目前航天嵌入式软件最常用的测试环境。全数字实时仿真测试是指完全利用软件仿真技术,逼真地模拟被测软件运行的物理环境所形成的软件系统。在其上可通过动态执行被测软件进行的软件的开发、调试、确认与验证活动。

  理想情况下,原来运行于真实环境上的嵌入式软件,可以不加修改直接在全数字实时仿真测试环境上运行,并且其运行的动态特性与在真实环境上一致。

  全实物仿真测试环境与半实物仿真测试环境均是基于真实目标机的环境,虽然测试结果能够更真实的反映实际运行情况,但是还是存在以下的不足之处:目前国内外的嵌入式系统开发基本都采用软硬件并行开发模式。硬件研制往往无法跟上软件研制的进度需求,导致软件没有办法尽早、及时得到测试,导致前期很难发现软件存在的问题。测试困难。很多嵌入式软件测试会采用插桩等技术来获得有限的测试信息。但是插桩这种方式会导致很多其他问题,比如代码膨胀导致代码无法加载,代码变多实时性变差,甚至会影响最终的执行结果。通用性差。嵌入式软件的特点,软硬件耦合性很高,基本每个软件都根据硬件定制的,很难兼容其他项目。环境的可控性较差。测试过程中的状态保存、恢复及特定测试场景的设置较为困难;测试过程中很难对测试速度进行控制;测试过程中很难知道运行中数据的变化过程,导致没有办法及时发现问题。成本浪费。开发和测试都需要测试环境,研制时间和成本都会大大增加。

  全数字实时仿真系统虽然不能达到全实物测试环境与半实物仿真测试环境的真实性,但对测试来说也是一种有益的补充,它能够解决以下的问题:软件系统的提前和并行开发,缩短开发时间,降低成本。对复杂的硬件平台有更好的可控性,利于系统级软件开发和问题定位。 配置灵活,成本低,长期来看可以节省大量的硬件开发平台成本。可编程的功能定义,能够仿真硬件平台的各种故障,有利于提高系统可靠性和鲁棒性。 可编程的运行和输入输出过程,减小测试的工作量和成本,可以进行自动化测试。 对运行过程中的硬件内部流程有全部的记录,基于这些记录可以进行覆盖率测试和性能分析这样在硬件平台上很难进行的工作。不受数量的限制。全数字实时仿真环境是纯软件的,运行在PC机上,可以同时搭建很多套,开发人员和测试人员可以并行使用,来解决半实物仿真和全实物仿真设备数量不足的问题。全数字实时仿真系统可以连接外部实装的输入和输出,也可以连接客户的Matlab等虚拟模型,进行激励的输入和输出,形成全闭环的仿真环境。

  通过上述深入的分析,全数字实时仿真系统能够很好地解决目前软件开发和验证带来的在软件仿真、功能测试、性能分析、代码调试、代码覆盖率几方面带来的技术挑战。能够为软件开发和验证提供一个功能强大、高效、易用的平台,从而有效的提高软件开发和验证的质量和效率。这对于提高我国关键领域软件工程技术水平,提高高可信软件研制能力,提高我国关键领域的国际竞争力具有重要意义。

  今天关于火箭自爆的原因先告一段落,下一篇我们来讲讲高性能网卡----DPAA。

  微信公众号:迪捷数原

  联系电话:010-56131268,0575-88361699;13501153049、13260299730 (微信同号)

  联系邮箱:contact@digiproto.com

  工作地址:北京市海淀区中关村软件园

  浙江省绍兴市越城区绍兴水木湾区科学园3号楼8层802

  公司网址:www.digiproto.com

版权声明

本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。

喜欢0发布评论

评论列表

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址