基于微服务的飞行管理系统仿真:体系与方法
李清1, 樊一萍1, 李大川2, 蒋欣3, 刘恩钰3, 陈甲3    
1. 清华大学 自动化系, 北京 100084;
2. 南方科技大学 计算机科学与工程系, 深圳 518055;
3. 中国商用飞机有限责任公司北京民用飞机技术研究中心, 北京 102211
摘要:飞行管理系统(flight management system,FMS)是基于轨迹运行的下一代空管体系的核心,也是一个典型的大型多专业复杂产品系统。解决大规模复杂产品研发周期长、成本高、专业多、跨度大的问题,需要灵活、可扩展的分布式仿真系统来支持产品设计、测试、验证、评估。该文设计了基于面向服务的架构(service-oriented architecture,SOA)、云计算与微服务概念和技术的仿真系统框架,开发了仿真单元服务封装、仿真编排和仿真过程建模与控制等关键技术,并搭建了面向多专业协同开发的FMS仿真平台。提供以服务形式封装的仿真微服务单元,根据系统框架和任务要求的不同,编排不同的仿真过程和仿真架构,仿真组件通过代理访问封装的单元服务。工程应用结果表明:该架构能够满足复杂产品开发的灵活性、扩展性和可复用性要求。
关键词微服务    云计算    面向服务的架构    飞行管理系统    协同仿真    
Architecture of a microservice-based flight management system simulation
LI Qing1, FAN Yiping1, LI Dachuan2, JIANG Xin3, LIU Enyu3, CHEN Jia3    
1. Department of Automation, Tsinghua University, Beijing 100084, China;
2. Department of Computer Science and Engineering, Southern University of Science and Technology, Shenzhen 518055, China;
3. Beijing Aeronautical Science & Technology Research Institute, Beijing 102211, China
Abstract: Modern flight management systems (FMS) are large multi-profession products that are the core of trajectory-based operations (TBO) and the next generation air traffic management systems that have cost and complexity barriers. This study presents a flexible, scalable distributed simulation system for product design, testing, verification, and evaluation. The distributed simulation architecture is based on a service-oriented architecture (SOA), cloud computing and microservice with simulation unit service, simulation orchestration, simulation process monitoring and control. A prototype was implemented with simulation results for an FMS system. The simulation components are encapsulated as microservices or accessed through agents and brokers, and the various FMS system frameworks and simulation tasks can be configured through the simulation orchestration. The FMS product simulation illustrates the system effectiveness and flexibility.
Key words: microservice    cloud computing    service-oriented architecture    flight management system    collaborative simulation    

大规模复杂产品(如飞机、汽车等)的研究、设计、开发是一个不断迭代的过程。如图 1所示,在拓展的复杂产品系统研发的V模型中,仿真贯穿于产品开发的各个阶段,在协调需求分解、规格说明、系统集成、确认验收和测试评估中均发挥着巨大作用。随着计算机数值分析技术的发展,高保真仿真成为在真实硬件和操作环境部署前测试产品、系统、组件及相关技术的重要方法。

图 1 拓展的复杂产品系统研发的V形模型

然而,复杂产品通常包含大量部件和设备,不仅规模庞大,结构复杂,同时部件之间存在复杂的耦合关系。由于不同的功能和技术由不同的专业设计团队开发,如何设计和模拟各模块间的逻辑关系,实现不同专业的协同开发仿真,是一个巨大的挑战。因此,复杂产品的建模和仿真应符合以下要求:能够支持概念和定义阶段的设计;具有可扩展性和灵活性;具有可重用性和可重配置性;具有完善的专业技术秘密保护机制。

针对复杂产品设计和开发的需求,本文提出了基于云计算、面向服务的架构(service-oriented architecture,SOA)和微服务的仿真架构。首先对比介绍了复杂产品研发的常用架构,提出了基于服务和云计算的分布式仿真架构,然后详细描述了2项关键技术:仿真单元服务封装和仿真编排,最后以飞行管理系统仿真平台为例说明了该系统的有效性。

1 基于服务和云计算的仿真架构

为满足复杂产品建模和仿真的需求,分布式仿真技术和架构逐渐发展起来,它允许资源分布、异构的系统之间的互操作性和编程语言的独立性,因而成为解决复杂产品和复杂系统仿真问题的重要方向。20世纪80年代,美国国防高级研究计划局(Defense Advanced Research Projects Agency, DARPA)提出第一个通过网络连接的大规模、人在环的仿真框架-仿真器网络(SIMNET),并实现了战斗场景的实时分布式仿真[1]。在此基础上,DARPA开发了用于异构分布式仿真的DIS(distributed interactive simulation)[2]和ALSP(aggregate level simulation protocol) [3]框架。DIS提供了标准协议以确保共享虚拟环境中异构仿真器之间的互操性。每个节点将仿真实体的特定状态和事件信息封装在标准的网络包中,然后以广播模式传输到其他节点。ALSP进一步使用分布式时间同步和消息分发机制实现分布式聚合级仿真。它允许每个仿真单元使用通用协议与其他单元交换信息,同时具有内部数据表示。DIS和ALSP在20世纪90年代演变为HLA(high level architecture)[4]。HLA由接口规范、对象模型模板和联合规则组成。交互仿真联合和仿真执行过程由RTI(run time interface)管理。虽然DIS/HLA提供了高级互操作性和可重用性,但并没有为使用特定软件或编程语言的仿真联邦规定特定的实现方案。因此,DIS/HLA更适用于基于离散事件、松散耦合、功能和区域分布的仿真问题。相反,复杂产品系统是基于连续时间、松散耦合和紧密耦合同时存在的功能分布式结构。此外,DIS/HLA无法支持复杂仿真实体的描述和建模,对于诸如飞行管理系统(flight management syslem, FMS)的复杂系统仿真设计,仿真联邦和RTI协议的设计和描述会使仿真系统更加复杂。

另一方面,SOA是一种应用体系结构和组建模型,旨在解决企业基础架构和ASP(application service provider)等问题。它将不同的功能封装为独立的服务,并制定良好明确的调用接口[5],具有服务自治、组件松耦合、粗粒度、可复用性等特点。云计算是ASP和SOA的一种扩展,它通过配置计算机和不同设备之间共享的软件和数据等计算和存储资源,实现便捷的、按需获取的资源访问[6]。如图 2所示,云计算的特点与大规模产品开发的仿真需求相契合。

图 2 云计算和复杂产品仿真对比

微服务架构是近年来在SOA基础上发展而来的进一步组件化、松耦合、自治、去中心化的系统开发、部署和运行架构,呈现出服务颗粒小、独立部署运行和扩展、独立开发和演化、独立团队和自制的特点,这与大型复杂产品研制阶段的仿真验证平台化的需求高度一致。由于微服务是服务架构的拓展,因此在本文中,不再区分服务和微服务。

不少研究也基于SOA、云计算和微服务开发了大规模软件,如Tan等[7]提出了基于云计算的社交人机交互仿真系统(SIGVerse),该平台将机器人组件打包成可与标准API通信的仿真服务,人或机器人可以通过该仿真控制器来请求服务执行仿真过程。同样,Doriya等[8]提出的异构机器人框架,也是通过提供服务形式的路径规划、地图构建、导航和图像处理等功能为机器人提供帮助。此外,该架构还被用于复杂系统的分布式仿真,如神经网络[9]、链式网络[10]等。

FMS是大型飞机航空电子系统的核心,它通过组织、协调和综合各种机载电子设备和机电系统,生成并管理飞行计划,根据轨迹预测在飞行中实施水平和垂直引导,实现飞机全自动飞行控制与操作[11-12]。同时,FMS的仿真属于典型的大规模复杂产品仿真问题,不仅涉及飞行计划、轨迹预测、性能管理、综合导航、飞行控制、人机接口等功能,还与空中交通管理、航空公司运营中心、驾驶员有着紧密的耦合关系。航空电子系统和FMS的仿真通常使用全保真专用仿真结构,如美国国家航空航天局(NASA)的B-757 ARIES系统[13]和B747全动态仿真器[14]。该架构精确地模拟了机载硬件和结构的功能特性,但是具有较高的成本和较差的兼容性。以FMS应用为例,表 1比较了不同仿真体系架构的优缺点。

表 1 FMS系统中不同体系架构的对比
系统架构 优点 缺点 应用领域
基于飞行部件的结构 兼容性好高保真 灵活性低不易扩展不可重用 新硬件和模型的集成和测试
DIS/HLA 互操作性可扩展性可复用性 不支持复杂产品的描述和建模重配置能力差 大规模、基于离散时间、松散耦合、功能和区域分布的仿真场景
云计算和微服务架构 灵活性可扩展性可复用性重配置能力标准化通信平台 未考虑实时性要求 仿真模块可以被封装成服务,可以在设计和开发阶段搭建仿真

基于微服务和云计算的分布式仿真平台(service and cloud computing-based distributed simulation platform,SCS-P)设计方案如图 3所示。该方案的设计遵循了云通信的原则[15]

图 3 不同设计团队之间的仿真机制

1) 技术团队的系统开发和仿真分为2个阶段。第1阶段,应设计目标组件或子系统,并开发相关的仿真单元,部署在SCS-P。第2阶段,设计一个仿真流程来链接新开发的仿真单元或相关子系统。仿真流程也部署在SCS-P上。运行仿真流程,以设计好的逻辑顺序访问和调用仿真单元,并返回仿真结果。

2) 部分仿真单元被封装为服务/微服务,可由多个子系统访问。如果仿真单元仅与一个或几个子系统相关,则可以将其部署在其仿真环境中并通过仿真代理进行访问。

3) 所有仿真服务或单元均由其设计和开发人员控制和维护,其他设计团队通过调用API进行访问。

为了实现图 3中的仿真方案,本文开发了相关的关键技术作为支撑:仿真单元服务封装技术、仿真代理技术和仿真过程建模和编排技术。

图 4所示,为了模拟系统的内部逻辑,该方案引入仿真过程建模和编排技术,将仿真系统分为子系统仿真单元和系统内部关系仿真2部分。该方法可以简化仿真框架并提供多配置仿真的灵活性。

图 4 仿真过程建模与编排

根据云计算和微服务架构的特点,SCS-P的软件架构采用SOA和微服务的分层模式,各层使用云计算技术给予物理和硬件支撑。如图 5所示,该平台的软件结构分为6个层次、7个应用:运行环境、执行组件、仿真代理、仿真代理管理、用户界面、仿真集成工具和仿真管理工具。基于云计算的硬件结构如图 6所示,仿真服务以总线的形式部署在SCS-P上,仿真单元可以在不同的系统环境中独立安装部署并通过仿真代理进行访问。

图 5 基于服务和云计算的仿真平台框架(SCS-P)

图 6 仿真平台的层次结构

2 仿真单元服务

SCS-P的框架包含了2个服务级别:聚合级和元级。一个或多个元服务构成聚合服务,并共享聚合服务中的信息和数据库资源。每个聚合服务包括管理服务(M-service)和通信服务(Com-service)。M服务管理聚合服务的逻辑流程和任务控制,并协调元服务之间的交互关系。Com服务负责与其他聚合服务间的交互和通信,同时提供动态服务编排、仿真负载均衡以及仿真请求匹配功能。在本文的应用中,将飞行管理系统中的集成子系统(如综合导航系统)建模为聚合服务,而子系统中的组件(如组合导航系统中的惯性元件)被建模为元服务。聚合服务的结构如图 7所示。

图 7 聚合服务结构

SCS-P的设计结合了聚合-元架构和服务管理/配置结构的优势,具有灵活性、可扩展性和重用性。系统可以通过2种方式进行重新配置:首先,它可以对系统进行功能扩展,可以在系统中实现新的聚合和元服务。其次,系统结构也可以重新配置以完成不同的仿真任务。例如,具有余度方案的子系统(如飞行控制系统和导航设备)可以被重新配置用于各种功能测试,例如余度管理、导航数据融合和容错飞行控制。另外其中的元服务(如飞机动力学模型解算和惯性导航元件仿真单元等)可被不同的系统结构重用。

元服务可以分为3种类型:扩展BDI服务、反应性服务和动态模型服务。

1) 扩展BDI服务。

BDI(belief, desire, intension)服务模型是自主、有意识系统建模的基本结构。本文对BDI的基本结构进行了扩展,以提高系统灵活性和快速重新配置能力。扩展的BDI模型结构如图 8所示,服务管理、配置模块与协调模块共同驱动服务模型的管理、仿真和操作控制。此外,该结构还具有重新配置能力。在FMS的仿真中,涉及到决策的相关算法模块(如4D轨迹预测等)可建模为扩展BDI型服务。

图 8 扩展BDI服务结构

2) 反应性服务。

反应性服务直接对外部环境的变化作出响应。它们感知外界环境,并根据内部条件-动作规则来执行动作以改变外部环境,或者改变自身内部的知识和状态。如图 9所示,符合该特征的仿真单元(如飞行控制执行机构)可以用一个简单的反应式服务来建模。

图 9 反应性服务结构

3) 动态模型服务。

动态模型服务为基于数据的模型和动态程序(如飞机动力学模型、发动机模型和惯性单元模型等)提供存储机制,其基本结构如图 10所示。知识库存储与模型相关的数据,服务模型配置接口管理知识数据库,拥有完全的知识权限,并与系统管理聚合服务相连方便实现模型管理和重配置功能(例如,用户可以选择不同机型的动力学模型,或添加/删除型号)。数据处理引擎模块执行如数据计算、查表和其他混合类型的计算。在FMS应用中,飞机动力学模型、发动机模型、执行器模型、惯性单元模型和气象模型均可通过该动态模型服务的架构来实现。

图 10 动态模型服务结构

仿真过程中聚合服务之间的通信以固定的频率进行。如图 7所示,独立地或根据从其他服务收集到信息执行特定的动作,并向环境中输出信息。而元服务之间的通信则是完全不同的。通常,同一聚合中的元服务以不同的仿真速度运行,但是通过信息共享的方式使用或修改同样的信息和参数。例如,飞行管理系统内的元服务共享飞行计划和4D轨迹数据。不同聚合服务中的元服务进行通信必须先通过聚合服务,然后再感知共享环境中的信息。这是因为不同元服务之间的通信经常会随着仿真进程改变(例如,当飞行员修改飞行计划时,飞行管理服务只与控制显示组件服务进行交互),相同的信息在不同的聚合服务中也可能有不同的形式(例如不同的协调系统)。

3 仿真编排与控制

基于模型驱动架构(model driven architecture, MDA)的模拟编排分为3个级别。第1级是仿真过程模型级,SCS-P提供仿真过程建模工具,帮助用户根据对象系统(本文中为FMS系统)的结构和过程,使用仿真单元实体,形成仿真过程模型。仿真单元实体包括功能描述、数据输入、控制输入和数据输出。第2级是计算和逻辑模型级,在这个级别中,SCS-P将仿真过程模型映射到计算和逻辑模型中,仿真单元实体转换成仿真服务与相应的其他服务连接,同时构建数据结构和控制机制。第3级是代码执行级别,执行代码将根据上述计算和逻辑模型自动生成,最后部署在平台上。

同时为了满足仿真的实时性要求,仿真编排中内嵌了仿真节拍的控制机制,以保证仿真在时序逻辑上的正确性。如果出现微服务无效或者有限时间内未完成计算的情况,可以寻求其他同类微服务的计算结果,甚至中断整个仿真流程。

基于模型的仿真服务编排方案如图 3所示,协调仿真过程操作逻辑如图 11所示。所有仿真服务访问都是通过仿真代理机制进行的,图中的标号代表仿真服务访问的顺序。文[15]给出了有关服务流程建模,转换和绑定的详细信息。

图 11 仿真服务访问机制

4 仿真案例分析

为了验证SCS-P系统架构和算法的有效性,本文基于SCS-P架构开发并实现了飞行管理系统仿真平台。如图 12所示,飞行管理系统的硬件包括飞行管理计算机(FMC)、导航传感器和人机界面设备。它与自动飞行控制系统和自动推力控制系统相连。整体系统是一个由多个专业团队协作开发的紧耦合复杂系统,由综合导航、飞行计划、四维轨迹预测、性能计算和飞行导引等功能单元组成。基于前文所述的SCS-P仿真框架,该系统的结构如图 12所示。

图 12 FMS系统

飞行管理服务由多个核心的元服务模块组成。飞行计划、四维轨迹预测、性能计算、四维制导以及导航服务是基于扩展BDI服务架构开发的。导航数据库和性能数据库在聚合服务中开发实现。

图 13 FMS系统的多服务模型

本文开发的FMS仿真验证平台实物如图 14所示。平台提供了较为完整的基于SCS-P架构的FMS仿真开发、集成和部署的软件环境,以及计算、存储和人机交互等硬件环境。

图 14 FMS仿真验证平台实物

针对不同的飞行路线,本文对基于四维轨迹的飞行管理仿真系统进行了深入的测试。图 15给出了从北京首都机场(ZBAA)到上海虹桥机场(ZSSS)4D路线的仿真结果。图 15a显示了侧向导引的结果:直线段横向误差保持在50 m,在转弯段制导律也能平滑地处理。终端的垂直结果如图 15b所示,进场阶段从9 000 m开始,四维制导同时满足空间和时间约束。进场阶段的高度误差保持在±20 m内,时间误差为10 s~1 min,满足实际应用的控制精度要求。

图 15 ZBAA-ZSSS路线的仿真结果

图 16给出了仿真系统中导航信号(高度)、导引信号(控制模式)、飞行控制信号(俯仰角)的变化曲线。当飞机到达巡航高度9 000 m后,控制模式由爬升转为巡航,俯仰角开始减小。该过程满足服务逻辑和服务实时性的要求。

图 16 信号仿真时序图

5 结论

本文提出了一种基于微服务和云计算的分布式仿真架构,以满足大型复杂产品开发的灵活、可扩展和可重用仿真的需求。该仿真架构基于云计算和SOA设计,运用了2个关键的支持技术:仿真单元服务和仿真编排。系统实现和应用表明,该架构为快速仿真、验证和评估不同FMS系统的设计和功能,以及定制的FMS配置提供了有效的仿真环境。

参考文献
[1]
MILLER D C, THORPE J A. SIMNET:The advent of simulator networking[J]. Proceedings of the IEEE, 1995, 83(8): 1114-1123. DOI:10.1109/5.400452
[2]
HOFER R C, LOPER M L. DIS today distributed interactive simulation[J]. Proceedings of the IEEE, 1995, 83(8): 1124-1137. DOI:10.1109/5.400453
[3]
WILSON A L, WEATHERLY R M. The aggregate level simulation protocol: An evolving system[C]//Proceedings of Winter Simulation Conference. Lake Buena Vista, USA: IEEE, 1994: 781-787.
[4]
KUHL F, WEATHERLY R, DAHMANN J. Creating computer simulations:An introduction to the high level architecture[M]. Upper Saddle River: Prentice Hall PTR, 1999.
[5]
ANG J, ARSANJANI A, CHUA S, et al. Patterns:Service-oriented architecture and web services[M]. Armonk: IBM Corporation, 2004.
[6]
MILLER M. Cloud computing:Web-based applications that change the way you work and collaborate online[M]. Indianapolis: Que Publishing Company, 2008.
[7]
TAN J T C, INAMURA T. Sigverse-a cloud computing architecture simulation platform for social human-robot interaction[C]//2012 IEEE International Robotics and Automation. Saint Paul, USA: IEEE, 2012: 1310-1315.
[8]
DORIYA R, CHAKRABORTY P, NANDI G C. Robot-Cloud: A framework to assist heterogeneous low cost robots[C]//Robotics & Artificial Intelligence Laboratory, Indian Institute of Information Technology, International Conference on Communication, Information & Computing Technology. Mumbai, India, 2012.
[9]
SCHIKUTA E, MANN E. A cloud-based neural network simulation environment[C]//International Work-Conference on Artificial Neural Networks. Tenerife, Spain: Springer, 2013.
[10]
ROSSETTI M D, CHEN Y H. A cloud computing architecture for supply chain network simulation[C]//Proceedings of the 2012 Winter Simulation Conference. Berlin, Germany: IEEE, 2012.
[11]
程农, 拓朴筠, 李清, 等. 新航行体系下大型客机飞行管理系统关键技术研究与仿真验证[J]. 中国科学:技术科学, 2018, 48(3): 264-276.
CHENG N, TUO P Y, LI Q, et al. Research and simulation on key technologies of airliner's flight management system under next-generation navigation system[J]. SCIENTIA SINICA Technologica, 2018, 48(3): 264-276. (in Chinese)
[12]
REN L L, HO N T, CLARKE J P. Workstation based fast-time aircraft simulator for noise abatement approach procedure study[C]//AIAA 4th Aviation Technology, Integration and Operations. Chicago, USA: AIAA, 2004.
[13]
CHUNG V, HUTCHINSON B. A unique software system for simulation-to-flight research[C]//2001 AIAA Modelling and Simulation Technologies Conference and Exbibit. Montreal, Canada: AIAA, 2001.
[14]
ELMER K, WAT J, GERSHZOHN G, et al. A study of noise abatement procedures using ames B747-400 flight simulator[C]//8th AIAA/CEAS Aeroacoustics Conference & Exhlbit. Breckenridge, USA: AIAA, 2002.
[15]
LI Q, WANG Z Y, LI W H, et al. Applications integration in a hybrid cloud computing environment:Modelling and platform[J]. Enterprise Information Systems, 2013, 7(3): 237-271. DOI:10.1080/17517575.2012.677479