展望_机载软件适航验证技术现状及展望研究

来源:合同范本 发布时间:2019-07-05 18:00:43 点击:

  摘要:机载软件具有实时性、高可靠性、嵌入式的特点。软件的特殊性,给机载软件验证带来了严峻的挑战。本文首先研究了软件验证现状以及软件测试、评审方法,最后对目前软件适航验证的前沿技术进行了探索。它对于机载软件适航验证研究具有一定的借鉴意义。

  关键词:机载软件;适航验证;技术现状;发展方向;DO-178B

  波音777飞机成功地投入民航运营,标志着民机计算机软件设计时代的到来。

  硬件可以而且通常做彻底测试,甚至直到破坏,以保证不存在设计瑕疵,飞机的静力实验、疲劳实验、甚至整机适坠性实验都可以做。软件不像硬件设备和部件,它不会破坏或消耗,但软件很难达到和硬件相同的安全等级,软件不允许存在误差,否则后果不堪设想。比如,美国在一次卫星发射实验中,由于飞行计划程序里漏掉了一个连字符而导致了火箭实验的失败。由于软件的特殊性,特别是机载软件的日益复杂,给机载软件验证带来了严峻挑战。

  1.软件验证简述

  验证verification不仅仅是测试test。软件验证过程典型地兼有评审、分析和测试,所以测试仅仅是验证的一种手段,软件验证过程通过评审、分析、测试用例和程序的开发、以及测试程序的实施等各种方式的组合来实现其目标。评审和分析对软件需求、软件体系架构和源代码的准确性、完整性和可验证性进行评估。测试用例的开发可对需求的内部一致性和完整性进行进一步的评估。测试程序的实施证明了对需求的符合性[1]。目前机载软件验证的主要依据是RTCA DO-178(机载系统和设备合格审定的软件考虑),DO-178B设定了软件开发和验证的原则,是世界民用航空领域在适航取证过程中所广泛采用的适航标准,也是中国民用航空局适航司认可的民用航空机载设备和系统软件的适航审查依据。

  2.软件验证现状

  2.1软件验证标准DO-178B

  DO-178B标准不仅严格规定了软件开发的流程,而且还规定了每个流程都必须经过严格验证,光有开发过程的验证还不够,为了保证验证工作的质量,它还明确规定验证工作本身也要进行验证,如图1所示。由此可见,软件验证在整个开发过程中的极端重要性。

  2.2软件验证活动

  软件验证过程典型地兼有评审、分析和测试。

  2.2.1软件评审

  据有关资料统计,软件中的大部分缺陷是在编码之前造成的,因为软件设计人员设计不当而引入软件的缺陷占整个软件开发阶段引入缺陷的50%~65%,而软件评审技术可以发现其中75%左右的设计缺陷。软件评审作为软件管理的一项重要活动,是软件质量保证的重要一环。目前,我国软件工程化程度不高,软件评审随意性较大,相关标准缺乏规范,评审过程基本上停留在管理层面。

  软件评审通常包括:管理评审、技术评审、审查、走查和审核等5种类型[5]。机载软件评审的依据有DO-178B,NASA和EASA的相关标准,中国民用航空规章和其它的咨询材料等。

  2.2.2软件测试

  目前,与测试相关的三个重要观点是:(1)测试是为了证明程序有错,而不是证明程序无错误;(2)一个好的测试用例是在于它能够发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试[2]。

  软件测试的方法主要有:黑盒测试、白盒测试、灰盒测试等[4]。

  黑盒测试,又称功能测试。在测试时,完全不考虑程序内部结构与内部特性,测试者在程序接口进行测试。黑盒测试的主要方法有:等价类划分、边界值分析、因果图、错误推测等,主要适用于软件确认测试。

  白盒测试,也称结构测试。它按照程序内部的结构测试程序,来检验程序中的每条通路是否都能按预定要求正确工作。白盒测试的主要方法有:逻辑驱动、基路测试等,这一阶段测试以软件开发人员为主。

  白盒和黑盒测试,两类方法各有侧重,在测试的实践中都实用,但又各有优长,只有将二者有机结合,即进行所谓的“灰盒测试”,才能弥补二者的不足,使测试方法更加完善。

  2.3机载软件测试

  2.3.1机载软件测试目标

  机载软件的测试有两个互补的目标。一是证明软件满足其需求;二是以高置信度证明由系统安全性评估过程确定的可能导致不可接受的失效状态的那些错误已被消除[1]。

  2.3.2机载软件测试的特点

  (1)机载软件多为嵌入式软件,嵌入式软件具有两个显著特点:一是软件和硬件结合紧密,软件脱离特定系统往往无法运行,软件失效与硬件故障有时难以区分,甚至相互干扰。二是开发环境和运行环境不同。因而,嵌入式软件还必须进行目标环境的测试。

  嵌入式软件的这两个特性给软件测试提出了新的挑战,一些新的问题必须重视。比如,宿主环境和目标环境测试的分配、软-硬件错误的界定、硬件特性对软件测试的影响、测试所需的硬件信号驱动及响应等等。

  (2)机载软件实时性强。机载软件多是实时软件。不但要求软件执行实时性强,而且要求多个任务能协调执行。例如其中的飞控软件,一般根据任务组在飞控系统中所具有的作用、重要程度和其本身的变化率,分成各种不同速率组任务调度执行。为了满足不同任务优先级的要求,还要进行中断管理。因此在机载软件测试中,不但要对软件语句的执行逻辑关系进行验证,还要对该过程的执行时间和规定时间进行比较。

  (3)机载软件属于安全关键软件。其性能的不可靠将带来灾难性的后果,因此对其可靠性、安全性要求很高。为此在机载软件设计时采用一些提高可靠性、安全性的先进技术,主要有容错技术、N版本技术、安全监控和安全隔离技术等。

  3.软件适证技术展望

  3.1形式化方法

  将形式化方法用于软件和硬件设计,是期望能够像其它工程学科一样,使用适当的数学分析以提高设计的可靠性和鲁棒性。

  形式化方法的一个研究内容是形式规约,即用具有精确语义的形式语言书写的程序功能描述,是验证程序是否正确的依据;另一个研究内容是形式验证(Formal Verification),即验证已有的程序是否满足其规约的要求,它是形式化方法所要解决的核心问题。

  而如何基于形式化方法开发适用的软件测试模型则是未来研究的热点问题。

  3.2适航验证标准的发展

  现在的DO-178B是面向目标的相对稳定版本,现已使用了17年,由于以下原因,尚需对DO-178B做进一步修订:(1)其目标是“相对稳定”的,它不是“永恒稳定”的。(2)DO-178B对“面向目标”的原则还贯彻得不够彻底。DO-178B中所定义的66个目标中,有少量的目标其实不是真正的“目标”,而是“技术”。最明显的例子就是“验证的验证”的目标中关于MC/DC覆盖、判定覆盖、语句覆盖等。这些“技术”以“目标”的形式出现在标准里,使得DO-178B标准的稳定性大打折扣。

  总之,航空电子和软件开发技术的发展推动着合格审定过程的更改,DO-178B缺少旧软件工具的合格审定,而且先进的技术和新航空电子软件的发展,也需要有新的合格审定标准。

  4.结论

  机载软件具有实时性、高可靠性、嵌入式的特点,这些特点决定了机载软件适航验证技术必须具有极强的先进性。

  

  参考文献:

  [1]RTCA . DO178B . Washington,1992

  [2]刘皓、李长命,《软件测试简述与展望》[J].学术交流,2008

  [3]刘利枚、汪文勇、唐科,《嵌入式软件测试方法与技术》[J].计算机与现代化,2005

  [4]李幸超,《实用软件测试》[M].北京:电子工业出版社,2006

  [5]石柱、刘华、郭晓慧,《软件评审类型及其实施要求》[J].航天控制,2007

推荐访问:适航 展望 现状及 验证 研究 软件中间件技术现状与展望 最近一周热点新闻

上一篇:高职单招教育类_关于高职师范院校教师教育类课程设置刍议——中关职教师资培养教育类课程比
下一篇:最后一页

Copyright @ 2013 - 2018 三十范文网_讲话发言_党团范文_规章制度 All Rights Reserved

三十范文网_讲话发言_党团范文_规章制度 版权所有 湘ICP备11019447号-75