李 冰,刘 峰
(1.西安航空职业技术学院 陕西 西安 710089;2.中航工业一飞院 陕西 西安 710089)
综合化模块化航空电子系统(Integrated Modular Avionics,IMA)[1]已成为保证飞机达到各种规定的性能指标,完成预定任务的核心系统之一。它包括探测、通信、导航、显示控制等设备,承载了飞机通信、导航、显示等绝大多数的功能与任务。作为一种硬实时、高安全、高可用系统,综合航电系统开发需要在系统论证、设计时期建立其系统模型,对其各项关键属性(安全性、实时性、可靠性)进行分析和验证。
目前在综合航电体系结构建模方面,有SAE组织开发的AADL建模语言[2]和对象管理组织OMG开发的MARTES[3]等专用于航电系统建模的建模语言。但是这些建模工具和语言往往是从计算机工程的视角来建立综合航电领域的领域模型,未能填补综合航电领域的设计工程师与计算机软件工程师之间的技术鸿沟。领域专家难以很快的掌握以上各种建模工具的使用,急需一种直观、易用的领域建模工具,在辅助领域专家完成综合航电领域建模的同时保证系统的先期验证。
本文根据国内外普遍遵循的综合航电规范ASAAC[4]及ARINC653-Part1[5]所规定的IMA架构的硬件及软件要求,针对目前综合航电领域对建模工具的需求,采用特定领域建模技术(Domain Specific Modeling),建立了 IMA系统的参考模型。在此基础上,使用通用建模环境GME建立了IMA系统层、IMA模块层、IMA层及IMA进程层的层次化的IMA系统领域元模型。用此元模型生成了综合航电系统领域建模环境和领域建模工具,并用实例证明了该建模工具的易用性和可扩展性。
综合航电系统建模工具的设计是综合航电系统建模及验证工具链中的重要环节,其设计需求需要综合考虑领域建模需求和工具链的需求。
1)领域建模需求
综合航电系统建模工具需要完整、直观的反映出综合航电领域中的核心概念及核心概念之间的关系。完整性是指对综合航电领域的所有核心概念及其属性都要有所体现,直观性是指要尽量避免使用计算机领域的概念来描述和刻画领域建模元素,而要从航电领域工程师的视角来表现各种领域对象和对象间的关系。
2)工具链需求
使用综合航电系统建模工具建立的系统模型应能被系统开发及设计工具链中的后续工具分析及验证。包括:
①系统结构及语法级验证:使用建模工具建立的系统模型应能体现系统设计者对系统构型、各模块功能分配、模块间通信关系的表达,并支持对这些关系的静态检查。例如,两个分区的源端口不能互连。
②系统可调度性及通信延迟确定性分析:使用建模工具建立的系统调度模型,应能体现系统设计者对计算资源和通信资源的分配和部署,并支持对操作系统的可调度性分析及模块间通信延迟确定性的分析。
③支持对关键属性的形式化验证:使用建模工具建立的系统模型,应能体现设计者对系统功能特性及非功能属性的考虑,并支持对这些属性,尤其是非功能属性的形式化验证。例如对系统安全性的分析及验证。
综上,为满足领域建模需求,首先需要对综合航电系统进行领域分析,抽取各种领域概念,并建立领域参考模型。而为满足工具链的需求,则需要建立综合航电系统的各层次的元模型,在元模型层次上建立各种约束以支持对静态结构的检查;同时在元模型层次上提供对系统行为的描述能力,以支持对系统的动态行为的验证。
根据综合航电系统建模工具的需求,建立了IMA系统的参考模型,并对IMA系统的核心概念及概念间的关系、概念的关键属性进行了分析和分类整理。
根据ARINC651及ARINC653-Part1规范所列内容,总结了IMA系统的核心概念,包括IMA系统、IMA模块、IMA分区、IMA进程等、并建立了IMA系统的参考模型,如图1所示。图中,一个IMA系统(System)由一个或多个IMA模块(Moudle)组成,每个IMA模块自身又由一个或多个IMA分区(Partition)构成,分区的执行是在模块级操作系统(ModulelevelOS)控制之下的,模块级操作系统也是模块的一部分。一个分区包含了与分区级操作系统关联的进程(Process),分区级的操作系统负责在这个分区中正确执行分区中所有的进程。最后一个进程包含了其控制部分(Control),它会触发在进程的计算部分(Compute)中定义的活动的块(Block)。一个块是指一个用户自定义的函数或者被用户调用的APEX接口所提供的服务。
IMA系统的领域参考模型规定了系统的建模层次,同时也规定了各建模元素之间的包含关系和对等关系,是层次化的元模型体系的重要依据。
在IMA系统参考模型的基础上,对IMA系统、IMA模块、IMA分区、IMA进程这些综合航电领域核心概念的属性进行分析。其中IMA系统的属性如表1所示。
IMA系统代表了一个综合化航电系统的各个模块所构建出的系统,这个系统可能会与多个设备相连,同时还需要与其他IMA系统产生数据交互。IMA系统属性如表1所示。
通过以上分析过程,得到了IMA系统中的所有领域概念及概念之间的关系,以及概念的关键属性等数据。这些数据是将领域概念映射到建模环境中的实体、关系,并为实体和关系配备属性的依据。
图1 IMA系统参考模型Fig.1 A reference model of IMA systems
表1 IMA系统层属性列表Tab.1 Attributes of IMA System
领域元模型设计的本质就是将领域概念映射为领域实体,并将领域概念间的关系映射为领域实体间的关系;同时将领域概念的属性、概念间的关系的属性映射到领域实体的属性和领域实体间关系的属性。
在以上思想指导下,采用GME提供的层次化的元建模机制,建立了从系统级的IMA系统元模型到细粒度的进程级别元模型的层次化元模型。并用连接(Connection)元类建立了这些元模型之间的关联关系。形成了综合航电领域概念体系到领域建模元素体系之间的映射。
IMA系统元模型如图2所示。其中一个IMA系统包含多个IMA模块,且可包含0个或多个外设(Device)。让IMA系统继承了GME的InterFaceDefinition元类,使其具有输出/输出参数。在可见性方面,采用SystemAspect来让图2中定义的元素在系统建模时可见。
IMA模块级元模型如图3所示。IMA模块由不同的IMA分区构成,同时必须包含一个模块级的操作系统(ModuleLevelOS);ModuleLevelOS以自动机的方式来表示模块级操作系统的调度策略,自动机的每个状态是一个到IMA模块的IMA分区的引用(ScheduleUnit)。每个IMA分区必须有至少一个到ModuleLevelOS的引用,引用有一个属性Duration,它表示分配给它的执行时间。在自动机中,分区的状态转换被使用连接(NextUnit)来表示,每个引用只能有一个入口的转换和一个出口的转换。使用一个连接对象InitialUnit来表示自动机的初始状态。
图2 IMA系统层元模型Fig.2 Meta-Model of IMA System
图3 IMA模块级元模型Fig.3 Meta-model of IMA module
在GME环境下,这些元模型可作为GME的一个插件加载到其元建模环境中,从而形成IMA系统建模环境和建模工具。
利用GME提供的自动化元模型解析工具,生成了综合航电领域建模环境及建模工具,并使用建模工具建立了一个综合航电分区内的应用程序模型。分区应用程序ON_FLIGHT的功能是负责收集当前飞机在飞行过程中的位置信息和燃油液面高度数据并打印报告。其报告数据的格式为:[报告数据:高度:纬度:经度:燃油液面高度]。
ON_FLIGHT分区包括黑板对象board、缓冲区对象buff1和buff2、事件evt、信号量sema、采样端口s_ports、包含了所有航电应用所需的相关参数放入全局表格Global_params等通信和同步对象,以及生产当前位置数据(高度和经纬度)的POSITION_INDICATOR进程、更新当前燃油液面高度的FUEL_INDICATOR进程、刷新全局参数的PARAMETER_REFRESHER等3个进程。分区内各进程之间的通信及同步关系如图4所示。
图4 ON_FLIGHT分区示意图Fig.4 Schematic diagram of ON_FLIGHT partition
根据以上分析,在GME建模环境中使用综合航航电建模工具建立系统的ON_FLIGH分区领域模型,如图5所示。
本文针对当前综合化航空电子领域对领域建模工具的迫切需求,根据ASAAC规范及ARINC653-Part1规范,建立了综合模块化航空电子系统的领域元模型,并使用通用建模环境生成了综合航电系统的领域建模环境及建模工具。
图5 ON_FLIGHT分区领域模型Fig.5 Domain model of ON_FLIGHT partition
目前该建模工具可用来对综合航电系统的模块间通信关系、模块内分区间通信关系、分区内进程之间的同步与通信关系建模,同时可对各应用程序实体的属性进行配置。其所生成的网络配置表、端口配置表及分区间通信配置表已可用于系统通信关系的静态检查。
下一步的工作是设计各种模型转换工具,将综合航电领域模型转换为各种形式化模型,如用Signal语言表示的同步模型[6]或用BIP框架[7]表示的系统行为模型,以支持对系统各种关键属性的形式化验证。
[1]Watkins C B,Walter R.Transitioning from federated avionics architectures to Integrated Modular Avionics[C]//Proc.of the IEEE/AIAA 26th Digital Avionics Systems Conference(DASC ’07),2007:1-10.
[2]Feiler P H.The Architecture Analysis&Design Language(AADL):An Introduction.Technical Report[R].USA,CMU,
[3]Dennis Alders,MARTES:Model-Based Approach for Real-Time Embedded Systems development[EB/OL].[2007-06-13],https://lirias.kuleuven.be/bitstream/123456789/167595/1/D1.6_v1_ITEA-MARTES.pdf
[4]STANAG 4626(DRAFT 1) -Modular and Open Avionics Architectures[S].North Atlantic Treaty Organization,20041-04-07.
[5]Avionics application software standard interface-ARINC specification 653-part 1(REQUIRED SERVICES) [S].USA,Airlines electronic engineering committee(AEEC),2005.
[6]Gamatie A,Gautier T.Synchronous modeling of avionics applications using the SIGNAL language[C]//Proc.of the IEEE 9th Real-Time and Embedded Technology and Applications Symposium(RTAS’03),2003:144-151.
[7]Basu A,Bensalem S,Bozga M,et al.Rigorous component based system design using the BIP framework[J].IEEE Software,2011,28(3):41-48.