DO-178C-VS-DO-178B

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

DO-178C与与与与DO-178B的差别的差别的差别的差别王云明[文章来源:=241][欢迎转载,转载时请保留该声明]1.前言前言前言前言在民用航空机载系统的适航体系中,DO-178(机载系统和设备审定中的软件要求)是机载软件的适用标准。它最早由RTCA和EUROCAE发布于1982年,此后在1985年和1992年进行了两次改版,分别为DO-178A和DO-178B(EUROCAE的编号为ED-12A和ED-12B)。DO-178B虽然具有较好的稳定性,但随着机载软件研制新技术的层出不穷,人们开始意识到需要对DO-178B作一定的补充和修订,以适应新的软件研制技术。为此,RTCA和EUROCAE联合成立了SC-205和WG-71,来完成这项艰巨而富有挑战的工作。SC-205/WG-71联合委员会于2005年3月第一次召开联合会议,此后每年两次定期召开联合会议来商讨和修订DO-178B。随着工作的开展,大家普遍认识到任务的艰巨和进度的落后,因此从2008年开始改为每年三次联合会议。目前,可以认为DO-178C和相关补充文档已逐渐进入了最后定稿和审稿的阶段。后面可能还会有文字的上修改,但已经不会再有颠覆性的变化。这样,我们就可以开始谈论将来DO-178C和现有DO-178B之间的差异了。本文旨在简要分析二者的差异,作为向广大软件适航关注者和爱好者的预报吧。2.改正错误改正错误改正错误改正错误一个新的版本出来,要把老版本中的错误改掉,这个不用多说。关键是要举例子给大家分享:知道DO-248B的人应该清楚,其第二章是对DO-178B的勘误,列举了当时已经发现的DO-178B中的一些比较明显的错误。这些错误在DO-178C中已经全部改正过来了。DO-178B中还有一些很难发现的错误。说它们很难发现,我的意思是说,光光靠阅读几遍标准是发现不了的,只有真正深入钻研过并实践过DO-178B的专家才能发现。举个例子来说,DO-178B附件A的表A-1的第五个目标说明,对于D级软件不需要编写软件标准;而表A-9中第一个目标则要求,即使对D级软件,QA活动仍需要保证软件开发进程和软件综合过程符合已批准的软件计划与软件标准。二者之间一个潜在的问题是,D级软件可以不写软件标准,那QA活动就谈不上要保证符合软件标准。像这样的细节,没有深入研究和实施过DO-178B的人是发现不了的。当然,对于这样的“错误”,其实也可以“正确”地解读:也即,如果D级软件没有软件标准,那么就已经符合了软件标准了。DO-178C改正了不少这类错误,一方面说明了DO-178C是个严格的标准,另一方面也说明制订标准的人员严谨的办事作风。3.澄清澄清澄清澄清内容内容内容内容错误要改正,晦涩的地方也需要澄清。DO-178C澄清了许多DO-178B中写得不清楚、不容易理解、或很容易误解的章节或段落。例如:DO-178B,6.4.4.2.b:ThestructuralcoverageanalysismaybeperformedontheSourceCode,unlessthesoftwarelevelisAandthecompilergeneratesobjectcodethatisnotdirectlytraceabletoSourceCodestatements.Then,additionalverificationshouldbeperformedontheobjectcodetoestablishthecorrectnessofsuchgeneratedcodesequences.Acompiler-generatedarray-boundcheckintheobjectcodeisanexampleofobjectcodethatisnotdirectlytraceabletotheSourceCode.这段文字很难读懂,并且,在DO-178B这么多年的应用中,很多人对此一知半解,甚至误解。要正确解读和理解这段文字,除了充分分析句子结构,揣摩和体会其用意,还要结合DO-178B中的其它相关文字,如4.4.2节。在DO-178C中,专家们对内容进行了修改,对文字进行了抛光,读起来感觉好多了,结果如下:DO-178C,6.4.4.2.b:StructuralcoverageanalysismaybeperformedontheSourceCode,objectcode,orExecutableObjectCode.Independentofthecodeformonwhichthestructuralcoverageanalysisisperformed,ifthesoftwarelevelisAandacompiler,linker,orothermeansgeneratesadditionalcodethatisnotdirectlytraceabletoSourceCodestatements,thenadditionalverificationshouldbeperformedtoestablishthecorrectnessofsuchgeneratedcodesequences.Note:Acompiler-generatedarray-boundcheckisanexampleofgeneratingadditionalobjectcodethatisnotdirectlytraceabletotheSourceCode.诸如此类的文字修改和内容澄清还有很多,我们就不再一一列举了。4.一套一套一套一套补充文档补充文档补充文档补充文档自DO-178B颁布以来,有许多新的软件研制技术或研制方法出现,如面向对象技术、形式化方法、基于模型的开发和验证等等。尽管DO-178B贯彻“面向目标”原则,尽量少地涉及具体的软件研制方法或研制技术,使得该标准能比较长期地稳定,但是,也有一些软件研制方法或技术对这些“目标”产生了冲击,使得有些目标不再适用,或者需要增加新的目标,或者给这些目标赋予新的指南和解释。为接纳这些新方法和新技术的使用并对其提出相应指南,同时继续保持该标准的稳定性和可扩展性,DO-178C委员会决定不对DO-178B标准的正文直接进行修改和扩充以适应这些新技术和新方法。相反地,将来的DO-178C会有一份核心文档(CoreDocument,其内容类似于DO-178B)和若干补充文档(Supplements,针对每一项新技术或方法的应用应调整的目标和相关指南)。值得指出的是,DO-178C的核心文档与补充文档应该是结合使用的。例如某申请人根据自己项目的实际情况使用了新技术X和Y,那么,它应该同时使用DO-178C的核心文档以及X和Y相应的补充文档。这样做的可扩展性是显而易见的:如果五年以后又有一项新的软件开发技术,可以不修改DO-178C的任何内容,而只需要出一个新的补充文档就可以了。DO-178B第12章的内容涉及到了一些“其它考虑”,预见了一些可能的新技术使用和替代方法。在DO-178C中,由于有了独立的补充文档,所以对第12章的改动比较大。5.更严格的更严格的更严格的更严格的措辞措辞措辞措辞参加过我做的DO-178B基础培训的学员可能都记得,我很欣赏DO-178B中极其严格的措词。比较典型的例子是附件(ANNEX)和附录(APPENDIX)的区分、软件开发(softwaredevelopment)和软件研制(softwareproduction)的区别、集成过程(不能叫软件集成过程)、审定联络过程(不能叫软件审定联络过程)等等。我自己是一个绝对的perfectionist(完美主义者),所以我很关注,从而也很欣赏,DO-178B的严格措词。于此同时,我也感叹,那些参加DO-178B标准制订的专家大概也都象我一样是完美主义者。亲身参加了DO-178C制订的工作组以后,我发现,这些完美主义者简直就是偏执狂,对完美的追求远出乎我的想象程度。这不是贬义,其实是一种褒扬,写标准的人,真的应该具有这种专业的完美主义者的品质。很多时候,一百几十号人为一句话、为一个词、甚至为一个标点,争得面红耳赤达数十分钟,然后表决,采用一票否决制(也就是说,只要有一个人投反对票,这次修改就不能通过,这就是consensus的概念)。从上面的描述大家可以想象得出来,经过这样磨砺出来的DO-178C标准的措词的严格程度。下面举几个例子吧:DO-178C严格区分了Guidelines和Guidance两个不同的概念。在这一区分下,DO-178C是guidance而不是guidelines。因此,在DO-178C的正文中,已经不再出现Guideline一词。DO-178C比较严格地区分了Purpose、Goal和Objective等单词。在不同的情况下,准确地选用了其中一个单词。DO-178C比DO-178B更严格了区分了Activity和Process这两个概念。还有一点,在DO-178C中,专有术语(如各项软件生命周期数据)全部要求首字母大写,比如源代码(专有术语)必须写成“SourceCode”而不能写成“sourcecode”或“Sourcecode”;目标代码(非专有术语)要写成“objectcode”(除了出现在句首,句子首字母大写)而不是写成“ObjectCode”;可执行目标代码(专有术语)要写成“ExecutableObjectCode”而不能写成“Executableobjectcode”。怎么样,很偏执狂吧?但是,我欣赏!6.强调文档的完整性强调文档的完整性强调文档的完整性强调文档的完整性DO-178C比DO-178B更加显式地强调了标准的完整性,认为只有综合理解整个文档的所有内容才算真正理解这个标准。我很赞同这个观点。确实,DO-178B标准各章节的内容互相引用、互相支持、互相补充又互相一致形成一个统一的整体,不是通盘地综合理解是消化不了其精髓的。我们知道,附件A是DO-178B标准中很重要的一部分内容。为了在附件A里也充分体现完整性,DO-178C把活动(activity)加入了附件A的表格中,参见下面表格中红色的一列。ObjectiveActivityApplicabilitybySoftwareLevelOutputControlCategorybySoftwareLevelDescriptionRefRefABCDDataItemRefABCD1Communicationandunderstandingbetweentheapplicantandthecertificationauthorityisestablished.9.a9.1.b9.1.cPSAC11.12ThemeansofcomplianceisproposedandagreementwiththePlanforSoftwareAspectsofCertificationisobtained.9.b9.1.a9.1.b9.1.cPSAC11.13Compliancesubstantiationisprovided.9.c9.2.a9.2.b9.2.cSASSCI11.2011.167.内容的改动内容的改动内容的改动内容的改动说了前面这么多,固然都是DO-178C相对于DO-178B的变动,但估计有些人看了觉得很不过瘾,因为到现在为止好象还没有看到很实质性的内容的变化。其实,在DO-178C中对DO-178B进行实质性的内容变动还真的不多,理由有二:1.DO-178B制订的时候,也是采用consensus(一致同意、一票否决)的投票方式,经过许多专家的深思熟虑,代表了工业界、局方、供应商等各界的共同意见。它作为民航机载软件研制和审定的国际标准,颁布并使用近二十年了,没有发现什么重大的缺陷,因此说,DO-178B还是一个成熟且稳定的标准。对它

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功