综合航电分区间通信元模型设计研究
2019-08-13张晓丽彭寒景月娟
张晓丽 彭寒 景月娟
摘 要:针对当前综合模块化航空电子系统(IMA)开发中存在的问题,提出一种基于特定领域建模的综合航电分区间通信元模型的设计开发方法。通过分析航电系统分区间通信原理,抽取分区间通信的特性,采用基于面向特定领域的元建模分析方法,构建了综合航电分区间通信的元模型,通过元模型解析器生成了面向领域的建模语言,通过模型解释器将应用模型自动生成系统通信配置文件。以模块内部两分区间通信系统为实例对象进行了验证,结果表明该建模语言,具有较好的可理解性、易用性,可显著提高航电系统的开发效率,为基于元模型的综合航电系统建模方法奠定基础。
关键字:模型驱动架构;元模型;分区间通信;综合航电
中图分类号: TP391.9 文献标识码:A
Design of Meta-model of Integrated Modular
Avionic Inter-partition Communication
ZHANG Xiao-li PENG Han,JING Yue-juan
(School of Computer,Xi′an Aeronautical University,Xi'an,Shaanxi 710077,China)
Abstract:To solve the development problems of current integrated modular avionic(IMA) system,a development method based on domain-oriented meta-model of inter?partition communication was proposed. Through analyzing the communication principle between the avionics system partition and extract the characteristics,the inter-partition communication meta-model was constructed,then the domain-oriented meta-modeling languages was generated by meta-model parser and the application model used the model parser to generate the communication configure file automatically. Validated through the two partition communication in same module,the result shows that the model language has good intelligibility and usability,and can significantly improve the development efficiency of the avionics system,makes a basis of modeling method of integrated avionics system based on the meta-model.
Key words:model driven architecture;meta-model;inter-partition communication;integrated avionics;
航空電子系统模块化、综合化的快速发展对操作系统软件提出了更高的要求,为保障系统的高安全性、高可靠性,必须有高安全性的实时操作系统支持,ARINC653提出了分区的核心概念,分区是运行在一个处理器模块上的多个应用程序的集合,其优势是空间分区和时间分区的相互隔离,当一个分区内的应用发生错误时,在时间和空间上都不会影响到别的分区的执行。分区间通信是不同分区内的应用程序间的信息交换的主要途径,其正确性和可靠性将极大地影响系统的性能[1]。
随着综合航电系统规模不断的增大,传统的开发测试方法已不能适应日益增长的软件系统规模和复杂性需求,基于模型驱动的可视化系统建模设计方法已经广泛应用于机载软件开发过程中[2,3,4]。模型驱动方法是研究复杂系统的主要方法,采用模型驱动架构 MDA(model driven architecture)[5]的理论和方法,可以在设计初期建立系统模型,对其各项关键属性进行分析和验证,以满足系统的需求。
基于MDA和元建模技术,将综合航电系统的分区间通信的行为特性抽取出来,建立分区间通信的系统元模型[6],构建适用于专业技术人员的图形化建模环境,并解析该元模型自动生成通信配置文件,从模型构建及使用的角度完成了综合航电分区间通信行为建模语言的设计、实现与应用,从而提升软件的自动化程度和开发效率。
1 MDA概述
模型驱动构架(model driven architecture,MDA)是由对象管理小组(object management group,OMG)提出的一套以模型为中心的软件设计开发方法,是一种直接将模型用于理解、分析系统,以及构建、部署、维护和修改软件的过程中的软件系统设计与开发方法[2]。其主要思想是使用高度抽象的模型作为开发核心,使程序设计人员将设计中心转向模型,将设计与实现分开。元建模(MetaModeling)[7]是一种模型集成化的工程分析方法,是对系统高层次上的抽象,其本质就是在特定领域内抽象该领域的元模型。实践表明,利用元建模技术可以简化建模语言的定义过程,大幅度提高软件开发效率,满足大量的建模需求。
元建模的本质是创建元模型,元模型是描述特定模型语言的模型,定义了一组相关的架构、语义和限制条件,主要用于描述特定领域的模型,是模型的更高一级抽象[4]。
元对象设施(meta-object facility,简称MOF)[8]是OMG组织提出的建模标准规范,它为下一代的平台无关模型提供了元数据框架,其作用是建立元模型,元模型经过解释生成领域建模语言,可用于领域内不同应用模型的开发。
以MOF标准为规范建立分区间通信系统元模型,基于 MOF元建模就是对元元模型进行实例化的过程,其开发步骤如图1所示。首先分析综合航电系统分区间通信特性,得到领域基础,然后使用GME构建其概念模型,得到分区间通信元模型,通过元模型解释器生成领域建模环境,设计符合新元模型的应用模型,解析新元模型的信息生成配置文件,实现系统模型到配置文件的自动转化。
2 分区间通信原理
分区是 ARINC653 标准中的一个核心概念,支持多个航空应用在一个独立的平台上运行,分区间通信是指在同一模块或不同模块上的两个或多个分区之间的数据交换。为了隔离不同应用程序之间的影响,系统必须保证分区在时间和空间上的隔离,因此分区之间不允许直接通信,分区之间的通信是通过由操作系统控制的端口发送和接收消息来实现的,消息可以从一个单一的源端口发送给一个或多个目的端口。
分区间通信是由基于通道通信的信息交換和同步机制来完成的,该服务通信机制如图2所示,主要包括端口、通道以及传送的消息。首先,源分区应用程序调用APEX函数将消息发送到源端口,源端口按照通信协议发送消息给通道,然后通过硬件模块支持层的接口将消息发送到目标端的物理接口,最后由目标分区的端口接收信息。其中,端口是应用程序在发送或接受消息时使用的分区内局部
资源,通道定义了一个源端口和一个或多个目的端口之间的逻辑连接关系,提供了分区互联的通信机制,而底层的硬件平台对于应用程序来说是透明的。
3 分区间通信元模型
3.1 分区元模型
IMA分区是处于模块管理之下的时间和空间上的执行单元,是根据航空电子应用中的功能进行划分,分区内有自己的操作系统,对于每一个分区,其主要属性如下:
(1)分区状态:描述分区的所有状态信息,包括分区名、分区内存、分区调度周期、持续时间、入口地址等信息。
(2)分区级操作系统:分区级操作系统主要实现对分区内进程的调度。
(3)分区应用程序名:运行在此分区之内的机载应用程序名称。
(4)分区端口组:标识分区所拥有的分区间通信端口的各种属性。端口作为分区间信息交换的主要对象,其端口模式分为采样端口和队列端口,主要区别如下:队列端口具有消息缓存功能,适用于传输包含不同的数据的消息,消息不允许覆盖,一般情况下消息不会丢失;采样端口适用于传输按周期更新的数据消息,系统只有一个有效的缓冲区,不存在缓存功能,后来的数据会将原来的数据覆盖。在采样模式下,分区随时可以发送消息或访问目的端口消息。两种端口除了具备各自的端口名称和端口ID属性之外,各端口状态信息如表1所示:
(5)分区进程组:分区中包含的所有进程对象。
(6)最大进程个数:分区创建的进程个数最大值。
(7)最大采样端口个数:分区中采样端口个数最大值。
(8)最大队列端口个数:分区中队列端口个数最大值。
(9)最大缓冲区个数:分区创建的缓冲区个数最大值。
(10)最大黑板个数:分区创建的黑板个数最大值。
(11)最大事件个数:分区创建的事件个数最大值。
(12)最大信号量个数:分区创建的信号量个数最大值。
根据以上特性,构建分区的元模型如图3所示:
3.2 通信元模型
分区间通信分为模块内和模块间的通信。模块内通信是指通信的分区位于同一个模块上;模块间通信是通信分区位于不同的模块上,它们之间的通信需要用到伪分区来实现。伪分区具有分区的属性,区别在于伪分区做的是数据转换的工作,通过它让不同操作系统上的两个分区实现数据交互,通过端口收发信息。
基于分区元模型和分区间通信的特点,构建分区间通信元模型。该元模型定义了分区间通信过程中所需的元素及之间的联系,为不同分区之间数据交换提供统一标准,同时通过对该元模型的解析,生成相应的配置文件。如图 4所示,该模型包括了分区端口、通道等模型元素。
3.3 约束规则
ARINC653规定其中采样端口和队列端口通过各自的通道接受或发送消息,并且类型一致,即采样端口只能连接采样端口,队列端口只能连接对列端口。由此,使用OCL语言来实现模型的约束校验。
本文根据ARINC653规定,给出部分约束校验代码如下,该语句表示设置缓冲区的通信源和目的都只能有一个:
self.connectionPoints(“src”)->theOnly().target().parent().parent() = self.connectionPoints(“dst”)->theOnly().target().parent()
3.4 配置文件生成
分区间通信实现的关键是系统配置文件,在该文件中定义分区、端口、通道、传输协议和传输设备的配置。其中,端口作为主要的通信对象,在系统配置文件中需要指定端口的各个特征,同时还需单独以<端口名称、分区名称>的方式定义连接关系,并制定消息的大小和传输协议。分区间通信配置文件如表2所示:
当建立分区间通信元模型之后,通过使用模型解释器对元模型进行解析,可以根据该元模型生成系统配置文件。模型解释器的作用是把模型转换成特定格式的文件,包括目标系统的配置文件、数据库框架或程序代码等。GME中的构造对象网络(Builder Object Network II,BON 2)框架,用于将领域模型映射到C++类,提供了丰富的、功能强大的接口来支持模型解释。使用GME中BON2框架对元模型进行解析,并根据模型的结构和行为生成相应的XML配置文件。
4 仿真应用实例分析
在GME环境中,使用自动化元模型解析工具,将搭建的分区间通信元模型解析并生成了综合航电分区间通信建模环境。该仿真实例是在同一模块内部根据分区间通信特点搭建的两个分区间通信的应用,如图5所示。
该仿真实例在同一模块上创建了FMSPartition和NAVPatition两个分区,并将FMSPartition设置为系统分区,NAVPatition为非系统分区,同时设置分区标识,优先级,入口地址等属性。进入分区,给每个分区设置其端口信息,在FMSPartition分区中,设置了5个队列端口,3个采样端口,并将其设置为源端口,通过各自通道连接至NAVPatition分区类型一致的相应端口。消息从FMSPartition分区中的Q1 端口发送至NAVPatition分区二的Q1端口,所有的执行程序都不超过定义的最大时间长度。
端口间的通信原则遵循OCL约束,当采样端口和队列端口作为源时,它只能够与同类型的端口建立通信,一旦违反约束,则提示错误,如图6所示。
在GME建模环境中创建好分区间通信实例之后,仿真模型则通过调用自行开发的模型解析器,按照各端口设置的相应属性及通信规则,解析生成如下的系统配置文件。
PartitionName=“FMSPartition” Criticality =“LEVEL_A” SystemPartition=“true” Entrypoint=“Initial”> MaxMessageSize=“30” Direction=“ SOURCE” MaxNbMessages=“30”> MaxMessageSize=“20” Direction=“ SOURCE” RefreshRateSeconds=“0.100”>
PartitionName=“NAVPartition” Criticality =“LEVEL_A” SystemPartition=“false” Entrypoint=“Initial”> MaxMessageSize=“30” Direction=" DESTINATION” MaxNbMessages=“30”> MaxMessageSize=“20” Direction=“DESTINATION” RefreshRateSeconds=“0.100”>
5 结 论
通过研究元建模相关技术和特定领域建模的相关理论和方法,分析了综合航电系统分区间通信原理,抽取了分区间通信对象的特征,采用特定领域建模方法,构建了综合航电分区间通信元模型,并通过对该元模型的解析实现了对IMA分区间通信对象的可视化配置、静态检查、配置文件自动生成等功能。通过仿真实例验证了本建模环境对分区间通信的完整性、易用性、适用性。
参考文献
[1] 贠海顺. 分区操作系统下模块间端口通信机制[J]. 信息通信,2018,183(3):213—214.
[2] 张潇,王立松,让涛. 基于模型的综合航电平台初步设计[J]. 计算机与现代化,2016,250(6):29—35.
[3] 周德新,牛亚月,崔海青. IMA分区间通信的一致性测试模型[J]. 计算机仿真,2018,35(2):43—48.
[4] 王志乐,魏俊淦,于辉. 基于元模型特性的机载显控系统建模方法[J]. 系统仿真学报,2015,27(11):2638—2643.
[5] Object Management Group. OMG model driven architecture-the architecture of choice for a changing world [EB/OL]. (2010-06-02) [2011-05-07]. http://www.omg.org/mda/.
[6] SHU J,ZHENG C,YANG F Y,et al. Research on applied-information technology with inter-partition integration testing strategy under IMA architecture[J]. Advanced Materials Research,2014,3295(977):454—459.
[7] 劉辉,麻志毅,邵维忠. 元建模技术研究进展[J]. 软件学报,2008,19(6):1318—1327.
[8] Object Management Group.Meta object facility(MOF) specification version 1.3[S/OL]. [2015-03-01].http://www.omg.org/spec/MOF/index.htm.