异构仿真:打造更可靠的综合化航空电子软件
1.IMA
航空电子系统先后经历了分立式、联合式、综合化等阶段,综合化阶段的航空电子系统即为IMA系统。IMA系统作为一类典型的安全关键系统,对安全性、可靠性、实时性有极高的要求。当下IMA系统正向开放式、模块化、综合化的方向高速发展,复杂程度也越来越高,需要多个具备不同功能特性的组件来协作完成复杂任务。
分区(Partition)是IMA系统的核心概念,即每个分区包含独立的地址空间、上下文数据以及实时任务,一个分区的错误行为不会影响到其他分区,是IMA多个组件协同工作的保障。为此,美国机动工程师协会SAE(Society of Automotive Engineers)于1997年推出了综合化航空电子操作系统标准ARINC653,根据软件安全级别定义了分区管理、调度、通信等接口,其目的是在航电实时操作系统与应用软件之间定义一套通用的应用执行接口标准,以保证IMA系统的可靠性和安全性。航空航天领域知名的国产操作系统翼辉操作系统和天脉操作系统都符合ARINC653标准。
2.异构仿真
随着系统复杂性急剧增加,IMA系统的功能越来越多地采用软件实现。如何在有限的开发时间和成本下设计与实现高质量的综合化航空电子软件,成为国内外学术界与工业界面临的重要挑战。在此背景下,异构仿真技术作为一种有效的解决方案脱颖而出,尤其适配需要多个组件协作的IMA系统。
异构仿真指在一个统一的仿真环境中,集成多种不同类型的仿真模型或工具,以支持跨平台、跨系统的协同工作。在航空电子领域,异构仿真主要用于验证和测试由多个不同供应商提供的软件组件能否在IMA架构下协同工作,可以帮助用户在早期发现并解决集成过程中可能出现的问题,从而提高系统的整体性能和可靠性。
3.异构仿真的关键技术
3.1 模型驱动工程(MDE)
近年来,模型驱动(Model-Driven)尤其是采用形式化模型驱动的综合化航空电子软件设计与开发方法逐渐受到重视,并被工业界认为是切实可行的重要手段。2012年发布的,国际民航领域使用的机载系统适航审定中的软件开发标准DO-178C,就将模型驱动和形式化方法(即DO-331和 DO-333)作为其核心标准的重要技术补充。可点击此处了解更多关于DO-178C的相关信息。
模型驱动的安全关键系统设计与开发方法中,常用的建模工具有SCADE Suite、Simulink等;常用的建模语言有SysML、AADL(Architecture Analysis & Design Language,AADL)等:
- SCADE Suite和Simulink主要用于功能模块设计和验证;
- SysML是基于UML(Unified Modeling Language,统一建模语言)的通用系统建模语言,针对系统工程进行了扩展,适用于跨学科的系统设计;
- AADL作为一种能对嵌入式系统的软件以及硬件体系结构进行建模与分析的模型驱动语言,在IMA系统的模型驱动开发方法方面的应用得到了学术界与工业界的认可。
3.2 虚拟原型技术
虚拟原型(Virtual Prototyping),又称虚拟样机技术,指在真实硬件实现之前,通过高级建模语言与工具在计算机上构建系统的完整虚拟环境与模型,不仅可以用来单独测试单个组件,还可以用来评估整个系统的集成效果。
虚拟原型技术对早期验证软件组件的功能正确性和性能指标非常有用,被广泛应用于各大工业领域,包括但不限于航空航天、汽车与半导体行业。
4.基于IMA系统的异构仿真技术应用案例
IMA系统通常是由几十甚至上百个不同种类的处理器(如ARM、DSP等)组成的大规模异构系统,如果采用全物理仿真,单单是这些目标板就需要占据好几个试验台,不仅资源配置存在限制,连线太多也容易混乱;但若使用SkyEye全数字仿真,就可以完美解决这一问题。
SkyEye,中文全称天目全数字实时仿真软件,是一款国产自主可控的基于可视化建模的硬件行为级仿真平台,针对大规模的复杂系统也可以轻松构建仿真环境,将被测程序直接加载到仿真系统中,从而解决IMA系统硬件测试环境搭建费时费力且不易维护的问题。
SkyEye为IMA系统提供多机多功能目标系统的仿真环境,采用分布式部署方式,通过多路传输数据总线把多种机载电子分系统完成交联,实现信息的测量、采集、传输、处理、监控和显示功能,并完成飞行控制、发动机控制、导航、性能管理等任务。
▲SkyEye大规模航电系统仿真案例
大规模的异构系统的测试,难度在于环境构建,一是数量众多,二是关系复杂,构建物理环境时难免出错。SkyEye提供的全数字实时仿真环境,在几个甚至1个PC机上就可以把庞大的IMA系统环境构建起来,对复杂系统测试验证来说无疑是更好的解决方案。