浅析民机机载软件非激活代码_第1页
浅析民机机载软件非激活代码_第2页
浅析民机机载软件非激活代码_第3页
浅析民机机载软件非激活代码_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅析民机机载软件非激活代码廖凯居慧【摘要】民用飞机对平安性的要求决定了机载软件需比普通行业软件满足更多的要求。机载软件源代码中所含的非激活代码假设被意外激活,会对飞机的平安性带来不同等级的危害。如何通过过程保证的方法来防止或减缓非激活代码被意外激活,是当下机载软件研制单位和适航审定局方共同关注的问题。本文针对机载软件非激活代码的特殊属性,分别从软件方案、设计和验证过程,解析了业界标准中与非激活代码相关的要求。同时站在审定局方的角度,诠释了局方在适航符合性验证方面的对非激活代码的关注点。【关键词】机载软件;非激活代码;死代码;符合性;结构覆盖率分析中图分类号:TP311.52文献标识码:A文章编

2、号:2095-2457202121-0033-002DOI:10.19694/j ki.issn2095-2457.2021.21.015【Abstract】Thesafetyrequirementsofcivilaircraftdeterminethatairbornesoftwareneedstomeetmorerequirementsthanordinarysoftware.Ifthedeactivatedcodeisaccidentallyactivated,itwillresultindifferentlevelsofdamagetothesafetyoftheaircraft.Ho

3、wtoavoidormitigatetheaccidentalactivationofdeactivatedcodebyprocessassurancemethodisacommonconcernoftheairbornesoftwaredevelopmentunitandairworthinesscertificationauthority.Accordingtothespecialattributesoftheairbornesoftwaredeactivatedcode,thispaperanalyzestherequirementsrelatedtothedeactivatedcode

4、intheindustrystandardsfromtheprocessofsoftwareplanning,designandverification.Meanwhile,fromtheperspectiveofairworthinesscertificationauthority,itinterpretstheauthority'sconcernsaboutthedeactivatedcodeintheaspectofairworthinesscomplianceverification.【Keywords】Airbornesoftware;Deactivatedcode;Dead

5、code;Compliance;Structuralcoverageanalysis0前言伴随着电子技术的高速开展,越来越多的机载电子设备被应用到现代民用飞机上,这些电子设备的重要组成局部是机载软件,一类比普通行业软件对平安性有更高要求的软件。民机机载软件不同于行业软件,其需求在机载系统/设备的设计阶段,从机载系统/设备功能需求分配给机载软件。由于各种不同的原因,机载软件的源代码中会出现非激活代码,这些代码在当前飞机构型中处于不被激活的状态。如何在机载软件的研发过程中和局方审查阶段来制定和检查對于防止非激活代码意外被运行,成为了适航审定局方重点关注的问题。1民机机载软件的特性不同于传统意义上的

6、行业软件,民用飞机机载软件具备如下特性:1平安性:按照软件失效对飞机产生的危害等级,民机机载软件被分为A/B/C/D/E级,这些平安等级,由其依附的系统/设备的平安等级向下分解而来。2非独立性:民机机载软件必须加载到目标系统/设备中才能正常运行,在适航审定过程中,也只能跟随其依附的系统/设备一起被适航审定当局批准,没有单独针对软件的合格证。3目标性:DO-178B/C对民机机载软件的生命周期过程划分为方案过程、开发过程和综合过程,对每个过程的活动和目标进行了明确定义,这些目标即是民机机载软件合格审定过程的根本要素。4适航性:适航审定当局会分阶段地对民机机载软件生命周期过程所有活动和目标的符合性

7、,以及生命周期数据等,进行DO-178B/C适用目标的符合性检查。2民机机载软件非激活代码的定义和分类机载软件非激活代码是一类可执行目标代码或数据,这类代码被设计出来是不希望被运行或使用的,例如先前开发软件组件的一局部。或者是仅在目标计算机环境中的特定构型中被运行的代码或被使用的数据,例如一种被硬件针脚选择或软件程序选项而被激活的代码。各种原因会导致民机机载软件存在非激活代码。例如,某些可在地面维护的软件,它们在飞行过程中是处于非激活状态的,只在地面维护时可用;某些可选项软件会基于已批准的构型,在航线运营商的要求下进行配置使用,未被选择的软件即是非激活的;有些软件是为满足多种用户需求的,未被使

8、用的特征也是非激活的。在进行机载软件结构覆盖率分析时,某些代码在测试环境中不能被覆盖到,但这些代码并非不满足需求。例如实现初始化功能的代码或防御性代码,它们只能通过分析或代码检查的方式进行验证。但即便是这样,可能仍有一些代码不能被覆盖到而被归为死代码或非激活代码。非激活代码的主要特征是在机载软件基于需求的测试进行结构覆盖率分析时,会有某些代码在测试环境中无法被覆盖,这一特征与死代码相似。非激活代码与死代码同样都是在进行结构覆盖率分析是未被覆盖的代码,基于软件验证考虑,机载软件非激活代码可分为两类。类别一:在任何已取证产品中使用的任何现有构型中都不会被有意运行的非激活代码。例如一个已被批准的机型

9、上搭载的地面维护功能,在任何情况下,飞行过程中都是非激活状态。再比方一些软件中所含的防御性编码,防御性编码是防御式设计的一种形式,用来确保软件在未知的环境中能继续运行。防御性编码的时间往往用于需要高可用性、平安性、保密性的地方。在民用飞机机载软件,尤其是设计保证等级较高的软件,有较广泛的应用。类别二:仅在目标计算机环境的特定已批准构型中才会被运行的非激活代码。例如全权数字电子控制器FADEC中的软件,是用来指挥发动机正常工作的程序。不同机型搭载的可能是不同公司生产的不同型号的发动机,每款发动机对应FADEC软件中不同的控制代码,这些代码具有互斥性,一个机型只允许一种型号发动机对应的代码,其它型

10、号发动机对应的FADEC软件中的代码均为非激活状态。机载软件的研制过程是分阶段进行的,分为方案过程、开发过程需求、设计和编码、测试过程和总结过程,另外,局方阶段性介入SOI符合性检查也需同步进行,且每个软件研制过程产生的数据必须获得局方批准,才能进入并开展下一阶段的工作。为了最终获得适航审定局方的批准,机载软件的研制单位需从软件研制和符合性验证两方面进行考虑,制定策略和措施来满足各项标准和规定文件中与非激活代码相关的要求。3机载软件非激活代码的研制考虑根据民用飞机机载软件的平安性要求,非激活代码除须满足机载软件的一般要求外,还须对系统平安性产生的影响进行重点关注,所以基于软件生命周期过程控制的

11、理念,应在软件生命周期的各个阶段,对软件非激活代码有相关考虑。3.1软件方案过程根据DO-178B/C的相关要求,如果方案使用非激活代码,软件方案阶段需描述非激活机制和非激活代码将如何定义和验证,以满足系统平安性目标。3.2软件设计过程系统/设备的设计可能存在多个构型,一般一个飞机型号只会用到其中一种构型。这就会导致不能被执行的非激活代码的出现,例如未选择的功能或未使用的库函数,又或是未被使用到的数据。非激活代码与死代码不同,针对非激活代码的活动应包含:1应设计和实施一种机制来保证非激活的功能或组件对激活的功能或组件产生负面的不利影响。2应有足够证据说明非激活代码对于它所处的环境是未被方案的。

12、因非正常系统状态导致非激活代码的无意执行,等同于活泼代码的无意识运行。3非激活代码的开发与激活代码的开发一样,都应符合DO-178B/C的目标。3.3软件验证过程在机载软件验证过程中,对非激活代码应做如下考虑。对第一类非激活代码,应进行组合的分析和测试活动,来说明能导致非激活代码被不经意地执行的方法被阻止、隔离或消除。任何对含有第一类非激活代码软件级别的重新指派,都应被系统平安性评估过程证明是有效的,并记录在软件合格审定方案文件中。同样地,任何对第一类非激活代码软件验证过程的缓和活动,都应被软件开发过程评估,并记录在软件合格审定方案文件中。对第二类非激活代码,应建立足够的分析策略,并开发额外的

13、测试用例和测试程序,来满足要求的目标覆盖率。4机载软件非激活代码的符合性验证考虑所有跟随飞机一起取得适航许可证的机载软件都必须通过适航审定局方的审查后才能够获得批准,局方对非激活代码的适航符合性方面有相应的关注点,对于这些关注点,机载软件研制方应制定应对措施和实施方案并尽早获得局方认可。根据适航审定局方在以往的民用飞机审查工程上提出的符合性要求的内容研究发现,对于非激活代码可能引起的平安性问题,必须覆盖以下几点考虑:第一类非激活代码应:a在飛机飞行期间禁止执行;b非激活机制的功能应有相应需求并通过测试证明这种机制起预定作用;c非激活机制应支持激活软件的相应的软件等级;d推荐此类非激活代码应追溯

14、到对应的需求并进行相应等级的验证以确保其满足设计需要。第二类非激活代码应:a像其它机载软件一样拥有需求;b非激活代码应确保满足适用的软件等级的DO-178B/C目标;c非激活机制应包含在需求和设计中;d非激活机制应满足适用的设计保证等级并通过验证。5结论现代民机机载系统中软件的广泛应用,使得适航审定局方对机载软件的关注度逐渐提高。机载软件的特殊性,也对软件的研制单位提出了更高的要求。本文从机载软件的研制过程和符合性验证过程两方面,对与软件非激活代码相关的关注点和需开展的工作进行了解析,对各项标准标准中的相关要求做了深度分析和理解,为机载软件的参研单位在处理软件源代码中存在的非激活代码提供了方向性的指导意见。【参考文献】【1】DO-178B,SoftwareConsiderationinAirborneSystemsandEquipmentCertificationS.RTCA,1992.【2】DO-178C,SoftwareConsiderationinAirborn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论