摘要
当前航空机载设备软件系统的快速发展对目前国内外主流的机载软件架构提出了严峻的挑战,因此很有必要对新一代航空机载设备软件架构进行设计研究。本文对航空机载设备软件架构的发展情况进行分析,对当前计算机业界最新的软件架构技术进行研究,提出了新一代航空机载设备软件架构的技术思路和设计方案, 并将其与不同架构软件的关键性能指标进行测试对比,表明了设计方案的有效性。
关键词
现代飞行器,尤其是军用飞行器技术发展迅
随着航空电子系统技术发展,飞行器机载设备中的硬件越来越标准化和通用化,因此越来越多的功能是在软件中实现的,软件变得越来越复杂和重要。根据航空机载设备软件复杂性的进一步快速增长和当前航空机载设备软件研制中遇到的实际问题,可以预见,当前主流的航空机载设备软件架构在不久的将来会无法满足要求。目前国外主要的机载嵌入式操作系统厂商已经开始将虚拟化等技术应用于操作系统,以支持多核处理器和面对机载软件对机载软件架构的挑战。因此,有必要研究新一代航空机载设备软件架构,以满足未来飞行器技术发展的需
航空机载设备软件架构到目前为止经历了3代机载软件架构,从第一代发展到当前使用的第3代架构,适应了过去机载软件功能、规模、复杂度的快速发

图1 航空机载软件架构变迁图
Fig.1 Aeronautical airborne software architecture transition
(1) 第一代机载软件架构:软件没有使用操作系统,底层为一个较为简单的实时监控软件来支持系统的引导、硬件初始化、调试支撑等功能,机载应用软件主要按照功能进行模块划分。
(2) 第二代机载软件架构:软件采用了嵌入式平模式操作系统(例如:VxWorks 5.5操作系统、天脉1操作系统),机载应用软件仍然按照功能模块进行划分,但是通过操作系统对硬件进行隔离并实现实时多任务管理功能,较大的简化了机载应用软件的开发难度。
(3) 第三代机载软件架构:软件采用了分区操作系统(例如:VxWorks653 2.4操作系统、DeltaSVM操作系统、天脉2操作系统)和软件中间件技术,支持在一个设备上运行多个机载应用软件,实现软件功能的综合化。
当前新研型号的航空机载设备软件大部分采用了第三代机载软件架构:分区操作系统 + 中间件 + 分区应用。其特点是应用了高性能处理器和高速总线技术,使用软件分区技术支撑多应用软件综合,采用静态配置方式支持确定的系统能力重

图2 飞行器管理系统软件架构示意图
Fig.2 VMS software architecture
在航电系统中,系统采用了综合模块化航空电子(Integrated modular avionics,IMA)架构,通过一个综合中央处理机(Integrated center processor,ICP)包含若干的通用功能模块)综合了所有的航电应用(

图3 航电ICP系统软件架构示意图
Fig.3 ICP system software architecture
现代战争呈现出信息化、联合化、无人化技术特
目前的机载软件平台(分区操作系统 + 中间件 + 分区应用)已不能很好的满足机载软件发展的需要,主要有以下几个问题。
(1) 机载计算机硬件资源利用率低:通过应用多核处理器技术,机载计算机硬件处理能力大幅增加,但由于目前的分区操作系统采用了完全静态配置方式,应用软件都需要为其配置最大情况下的运行时间、存储、IO等资源,并且配置之外富余的计算能力和资源都不能被使用,这导致硬件资源利用率低。
(2) 随着软件功能增加,机载系统的资源设计与配置难度快速增加:随着大量新的机载软件功能的综合,由于系统要求全静态配置,需要明确被综合的每一个应用软件其运行时间、存储、IO等资源使用上限,并为其进行资源属性的配置,配置之间不能冲突,当应用与分区数量增加时,系统设计与配置难度接近几何级的增大。
(3) 机载软件系统的可重构性实现困难:目前机载系统都希望通过应用软件重构能力的实现来提高机载系统的可靠性、可用性与抗毁性,但目前应用软件的运行环境资源(分区)设定太简略和固定,应用软件与对应分区的绑定性太高,所有的可重构模式必需提前明确和部署,在软件功能越来越复杂,分区越来越多的情况下,当前的重构方式只能应用于少量的假设情况,难以满足未来复杂机载系统的可重构性需求。
为了支持多核处理器和面对机载软件发展对机载软件架构的挑战,国外主要的机载嵌入式操作系统厂商均引入了新的机载软件架构。美国主要的航电机载操作系统提供商WindRiver公司在近两年推出的VxWorks653 3.0版本和3.1版本中采用了虚拟机技术架构,支持在同一个处理器上运行多个客户操作系统(GuestOS)。包括满足ARINC653标准的CretOS、提供POSIX接口的定制Linux,在GuestOS之上支持运行使用对应接口的机载应用软件。大量用于欧美民航客机飞控系统的美国DDCI公司DeOS操作系统和大量用于欧美军用飞机飞控系统的美国GreenHills公司Integrity⁃178操作系统,均在近两年推出了基于虚拟化技术支持多核处理器和多种操作系统接口的产品版本。
在商业软件领域,对类似的问题目前主要是采用虚拟化技术来解决。其中起步较早的是虚拟机技术(硬虚拟化,基于硬件层面提供的虚拟化能力支持),将一台计算机硬件虚拟化为多台虚拟机,可以各自安装相同或不同的操作系统,依此为商业计算系统提供可伸缩弹性计算能
近几年来容器技术(软虚拟化)被广泛应用,在很多应用场景下替换了虚拟机技

图4 虚拟机技术与容器技术示意图
Fig.4 Virtual machine & docker technology
如
基于容器技术的机载软件平台由包含了容器引擎的机载嵌入式操作系统、容器、中间件和众多应用软件构成(

图5 基于容器技术的航空机载软件架构示意图
Fig.5 Aeronautical airborne software architecture based on docker technology

图6 新架构下软件系统的运行方案图
Fig.6 Operation formula based on new software architecture
基于新架构的方案,在国内已用于机载系统的分区操作系统DeltaSVM基础上,初步实现了容器化的能力。为了对新架构的特性进行验证,采用了对比测试的方法将以下几种架构软件在同样的硬件环境下进行了主要功能的性能测试。
(1) 基于ARINC653标准分区操作系统的软件架构,采用DeltaSVM分区操作系统;
(2) 基于硬件实时虚拟机技术的软件架构,采用支持实时虚拟机技术的道系统8平台,其实时虚拟机内运行的也是DeltaSVM操作系统;
(3) 基于容器化机载软件新架构,采用容器化改造后的DeltaSVM⁃C操作系统。
对比测试的硬件选择支持硬件虚拟化技术(Intel virtualization technology,Intel VT/VT⁃d)的Intel i5⁃2500k处理器(4核,基础频率3.3 GHz,关闭自动睿频技术),内存4 GB DDR3⁃1333。所有软件均映像加载到内存中的运行方式。
测试中断响应时间和分区切换时间这两个关键的性能数
比较项 | 基于标准分区操作系统 | 基于硬件实时虚拟机 | 基于容器分区操作系统 |
---|---|---|---|
中断响应时间(平均) | 0.93 | 7.95 | 1.23 |
中断响应时间(最大) | 2.56 | 22.58 | 8.91 |
分区切换时间(平均) | 1.23 | 8.53 | 1.88 |
分区切换时间(最大) | 3.53 | 28.21 | 9.37 |
虚拟机切换时间(平均) | — | 10.33 | — |
虚拟机切换时间(最大) | — | 32.98 | — |
容器切换时间(平均) | — | — | 6.53 |
容器切换时间(最大) | — | — | 12.35 |
根据
从
比较项 | 基于标准分区操作系统 | 基于硬件实时虚拟机 | 基于容器分区操作系统 |
---|---|---|---|
所有程序映像合计尺寸 | 1 256 | 8 238 | 1 886 |
总体内存消耗尺寸 | 3 193 | 12 739 | 4 683 |
通过初步实现的容器化机载软件架构的测试对比,可以看到容器化技术对处理器资源和存储资源消耗上比当前采用分区操作系统架构增加不大,远好于采用硬虚拟机技术,适合作为航空机载设备软件架构未来发展的方向。
本文提出的航空机载设备软件新架构可以满足未来航空机载软件的架构需求,相对于当前的第三代机载软件架构具有以下几方面优点:
(1) 大幅提升硬件资源与能力的利用率。当前机载软件平台为了确定性采用了完全静态配置,所有分区及其应用软件的资源都是静态配置好的,因此即便硬件有大量多余的资源也无法利用起来。基于容器技术后,容器内去保证资源的确定性,应用软件仍然可以采用静态配置,但容器本身可以根据硬件的资源与能力进行尽可能多的实例化,充分利用资源。
(2) 支持更为复杂的系统综合设计与配置。当前机载系统中所有的应用都需要在设计时明确其资源,并且必须考虑使用系统公共资源时的竞争与冲突。当应用与分区数量增加时,系统设计与配置的难度接近几何级的增大。基于容器技术后,可以设计专门的容器类型在设计和调试时自动的探测应用的资源消耗,结合开发工具可以自动的生成对应的配置数据。另外,由于相关的分区可以放在一个容器内,容器之间实现了资源的隔离,在系统设计与配置时可以极大地降低对应用间的资源竞争的考虑。
(3) 大幅降低系统软件可重构性的实现难度。当前机载软件平台支持静态配置好的重构行为,但所有的分区必须是已经加载到系统中,并且只能按照之前静态配好的多个调度表进行切换。这种方式很不灵活,系统只能针对很少的一些假设情况进行重
参考文献
ZHEN Ziyang, ZHANG Zhibing, ZHANG Junhong. Guidance and control techniques of carrier⁃based aircraft for automatic carrier landing[J]. Transactions of Nanjing University of Aeronautics and Astronauti⁃cs, 2017, 34(6): 600⁃608. [百度学术] [Google Scholar]
KUMAR B A, JIANG Ju, ZHEN Ziyang. Quadcopter UAV modeling and automatic flight control design[J]. Transactions of Nanjing University of Aeronautics and Astronautics, 2017, 34(6): 627⁃636. [百度学术] [Google Scholar]
李兆雁.分布式航空电子系统通用开放式软件架构的探究[J].军民两用技术与产品,2015(12): 28. [百度学术] [Google Scholar]
LI Zhaoyan. Distributed avionic general open software architecture research[J]. Dual⁃use Technology and Goods,2015 (12): 28. [百度学术] [Google Scholar]
韩正伟.无人机飞控软件架构设计初探[J].电子测试,2018(23): 37⁃38. [百度学术] [Google Scholar]
HAN Zhengwei. Design of UAV flight control software architecture[J]. Electronic Test, 2018(23): 37⁃38. [百度学术] [Google Scholar]
张勇.飞行器管理系统需求[J].飞机设计, 2011, 31(1): 71⁃76. [百度学术] [Google Scholar]
ZHANG Yong. Vehicle management system requirements[J]. Aircraft Design, 2011, 31(1): 71⁃76. [百度学术] [Google Scholar]
AEEC. ARINC 653 P0⁃1: Avionics application software standard interface Part 0—Overview of ARINC 653[S]. USA:SAE⁃ITC, 2015. [百度学术] [Google Scholar]
陈宗基,张汝麟,张平,等. 飞行器控制面临的机遇与挑战[J]. 自动化学报, 2013, 39(6): 703⁃710. [百度学术] [Google Scholar]
CHEN Zongji, ZHANG Rulin, ZHANG Ping, et al. Flight control: Challenges and opportunities[J]. Acta Automatica Sinica, 2013, 39(6): 703⁃710. [百度学术] [Google Scholar]
朱训辉,宋彦囯,王焕瑾. 多旋翼无人机飞行控制自动调参技术[J] . 南京航空航天大学学报,2017,49(2): 239⁃244. [百度学术] [Google Scholar]
ZHU Xunhui, SONG Yanguo, WANG Huanjin. Research on the automatic parameter tuning technology of multi⁃rotor UAV flight control[J]. Journal of Nanjing University of Aeronautics & Astronautics ,2017, 49(2): 239⁃244. [百度学术] [Google Scholar]
穆培培,张文叶,徐学淼. 嵌入式系统虚拟化技术研究[C]//全国抗恶劣环境计算机第二十四届学术年会论文集. 九江:中国计算机学会,2014: 49⁃58. [百度学术] [Google Scholar]
企业网D1Net. 从容器和Kubernetes技术看现代云计算的发展轨迹[EB/OL]. (2015⁃01⁃19)[2019⁃05⁃07]. http://www.d1net.com/cloud/tech/329878.html. [百度学术] [Google Scholar]
武志学. 云计算导论:概念架构与应用[M]. 北京:人民邮电出版社,2016. [百度学术] [Google Scholar]
陆悠,杜鹏程,吴帅,等. 面向多用户环境的弹性云缓存系统研究与实现[J] . 南京航空航天大学学报,2017,49(6): 883⁃891. [百度学术] [Google Scholar]
LU You, DU Pengcheng, WU Shuai, et al. Research and implementation of elastic cloud –base buffer man⁃agement system for multi⁃user environment[J]. Journal of Nanjing University of Aeronautics & Astronautics ,2017, 49(6): 883⁃891. [百度学术] [Google Scholar]
汪恺,张功萱,周秀敏. 基于容器虚拟化技术研究[J]. 计算机技术与发展,2015(8): 138⁃141. [百度学术] [Google Scholar]
WANG Kai, ZHANG Gongxuan, ZHOU Xiumin. Research on virtualization technology based on container[J]. Computer Technology and Development, 2015(8): 138⁃141. [百度学术] [Google Scholar]
屠晓杰. 航空电子云的设计与性能分析关键技术研究[D]. 北京:北京航空航天大学,2013. [百度学术] [Google Scholar]
李铮. 面向航空电子云计算的异构通信关键技术研究[D]. 北京:北京航空航天大学,2015. [百度学术] [Google Scholar]
赵光. 多核处理器在综合模块化航空电子系统中的应用[J]. 科技视界,2016(13): 140,148. [百度学术] [Google Scholar]
ZHAO Guang. Application of multicore processor in IMA[J].Science & Technology Vision,2016(13):140,148. [百度学术] [Google Scholar]