RTCA/DO-331标准研究

2018-11-12 10:37:00/
民用飞机设计与研究 2018年3期
关键词:用例生命周期软件

居 慧 /

(上海飞机设计研究院,上海201210)

0 引言

当前在民用航空领域,越来越多的机载设备供应商在采用基于模型的开发和验证(Model-Based Development and Verification,简称MB)这种基于结构化分析和设计的方法研制机载软件,因为模型的使用可以带来一些便利,例如支持自动化代码的生成,支持仿真手段的使用等。自DO-178B[1]发布至今,业内已经在基于模型的开发和验证技术的应用和支持工具研发方面积累了一定的经验,而随着此项技术在航空关键系统软件的应用逐渐增多,有很多问题需要考虑以确保满足系统安全性和完整性的要求。

由于DO-178C[2]不是一份针对特定方法或特定技术的指南,因此采用MB方法开发的机载软件在直接表明对于DO-178C某些目标的符合性方面存在困难或不清晰的情况,甚至有一些空白。为了给基于模型的开发和验证活动的合格审定提供明确的指南,也为了推进这项技术在工业界的发展,美国航空无线电委员会(Radio Technical Commission for Aeronautics,简称RTCA)于2011年以DO-178C补充文档的形式发布了1份标准DO-331[3]《基于模型的开发和验证(对于DO-178C和DO-278A的补充)》。该份补充文档是在DO-178C的基础上针对MB技术对原先机载软件合格审定指南的扩展。2013年,美国联邦航空局(Federal Aviation Administration,简称FAA)发布咨询通告AC20-115C《机载软件保证》认可包括DO-331在内的五份RTCA标准作为机载软件满足适航规章可接受的符合性方法。

由于DO-178C发布的时间不长,目前仅在一些新的飞机项目中应用为符合性方法,还未形成成熟的可借鉴的审定实践经验,对于该标准及其补充文档(包括DO-331在内)的研究具有重要意义,有助于申请人在项目研制过程中更好地理解和贯彻合格审定要求,成功表明适航符合性。

1 DO-331标准的文档架构

DO-331标准在主要章节的编排组织形式上与DO-178C保持一致,覆盖了整个软件研制流程,但为了以示区分,所有章节均采用以MB作为前缀的编号规则。标准的主体内容继承了DO-178C,在此基础上补充了有关基于模型的开发和验证的内容,包括生命周期数据和相应的目标,并在附录中增加了应用DO-278A[4]和DO-331时不同等级的软件生命周期过程的目标和输出的汇总表格,以及常见问题解答和讨论专题。为了最大程度地减少与DO-178C的重复信息,DO-331中仅对DO-178C受影响的章节进行了更新,对于描述内容无差异的章节,直接声明对应的DO-178C章节内容没有变化。其中,从DO-178C完全继承的内容统一采用斜体字表示,新增或修改的内容为正常字体表示。相比DO-178C,DO-331的专有内容如表1所示。

表1 DO-331专有内容一览

续表1

2 模型的使用和分类

DO-331中介绍了以下两类模型:

1) 规范模型(Specification Models):描述提供软件组件功能、性能、接口或者安全性特性的抽象表示的高级别需求;

2) 设计模型(Design Models):规定了软件组件内部的数据结构,数据流和/或控制流,包含低级别需求和/或软件架构。

DO-331中明确强调模型不能同时划分为规范模型和设计模型,并且依据当前的一些工业实践提供了模型使用的样例,如表2所示。由表2可看出,设计模型使用的场景更为广泛,但不管模型如何使用,都需要满足相应的符合性目标。

表2 模型使用样例

3 MB相关的软件生命周期过程

3.1 软件计划过程

如果计划采用基于模型的开发技术,软件计划过程除了需要满足DO-178C中定义的目标和活动外,还需满足以下几点:

1) 识别出将由模型描述的软件生命周期数据,例如:需求数据或者设计数据,所有开发模型应按照上述模型的分类进行划分;

2) 识别出将采用的验证模型的方法,包括对于设计模型的模型覆盖分析准则的定义;

3) 应生成软件模型标准,描述采用的建模技术以及对于每类模型适用性的理由;

4) 规划模型仿真环境,定义当采用模型仿真器执行验证活动时可能采用的方法、工具、程序和操作环境,主要活动包括:

(1)确定模型仿真器是否需要鉴定,评估的准则参考DO-331MB.12.2节(工具鉴定);

(2)明确说明模型仿真器的性能和限制,包括预期的使用以及对于检测错误和验证功能的能力的影响;

(3)评估仿真环境更改的影响,考虑按照DO-331第MB.6章(软件验证过程)和MB.12.1.3节(更改应用或开发环境)中的指南进行重新验证。

3.2 软件开发过程

如果在软件开发过程中采用了基于模型的方法,基于DO-331中对于规范模型和设计模型的定义,所有高级别需求相关的目标和活动适用于规范模型中包含的需求或者设计模型开发所依据的需求,所有软件架构和低级别需求相关的目标则适用于软件设计模型中包含的软件架构和需求。此外,对软件需求和设计过程的目标和活动会有一些附加要求,主要体现为:

1)如果高级别需求采用规范模型予以描述应标识出所有不代表软件需求并且不作为后续软件开发过程或者活动的输入的模型元素;

2) 如果低级别需求和/或架构采用设计模型予以描述,应标识出所有不代表软件需求或软件架构并且不作为后续软件开发过程或者活动的输入的模型元素;

3) 如果软件需求或软件架构采用模型予以描述,模型应遵循软件模型标准并具有可追溯性、可验证性和一致性,所有模型元素应按照软件模型标准中的描述进行分类;

4) 如果计划开发设计模型,对应该模型的软件高级别需求应包含足够的细节以支持后续设计模型的实现和验证。

3.3 软件验证过程

如果采用了基于模型的开发方法,除了满足对于软件需求验证、设计验证、代码验证和测试有关的基本目标外,鉴于模型的研制特性,软件验证过程中还需关注:

1)开发的模型是否符合软件模型标准,是否对偏离标准的方面进行了解释说明;

2)如果高级别需求采用规范模型描述,低级别需求和规范模型之间的追溯性;

3)如果低级别需求采用设计模型描述,源代码和设计模型之间的追溯性;

4)如果软件开发过程中采用了设计模型,应按照DO-331MB.6.7节中的指南开展模型覆盖分析活动。

模型覆盖分析活动主要包括:

1) 采用基于需求的验证用例,需求为设计模型开发所依据的需求;

2) 确认通过验证用例所达到的设计模型的覆盖度是否与计划过程中定义的模型覆盖准则一致,在不满足覆盖要求的情况下,按照DO-331MB.6.7.2节中的模型覆盖分析解决方案开展相关工作;

3) 补充基于设计模型中的衍生需求的附加验证用例。

模型覆盖分析的准则在表述上与典型的软件结构覆盖分析的准则(语句覆盖、分支覆盖等)有所不同,如表3所示。表3中准则①到④与DO-178C 6.4.2.1和6.4.2.2节中有关覆盖分析的内容是兼容的。其中,准则1与软件需求覆盖相关,准则②到④与软件结构覆盖相关。

此外,DO-331中描述了可采用模型仿真的验证方法来支持满足一些验证目标,主要内容包括:

1)针对模型验证的模型仿真,识别出了哪些软件需求和设计过程的输出的验证目标可以通过对规范模型和设计模型的仿真满足,哪些目标不能通过仿真满足,以及应执行的仿真活动;

2)针对可执行目标代码验证的模型仿真,描述了通过模型仿真和特定的分析的组合可以满足的软件测试和测试覆盖目标以及相应的活动,其中涵盖了对于模型仿真器环境和目标计算机环境的差异分析,以及用于仿真的可执行目标代码与用于目标机的可执行目标代码之间的差异分析的要求;

3)仿真用例、程序和结果的开发、评审和分析。

表3 模型覆盖准则样例

3.4 其他过程

DO-331中描述的其他软件生命周期过程,包括构型管理过程、质量保证过程以及合格审定联络过程的目标和活动与DO-178C中的描述并无明显差异,即采用MB方法对这些生命周期过程基本没有影响。

4 MB相关软件生命周期数据

4.1 MB专有数据

DO-331在DO-178C定义的生命周期数据的基础上,增加了一个MB专有数据:软件模型标准。此标准应包含以下内容:

1)用于开发模型的方法和工具;

2)采用的建模语言;

3)建模语言使用的风格指南以及复杂度限制;

4)建模工具以及模型元素库的使用限制;

5)用于标识和界定模型中包含的需求的方法以及建立需求和其他生命周期数据之间的追溯性的方法;

6)用于标识和界定模型中包含的衍生需求的方法以及将衍生需求反馈到系统过程包括系统安全性评估过程的方法;

7)识别出所有不代表软件需求或软件架构并且不作为后续软件开发过程或者活动的输入的模型元素的方法;

8)通过规范模型或者设计模型表述的信息类型的技术适用性的合理解释。

4.2 其他相关数据

其他软件生命周期数据中涉及模型相关的内容主要有:

1) 软件合格审定计划PSAC(Plan for Software Aspects of Certification,简称PSAC):

(1)对于软件生命周期的描述应包含为满足DO-331目标将执行的过程和活动以及生成的数据;

(2)软件生命周期数据中应包含符合DO-331的数据。

2)软件开发计划SDP(Software Development Plan,简称SDP):软件开发环境的描述中应包含将采用的建模方法、建模语言和建模工具。

3)软件验证计划SVP(Software Verification Plan,简称SVP):

(1)验证方法之一的分析方法中应包含模型追溯性分析、模型覆盖准则和模型覆盖分析;

(2)验证方法中还应包含对于模型仿真方法的描述,包括仿真用例的选择方法,使用的仿真程序,将生成的仿真数据以及DO-331中MB.6.8.1 和MB.6.8.2节中定义的特定限制;

(3)验证环境应包含对于模型仿真环境和工具,以及应用这些工具的指南描述;

4)软件验证用例和程序:应包含对于仿真用例和仿真程序的描述。

5)软件验证结果:

(1)应标识出模型的构型;

(2)应包含仿真的结果以及支持仿真的任何分析结果。

6)软件生命周期环境构型索引(Software Life Cycle Environment Configuration Index,简称SECI):应标识仿真环境以及相关的设置。

7)软件构型索引(Software Configuration Index,简称SCI):标识的软件生命周期数据中应涵盖DO-331中MB.2.2.1.i到MB.2.2.1.o项的数据,如果存在系统构型索引并包含了这些数据,应索引至系统构型索引文档。

8)软件构型管理记录:模型的SCM(Software Configuration Management,简称SCM)记录的例子包括基线记录和模型元素库记录。

9)追溯性数据:如果采用模型描述高级别需求或低级别需求和/或软件架构,与模型的追溯性应提供能够展现出DO-331 MB.11.21节a)到f)项的颗粒度。

5 MB符合性目标

DO-331的附录A在DO-178C附录A的基础上,提供了采用基于模型的开发和验证方法生成机载软件需要满足的符合性验证目标,文中对应的活动描述索引和输出数据的汇总表格。这些表格中对于目标和输出的生命周期数据与DO-331正文中相应章节的索引关系,基于DO-331章节编排的调整和内容的增加进行了相应更新。除了从DO-178C继承的目标,考虑到模型开发和验证的特殊性,DO-331附录A中的目标在DO-178C的基础上补充了一些模型相关的目标,详见表4。

表4 DO-331新增目标

续表4

注:表中的○代表目标需要满足,●代表目标需要被独立满足。

6 结论

1) 如果计划在民用飞机机载软件生命周期过程中采用基于模型的开发和验证技术时,在确定采用DO-178C作为符合性方法的情况下,也应符合DO-331标准中的要求;

2) DO-331在应用时,应以DO-178C作为基础,综合考虑DO-178C和DO-331中的目标,同时在适用的情况下,应与DO-178C的其他补充文档结合使用,例如工具鉴定的相关要求应遵循DO-330[5]《软件工具鉴定考虑》标准,才能完整地表明适航符合性。

猜你喜欢
用例生命周期软件
动物的生命周期
全生命周期下呼吸机质量控制
UML用例模型中依赖关系的比较与分析
禅宗软件
英语文摘(2021年10期)2021-11-22 08:02:26
从生命周期视角看并购保险
中国外汇(2019年13期)2019-10-10 03:37:46
民用飞机全生命周期KPI的研究与应用
联锁软件详细设计的测试需求分析和用例编写
软件对对碰
從出土文獻用例看王氏父子校讀古書的得失
谈软件的破解与保护
精品(2015年9期)2015-01-23 01:36:01