作者 | 蔡喁 上海控安可信软件创新研究院副院长
版块 | 鉴源论坛 · 观擎
社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区”
在浅谈操作系统的适航符合性(上)中,详细介绍了民用飞机操作系统的研制现状及其适航要求,重点分析了当前满足适航要求的嵌入式操作系统研发的主要难点。本篇将展开讨论降低民机机载操作系统适航风险的具体方法。
04
机载嵌入式操作系统的适航路径
由于上面的这些问题,在民用飞机机载软件中使用的嵌入式操作系统,既要考虑高效的表明适航符合性,也需要能够实现对底层硬件的有效封装,方便应用软件的开发,真正发挥使用操作系统的便捷。通常,民机机载操作系统往往采用以下几个方法降低适航风险。
4.1 严格控制接口数量和类型
民机机载操作系统作为民用飞机功能的提供者,与民用飞机整体设计理念一脉相承,其首要思路就是功能严格按照需求和依据应用场景要求开发。民用飞机上每一克重量每一处设计都突出坚决不包含无用功能的概念。机载软件以及其操作系统,往往也会严格控制无用的功能和组件。这不仅仅是减少重量和功耗成本,也是为了减少不必要的安全影响,降低适航取证以及维护等成本的必然选择。
某国外民机机载操作系统厂商曾如此向笔者描述其提供的API范围,其所在的公司为了提供完美的机载嵌入式操作系统,他们精简了原先高安全性操作系统(非民机版本)中约95%的函数以及相应的代码。可见,“精简”是民机机载操作系统厂商的普遍选择。
4.2 针对性适配硬件对象
近些年来,操作系统规模越来越大,除了固化大量常用的操作以外,对各种不同类型的硬件提供适配也是原因之一。为了快速方便的适配,势必需要准备或者囊括各种不同类型的底层库,包括硬件抽象、底层接口库等。根据民机适航符合性的原则,所有装机代码都是机载软件审查对象。操作系统提供方或者机载功能的开发单位势必需要按照DO-178B/C标准表明这些库的符合性。不论这些库是否作为操作系统一部分提供,往往都会带来安全分析的压力以及适航取证的成本。因此,国外典型的民机机载嵌入式操作系统往往严格限定所适配的硬件对象,减少不必要的投入以及鉴定系统交付文件的复杂性。也有部分民机操作系统将硬件适配活动交由应用开发单位自己完成,这也无形中增加了操作系统使用的难度和成本。
4.3 完整的生命周期过程和数据
实现机载操作系统的顺利取证,研制单位必须完整地掌握其中所有的软件组件的详细设计数据。具有从需求、设计到代码乃至编译方法在内的全套技术细节。能够对其开展满足适航要求的系统设计和完整验证工作。往往对于其中采用的第三方或历史系统组件,需要有能力完成逆向工程并以此为起点完善相应的生命周期过程和数据。
4.4 提供典型场景示例以及适航鉴定数据包
作为面向民机功能开发的底层模块,操作系统研制单位必须能理解应用单位的使用场景,并且提供尽可能多的符合性证据支持,帮助应用开发单位降低后续开发和取证成本。为此,除了通常的操作系统手册文件外,一般还需为后续应用单位取证活动准备相应的鉴定数据包。数据包除包含需求、设计、代码等生命周期数据以备适航评审以外,通常还包括针对典型应用场景的性能分析数据等。
05
飞蜻操作系统
华东师范大学软件工程学院与上海控安共同开发的飞蜻(FlyLite)操作系统,取轻快飞行之意,目标是尽量减少国内企业适航软件的开发成本和周期。是国内首个贯彻上述思路,面向民用飞机低成本研发而打造的轻量级操作系统。该系统按照RTCA DO-178C A级软件要求开发。
图1 飞蜻FlyLite操作系统
研制团队完整地定义了操作系统的接口和服务需求,实现了详细设计和代码开发。通过基于需求的测试完成了对需求和结构的覆盖。为确保操作系统本身广泛的适用性以及后续对不同类型机载软件的快速适配,同时保证应用软件的可移植性,操作系统接口按照POSIX标准开发,对标准中某些细节进行了完善。通过自研的测试覆盖分析工具,以及在开源平台上搭建的需求和过程管理工具,项目团队实现了低成本的软件生命周期环境构架,确保研制过程具有完整的生命周期过程数据记录。
图2 飞蜻目标架构
为避免过多硬件适配可能带来的问题,飞蜻操作系统针对STM32L496以及某国产处理器为硬件对象,实现了接口层以下全面的适航符合性证据数据包的规划。为了确保数据的完整性,项目团队重新筛选并开发了Libc和Libm库,避免了底层软件中的不透明问题。最大程度地减少了取证风险。此外,针对应用单位可能在后续集成和验证过程中可能的软件分析工作,飞蜻操作系统还在其研发过程中引入了形式化性能分析以及调度特性建模仿真技术,方便应用单位在后期引入针对关键性能指标的模型仿真。
图3 调度特性建模仿真
作为一种低成本轻量级操作系统,飞蜻主要应用场景包括轻量级适航应用软件开发。此类软件功能相对简单,经常无需包含分区等复杂操作,然而对研制周期和研发成本较为敏感。飞蜻操作系统能够通过定义的用户开发限定场景指导和帮助研制单位减少底层适配和举证的时间和人力成本,快速搭建满足适航要求的机载应用。
图4 轻量级适航应用开发
此外,针对部分包括无人机以及eVOTL等非传统民机应用,通过飞蜻操作系统满足A级软件要求且应用开发快速的优势,可方便快速地搭建高等级应用的备份/冗余通道,配合相关的安全性设计和架构设计,降低原先主控通道的研制级别,最终实现快速交付和取证。
图5 快速构建高级别冗余通道
后续,项目团队将重点针对简单非分区机载高安全应用、复杂机载应用的备份通道等应用场景开展操作系统的适配,进一步服务国产民机设备产业,让国产机载系统轻快地飞行。