DO-330标准对机载软件开发过程的考虑

2019-10-08 05:48:00吴绿原
电子技术与软件工程 2019年15期
关键词:局方申请人工具

文/吴绿原

随着飞机功能和性能需求的进一步提升以及计算机技术的发展,飞机上越来越多的系统采用了嵌入式硬件和软件以实现复杂的功能。一方面,由于软件的功能变得越来越复杂,给传统的软件开发和测试带来了挑战,工业界越来越多地采用了软件设计工具和测试工具进行软件开发;另一方面,软件所承担的系统功能越多,机载软件失效所带来的影响也越大,尤其对于机载安全关键系统,适航当局对其安全性要求越来越高。随着机载软件适航标准的不断更新,如何在使用工具的条件下满足适航要求,成为机载软件开发组织必须要的重要问题。因而明确软件工具适航要求的内容,并讨论如何在型号合格审定中进行实践,具有十分重要的意义。

1 概述

DΟ-178标准作为一种机载软件的适航符合性方法,自1980年RTCA组织颁布DΟ-178,到1985年发布DΟ-178A,再到1992年修订发布了DΟ-178B,其已被全世界多数国家的适航当局和工业界认可。

随着软件技术的进步和软件规模的扩大,使用自动化工具进行软件的设计和验证成为一种新的趋势。同时包括基于模型的开发方法、基于形式化方法的开发以及面向对象的开发等一系列新技术也开始得到应用。这促使RTCA对已发布的标准继续进行完善。2011年,最新的DΟ-178C修订完成,同时发布了DΟ-330(工具鉴定)、DΟ-331(基于模型软件开发)、DΟ-332(面向对象的软件开发)、DΟ-333(形式化方法)四份新标准。在保持原有标准稳定性的同时,结合新技术对原有机载软件开发的标准进行了补充和完善。其中DΟ-330标准针对目前普遍采用的软件工具设计与验证工作给出了指南。但由于标准颁布的时间较短,在具体的软件合格审定实践过程中,该如何评估软件工具是否需要进行鉴定,如何定义工具鉴定的符合性目标,如何在软件研发过程中表明符合性,都是需要解决的问题。

2 DO-330标准分析

2.1 DO-330的使用范围

DΟ-178B的要求中包含了对于工具鉴定的要求,但只是将工具分为开发工具和验证工具,并在标准内容中做了简单要求。相比之下,DΟ-330充分结合当前软件工具在工业界的应用,对工具的等级做了进一步的划分。与同时颁布的其他三个标准(DΟ-331、DΟ-332、DΟ-333)不同,DΟ-330并没有限制只针对机载软件开发活动,所以其并不是DΟ-178C标准的补充,而是可作为一份可脱离DΟ-178C单独使用的标准。因此DΟ-330也可以适用于地面维护、空中交通管理等软件,甚至是其他行业或类型的软件开发。值得一提的是,对于复杂电子硬件的适航审定活动,其工具也是适用于DΟ-330的。

2.2 工具鉴定活动的利益相关方

DΟ-330包含了两类要求,一类是工具软件本身的要求,另外一类是对工具软件所开发对象的要求。按照DΟ-330的定义,工具鉴定活动的利益相关方(Stakeholder)包括工具的开发者(Tool Developer)和工具的使用者(Tool User)。对于机载软件开发工具而言,工具开发者有可能是商业软件的开发商,也可能是机载软件开发内部的团队;工具的使用者则是用工具软件进行机载软件的开发组织。

在适航取证中,机载软件项目的目标是保证最终得到局方对于项目的批准通过适航审查。当项目使用了软件工具并被局方确认需要进行工具鉴定时,则需同时保证工具所开发的软件和工具都通过适航审查。对工具来讲,对应的审查活动就是鉴定(Qualify)。工具的开发者保证工具满足适航要求(DΟ-330),工具的使用者保证除工具外的其他要素满足整个项目的适航要求(DΟ-178C)。

2.3 工具鉴定过程

在项目规划之初,定义软件的生命周期环境,对使用的工具进行识别;在软件计划阶段,根据DΟ-330标准,对软件工具进行评估,评估哪些工具需要进行工具鉴定,被鉴定的软件工具需要满足哪个TQL等级的鉴定要求;在得到局方的认可后,这些信息都要在软件的合格审定计划和工具鉴定计划(信息也可以包含在软件合格审定计划中)中进行定义。

在软件开发阶段,局方根据DΟ-178C的过程目标要求对机载软件活动进行审查,对在计划阶段定义的需进行鉴定的工具进行相应等级的过程目标审查。在软件验证阶段,也是同样的原则。最终在软件完成集成过程之后,局方会对工具软件是否满足DΟ-330过程目标给出结论,最终结合对机载软件的过程活动目标的审查给出是否满足DΟ-178C的结论。并在在对软件构型索引和软件完成综述的批准中进行确认。

如果提前进行了工具鉴定,那么局方是通过软件工具对DΟ-330的部分过程目标的符合性,了对与工具本身特性相关的鉴定。机载软件开发过程中,如果需要使用工具软件,仍需按照DΟ-178C和DΟ-330的过程目标要求,只是不需要重新生成部分已经在工具鉴定审查中被批准的数据。

适航审定实践中允许软件工具和使用工具进行研发的机载软件在不同的时间和空间下进行,工具的鉴定工作既可独立于其开发的软件对象,也可与工具开发的软件同步进行,但工具鉴定不能晚于软件项目的适航批准。对于已经提前进行过工具鉴定的工具,属于DΟ-330的11.2节定义的内容。

要明确的是,软件工具只是省略、减少或自动化了软件生命周期的某一个或某几个过程。但并不能够省略适航审定的活动。实际上,使用工具的意义在于用对工具鉴定的工作量替代了软件本身研发的工作量。即使对工具软件已经进行通过工具鉴定,并不代表使用这种工具所开发的软件具备通过适航审查的条件,而必须要结合研发机载软件的组织对于工具的使用提供标准所要求的必要的证据。且只能证明工具省略、减少或自动化的部分,而不是软件的整个项目满足适航要求。这与很多适航取证的申请人对于自动化工具的直觉感受是相反的。工具的使用实际上使得适航审定工作变得更加困难,它的意义在于减轻了研发活动的工作量。

3 工具鉴定的评估和级别定义

3.1 工具鉴定的评估

并不是在软件研发活动中所有使用的工具都需要进行工具鉴定。根据DΟ-178C的要求,通过两个基本准则来进行判断:

表1:工具鉴定等级的分类准则

表2:TQL等级对应的活动目标数

1)工具是否减少、省略或自动化了DΟ-178C所定义的一个或几个过程;

2)被工具减少、省略或自动化过程所产生的输出是否按照软件验证过程的要求进行验证;

当1)和2)条件同时满足时,使用的软件工具需要进行工具鉴定。软件工具是否需要进行工具鉴定并不是绝对的。同样的软件工具,在不同的机载软件开发项目中,工具输出的结果是否按照DΟ-178C定义的软件验证活动进行验证,决定了软件工具是否需要被鉴定。原则上给软件开发组织在软件结果验证活动和工具鉴定活动之间的权衡保留了空间。申请人既可以考虑通过对工具软件的输出结果验证来避免对工具进行鉴定,也可以通过工具鉴定活动来省略对软件过程输出结果的验证。

3.2 工具鉴定级别的定义

确定进行工具鉴定的软件工具需要判断鉴定的等级。DΟ-178C和DΟ-330将工具的鉴定等级分为5级,由TQL#1至TQL#5,对工具鉴定的过程目标要求依次降低。标准通过判定矩阵给出工具鉴定等级判断的原则:1)使用工具软件开发的机载软件的DAL(Design Assurance Level);2)对工具软件的使用准则(Criteria),3个准则的要求如下:

Criteria1: Atoolwhoseoutputispartoftheresult ingsoftwareandcouldinsertanerror.

Criteria2: A tool that automates verification process(es) and thus could fail todetect an error,and whose output is used to justify the elimination or reduction of:

· Verification process(es) other than that automated by the tool,or

· Development process(es) that could have an impact on the airborne (or CNS/ATM) software.

Criteria3: A tool that,within the scope of its intended use,could fail to detect an error.

判断矩阵如表1所示。

与DΟ-178B不 同,DΟ-178C和DΟ-330并没有定义开发工具和验证工具。而是以软件输出的最终结果影响和被开发软件的DAL判断。如果工具的输出错误会直接导致机载软件错误或者将错误引入机载软件,则纳入准则1的范围;如果工具软件的错误会导致无法检测出机载软件的错误,则纳入准则3的范围;如果工具的软件自动化代替了一个或多个验证过程而有可能由于错误而的错误会导致无法检测出机载软件的错误,并且工具的输出还被用来减少或省略被工具自动化以外的验证过程,或这对机载软件的开发过程造成影响,则可以定义为准则2。

情况1:现在有一些工具软件可以对软件代码进行形式化验证的软件,软件本身可以减少软件的代码走查活动。同时,工具还减少了后续对于软件测试的覆盖率分析工作,则这类软件有可能作为准则2来进行分类。

情况2:对于代码覆盖率测试工具,如果其对被测软件进行插装,且无法证明工具的错误不会导致插装代码会残留在机载软件中,则其作为准则1来进行鉴定。

4 DO-330定义的工具鉴定目标

确定了工具鉴定的等级,则按照DΟ-330附录A中TQL-1到TQL-5这5个不同等级的活动目标进行研发和适航审查。不同TQL对应的过程目标数如表2所示。

对表2进行分析,第2到8组过程,TQL-5几乎不需要满足任何目标;而对于TQL-4,第5到第8组过程也只有少数需要满足。相对于TQL1,TQL2和TQL3而言,TQL4在各个阶段需要满足的目标数少约50%,其中TQL5需满足的目标数不到TQL1的20%,且都集中在操作需求过程和构型管理过程保证过程中。结合表1,TQL4和5的要求集中在准则2和准则3的工具中。因此。只要能够保证工具软件的输出错误不会直接引入错误到机载软件,那么其工具鉴定工作的活动工作量会大大减少,通过类比机载软件不同过程的目标个数的工作量(图1),TQL4工具鉴定的工作量约为TQL1工作量的20%。

图1:DO-178C与DO-330不同等级目标比较

图2:对先前已鉴定工具的评估流程

通过图1的比较会比较清晰地发现,DΟ-178C中的DAL与DΟ-330中的TQL的相同等级的目标数量存在者很大的相似性。这是由于对于开发工具来讲,不管工具软件减少、省略或自动化了哪一个步骤,对于工具的适航要求与机载软件的适航要求基本是一样的,这也与DΟ-178B的要求一致。

5 工具鉴定中的其他考虑

除了对通用性的工具鉴定考虑之外,DΟ-330在标准的第11章对特殊的情况进行了说明。虽然是对DΟ-330工具鉴定的补充考虑,但其对多功能软件工具、先前鉴定软件工具、货架工具软件的鉴定及历史数据的要求,却是目前型号中工具软件很多情况下要考虑的问题。这是因为大多数项目都是为了节省软件项目开发进度和人力成本而使用工具。而采用已经被鉴定的工具或者货架产品,才能够最大化的实现缩减进度和减少目标,否则使用工具的优势很难弥补工具鉴定所带来的额外付出。

5.1 具有多个功能的工具鉴定

多数软件工具有不只一个功能,其减少、替代或自动化的也不只一个软件过程,因此在工具鉴定活动中对每个功能类别都有可能作为一个单独项目进行评估和分析。按照可执行文件是否为一个整体进行分类可以分为:不同功能的软件工具作为同一个可执行文件;不同功能包含在不同的可执行文件,这种情况下,允许选择或者关闭特定功能;也有情况是不同功能以其他形式构成组合,但允许用户选择或者关闭特定的功能。

对于具有多个功能的工具,首先要评估哪些功能被使用。然后就是对确认使用的的功能进行评估,按照第3章和第4章的方法,评估是否需要进行工具鉴定,判断需要进行哪个等级的工具鉴定。

原则上来讲,单独实现的功能,不管是其在同一个可执行文件中,还是在不同的可执行文件中,都允许根据其使用的研制保证等级和

5.2 先前已鉴定工具的复用

先前鉴定工具的使用是工程实践中常遇到的情况,是指已通过鉴定的工具在更改的项目或者新项目中复用。对于先前鉴定工具包括以下3种情况:(1)对于已被鉴定的工具的复用而无任何更改;(2)工具的使用环境发生了变化;(3)工具本身发生了更改。通常对工具软件的更改评估采用如图2的流程:

如果申请人要声明先前鉴定的工具未经任何更改,则需要同时满足以下条件:

(1)工具软件已经在之前被局方批准的软件项目中通过鉴定;

(2)已通过鉴定的工具的项目具有与当前项目相同的鉴定等级,或比当前的软件等级高;

(3)在工具通过鉴定之后,复用部分的工具的生命周期数据未经改变;

(4)当前的项目与已经通过工具鉴定的项目具有相同的运行需求;

(5)当前项目与已经通过工具鉴定的项目具有相同的运行需求;

(6)申请人可以访问被批准的工具的取证证据;

(7)申请人需确认已经通过鉴定的数据与当前项目使用的工具是同一版本。

以上条件如果有任一一条不满足,则判定工具或者工具的运行环境发生了更改。通过分析,申请人在新的项目中要声明采用已被鉴定的工具,要求是十分苛刻的。如果工具、工具鉴定的计划或者等级发生了更改,则需要进行进一步的影响分析。

5.3 货架工具软件

货架工具软件通常并不会针对某个特殊的软件项目,因此是典型的工具的开发者和工具的使用者不属于同一组织的情况。且通常货架工具软件没有专门针对适航审查的工具生命周期数据,因此给申请人取证过程带来了困难。根据上文的分析,对于TQL1、2和3的工具来讲,如果没有工具软件的生命周期数据,是很难满足适航要求的。而对于TQL4和5等级的工具鉴定来讲,一般工具软件开发者的运行需求和工具使用者是不同的。工具的使用者需要提供更为详细的工具操作需求,才能够满足适航的要求。

5.4 服役历史

在工具操作需求被定义的前提下,如果存在以下情况,申请人可能需要使用服役历史数据来进行符合性表明。

(1)工具已经被使用过,但是需要的工具鉴定数据无法得到;

(2)工具的鉴定等级需要提升;

(3)工具的一些特性很难通过现有的数据进行分析;

(4)对于工具操作需求的符合性证明不够充分的条件下,需要服役历史数据来提高审查方对项目的信心或置信度。

通常对于服役历史数据的审查,需要从工具操作需求的符合性演示,工具使用的问题报告,工具使用的环境,工具的操作,工具的稳定性和成熟度及工具使用对象的情况这几个方面来考虑,一般采用一事一议的原则。

5.5 其他替代方法

DΟ-330中也定义了可以考虑的替代方法,在项目中也可以作为选择的方案,例如输入穷举测试,形式化方法或者非相似工具的使用。如果采用了替代的方法来证明符合性的话,则需要在工具的计划中进行明确。替代的方法需要提供足够的证据证明完整性和正确性。例如采用非相似工具进行输出对比时,要尽可能考虑到所有的输入输出可能出现的情况。即使采用了替代方法,申请人也必须向局方表明对于DΟ-178C和DΟ-330的目标的符合性。

6 总结

在机载软件研制的过程中,使用软件工具来减少、消除或者自动化某个过程,能够节省大量的资源,提高项目的进度。如果对工具的输出不进行验证,则要评估工具软件是否需要进行工具鉴定,以及工具鉴定的等级。由此带来的是工具鉴定活动的成本。通过最新发布的DΟ-330标准的分析,明确了工具鉴定的评估、级别的定义流程和方法。对工具鉴定的过程和目标进行了分析。同时,针对实际工程中遇到的一些具体情况,结合标准要求对多功能工具、先前已鉴定工具的复用、货架工具软件、服役历史等要求进行了分析。同时对可能的替代方法进行了分析。

对于申请人来讲,需要综合进度、成本及复用性等因素,选择是否要使用工具,是否要对工具进行鉴定,对工具鉴定的等级也要进行选择。总之,DΟ-330标准充分考虑目前工程应用中的情况,通过对标准的分析,旨在为申请人提供了具体的取证方法和过程说明,为机载软件适航取证的策略提供参考。

猜你喜欢
局方申请人工具
C919机进入局方审定试飞阶段 民航上海审定中心签发大型客机首个型号检查核准书
波比的工具
四十感怀
波比的工具
Y12F飞机噪声局方并行试飞适航审定技术
7月1日起澳洲签证费将全面涨价上调幅度达到5.4%
留学(2019年12期)2019-07-29 07:04:12
《日本藏西夏文文献》收录汉文刻本《太平惠民合剂局方》残片考
西夏学(2018年1期)2018-04-29 09:08:16
“巧用”工具
读者(2017年18期)2017-08-29 21:22:03
一种含碘氢碘酸浓度的分析方法
一种黄霉素A组分的分离纯化方法