林 山,李越雷,陈 颖
(1.四川理工学院 计算机学院,四川 自贡 643000;2.中国西南电子技术研究所,成都 610036)
在航空电子系统领域,随着系统向着数字化、模块化和综合化的方向发展,航空电子系统已经演变成模块级高度综合集成的系统[1]。传统的独立电子装备已经不再存在,取而代之的是将传统的多个功能的独立电子装备作为一个整体进行统一设计,从而在性能、体积、重量、成本等方面具有传统方式不可比拟的优势。但随着系统规模的不断增大,系统的复杂性也急剧增加,模块级高度综合集成的航电系统已经成为了一个高度复杂的系统,对其设计、开发和维护带来了很大的困难。
构建模型是研究复杂系统的主要方法,由对象管理组织(Object Management Group,OMG)提出的模型驱动架构(Model Driven Architecture,MDA)是以统一建模语言(Unified Modeling Language,UML)为基础的面向对象建模方法。但基于UML的MDA缺乏对特定领域建模的支持,不同的领域可能需要不同的建模语言,人们通常根据应用系统(领域)的需要建立自己的建模语言[2]。本文通过元模型刻画出可以被系统开发人员直接使用的航电系统建模语言,搭建出适合人与人之间沟通的图示化航电系统模型,再利用可扩展标记语言(eXtensible Markup Language,XML)描述适合机器解析的系统模型,从而建立人与人、人与机器之间的沟通方法。
航空电子系统是高度综合化复杂系统,对其不能像其它简单系统一样直接进行建模工作,应先将复杂系统按功能划分为若干个子系统,分别建立各子系统模型,然后建立子系统之间的关联模型,最后通过关联模型将各子系统模型集成起来,构成系统的总体模型[3]。对复杂系统分块之后,出现许多较小的建模对象,降低了系统建模复杂度。航电系统按功能可划分成通信导航与识别系统、雷达系统、电子战系统、光电系统、飞行器管理系统、显示器和武器系统[4],子系统之间相互作用,从而生成总的系统功能。
从航电系统划分出的子系统的复杂度依然很高,对其从不同层次加以描述,建立起不同层次的模型,可以进一步降低系统的复杂度。通过对系统的分层处理,把复杂系统划分为若干层次,各层次由不同的实体构成,实体完成特定的行为功能并具备接口定义,层与层之间、实体与实体之间通过一定的关联关系关联,实体内部高内聚,实体之间松耦合。经过复杂系统分层逻辑模型处理后,实体、实体的属性、实体之间的互连关系构成了系统的3个要素。
典型的航空电子系统分层模型如图1所示,系统分为应用层、组件层及平台层。应用层包含若干个应用功能线程,它们之间有一定的关联关系;每个应用功能线程的具体实现由组件层的若干组件组合完成,组件与组件之间有一定的关联关系;组件部署在平台层上,平台层由具体的功能单元(处理器)组成,功能单元与功能单元之间有一定的关联关系。
图1 复杂系统分层模型Fig.1 Multi-level model of complex system
系统可以用构成系统的元素及元素与元素之间关联关系的集合进行描述。参考图1复杂系统分层模型,在数学上,对于分层后的复杂系统Y可描述为
式中,S表示系统分层集合,si表示第i层;Rs表示层与层之间的关联关系集合,Rs,(i-1),i表示第(i-1)层与第i层之间的关联关系集合。
针对模块级高度综合集成的复杂航电系统,通过合理划分和描述构成系统的各部分和各层次以及其相互关系,可以清晰地表征复杂系统整体结构,大大降低了系统的建模技术难度。
UML作为一种通用建模语言而显得过于通用和复杂,对于特定领域的建模效率不高。在不同的领域需要不同的建模语言及其建模工具,人们通常根据应用系统的需要建立自己的建模语言及其建模环境,元建模技术的出现解决了这个问题。元建模是指由领域专家对特定领域进行分析和抽象,得到该领域的共性和变化特征,通过UML类图和对象约束语言(Object Constraint Language,OCL)定义该领域建模语言特有的语法和语义,建立该领域的元模型[5]。元模型建模技术不是对系统直接进行建模,而是先建立用于刻画某个领域建模语言的元模型,然后通过该领域建模语言对某一特定应用搭建系统模型。
元模型是陈述建模的模型。元模型用抽象的方式定义了一种建模语言的构件及它们之间的关系,还有约束和建模规则。元模型是对模型更高一级的抽象,是关于模型的模型,对如何建模、模型定义、模型间集成和互操作等信息作出了描述[6]。元模型和模型之间是一种类和实例的关系,每个模型都是元模型的一个实例,如图2所示。
图2 现实、模型和元模型之间的关系Fig.2 Relationship between reality,model and metamodel
定义一个元模型需要一种元建模语言,而且该语言是通过元元模型描述的。基于UML类图的元元模型因为采用面向对象技术而显得自然和直观,易于学习,并且可以使用现成的UML建模工具来建立元模型,已经成为主流。
综合模块化航空电子系统硬件资源通常包括天线接口单元(AIU)组件、射频接收激励组件(RF)、信号预处理组件(SPM)、数据复用组件(DX)、射频前端接口控制组件(RCM)和通用I/O接口组件(GPIO),可以实现话音、数据传输、导航、识别等功能。
前面已经将模块化航空电子系统划分为平台层、组件层和应用层3个层次。在平台层有各种不同端口和处理单元,将这些端口和单元分别抽象为端口类和单元类。端口类是对物理端口的抽象,这些端口用于信号和数据的传输,包括RF端口、LVDS端口、RapidIO端口和CAN端口等。单元类是对构成组件的具体硬件实体的抽象,通常用来执行具体的计算,比如PowerPC芯片和DSP芯片等。端口和处理单元都不能再划分,所以每个种类的处理单元或端口就是一个元模型。类可以包含若干属性,对象可以继承类的属性,对端口类属性的描述如图3所示。这里定义的端口属性包括端口号、端口状态、端口所属处理单元,端口所属处理单元的类型可以根据需要添加其它的端口属性。
图3 端口属性定义Fig.3 Attribute of port
组件类是对组件层中组件的抽象,它是对具有某项特有功能的实体的抽象,包含端口和处理单元。如SPM组件由若干个LVDS端口、RapidIO端口和DSP处理单元组成,所以SPM元模型包含LVDS元模型、RapidIO元模型和DSP元模型,并继承组件类的属性,如图4所示。
图4 SPM元模型定义Fig.4 Metamodel of SPM
在应用层,每个应用功能用一个集合描述。应用功能是物理资源上连贯的,是对执行某项特定功能而定义的逻辑实体。集合描述的是应用功能与物理资源之间的映射关系,这种映射关系不是固定的。考虑到物理资源可能出现故障的情况,同一应用功能必须可以映射到多种物理资源配置,以实现对故障资源的屏蔽[7]。任务阶段和系统状态的变化也可能导致同一物理资源在不同时间运行不同应用功能。所以应用功能与物理资源配置之间是多对多的映射,系统可以对资源的分配进行调整,因此集合记录了应用功能和资源之间当前的配对状态。集合应包含所有的组件资源,如图5所示。
图5 应用功能集合定义Fig.5 Set of application
利用面向对象的集成和协调技术将元类和元实体组成拼合模型,若干个下层模型又可合成上层模型,直到形成整个系统元模型。对综合模块化航空电子系统元模型搭建如图6所示。系统模型包含了应用功能线程集合、组件类、单元类和端口类。组件类包含了构成子系统的各种组件,不同的组件又包含了不同类型的处理器模块和端口。单元类是对处理器单元的抽象,包含PowerPC处理器和DSP处理器。端口类是对物理端口的抽象,不同的端口类型用于不同的信号和数据的传输。应用功能线程集合则包含各种组件。
元模型定义了该领域的语法和语义,针对系统的元模型搭建完成后,在工具环境中解释并注册,就形成了航电领域建模语言。以SPM为例,建立模块的域模型。每个SPM模块含2个DSP处理器,每个DSP处理器对应3个LVDS端口和2个RapidIO端口,所有这些约束关系及属性定义都是在SPM元模型中实现。SPM模型如图7所示。
图7 SPM模型Fig.7 Model of SPM
SPM模型内部结构如图8所示,采用这种层次化的方式来组织特征,各层特征之间以整体-部分的关系构成,可清楚地描述系统。
图8 SPM内部模型Fig.8 Internal model of SPM
根据系统的特点和要求,采用类似“电路图”的方式,通过对模型和元素的拖放连接,可以建立具体的子系统模型。由于整个系统模型过大,所以只给出部分模型,如图9所示。利用这种建模方式,可以根据具体情况动态地对系统进行配置,能够快速地响应需求的变化,提高开发效率,减少错误率。
图9 某IMA系统部分模型Fig.9 Partial model of an IMA system
通过图形化建模可以建立复杂系统的高度抽象模型,表征复杂系统整体结构、各分层结构、层与层之间的关联关系等,从而使得人们对复杂系统的内部实体、实体属性、实体之间的关联关系,以及演变过程更加清晰,同时也为项目团队之间建立了统一的复杂系统沟通方式。
对于构建好的复杂系统图示化模型,需转化为易于机器解读的系统模型描述文件。考虑到系统的扩展性、易用性和程序处理的方便性,采用XML描述复杂系统的系统模型,并传递系统资源数据,实现数据的交互与共享[8]。应用XML的目的是希望用一种标准的数据组织形式来传递数据,增强系统内外部的交互能力。可以将XML作为一个中间件,以统一的模式进行数据交换。
在基于元模型进行复杂系统建模的基础上,可以利用XMI(XML Metadata Interchange)规范生成使用XML语言描述的复杂系统的系统模型。生成的系统模型XML描述文件部分如下所示:
对组件的描述在之间,描述了组件的名字
系统模型转化为易于机器解读的模型XML表征,模型XML表征文件由XML解析器解析,形成系统的核心框架,通过框架完成平台硬件注册、应用构件注册、硬件之间、构件之间关联关系的连接,完成整个系统应用部署过程(静态部署),并根据系统的备案策略,完成系统在不同工作模式下的智能管理及功能重构功能(动态部署)。
在电子信息系统领域,随着系统规模的不断增大,系统的复杂性也在急剧增加,这一点在模块级高度综合集成的航空电子系统中尤为突出。本文简述了基于元模型的系统建模方法,并通过XML进行航电系统的知识表达。首先针对航电系统复杂性的特点,将系统划分为若干层次,从而大大降低了复杂性;其次在系统分层的基础上,根据元模型建模技术构建系统的元模型,再根据具体应用设计搭建出系统模型;最后将系统模型转化为易于机器解读的XML格式,完成整个系统应用部署过程。工程实践表明,这种高度抽象的系统集成设计方法显著提高了航电系统开发的进度与质量。
[1] 陈颖.从复杂系统观点看模块级综合集成航空电子结构[J].电讯技术,2009,49(4):98-102.CHEN Ying.The Integrated Modular Avionics Eletronic Architecture from Complex SystemViews[J].Telecommunication Engineering,2009,49(4):98-102.(in Chinese)
[2] 刘辉,麻志毅,邵维忠.元建模技术研究进展[J].软件学报,2008,19(6):1317-1327.LIU Hui,MA Zhi-yi,SHAO Wei-zhong.Progress of Research on Metamodeling[J].Journal of Software,2008,19(6):1317-1327.(in Chinese)
[3] 刘兴堂,梁炳成,刘力.复杂系统建模理论、方法与技术[M].北京:科学出版社,2008.LIU Xing-tang,LIANG Bing-cheng,LIU Li.Complexity System Modeling:Theory,Method and Technology[M].Beijing:Science Press,2008.(in Chinese)
[4] 孙鑫.综合化CNI系统的测试系统设计[J].电讯技术,2006,46(5):194-196.SUN Xin.Design of a Test System for Integrated CNI(ICNI)Systems[J].Telecommunication Engineering,2006,46(5):194-196.(in Chinese)
[5] 肖苏华,李迪,叶峰.基于特定领域建模的数控系统元建模研究[J].深圳大学学报理工版,2008,25(1):92-96.XIAO Su-hua,LI Di,YE Feng.A meta-model of computer numerical control system based on domain-specific modeling[J].Journal of Shenzhen University Science and Engineering,2008,25(1):92-96.(in Chinese)
[6] 毛媛,刘杰,李伯虎.基于元模型的复杂系统建模方法研究[J].系统仿真学报,2002,14(4):411-414,454.MAO Yuan,LIU Jie,LI Bo-hu.Metamodel-Based Modeling Methodology Research of Complex System[J].Journal of System Simulation,2002,14(4):411-414,454.(in Chinese)
[7] 杨斌.模块化综合系统的重构设计[J].电讯技术,2009,49(6):45-48.YANG Bin.Reconfigurable Design in Modular Integrated Systems[J].Telecommunication Engineering,2009,49(6):45-48.(in Chinese)
[8] 韩利芳.可扩展标记语言及其军事应用[J].电讯技术,2009,49(12):109-114.HAN Li-fang.Extensible Markup Language(XML)and its Military Applications[J].Telecommunication Engineering,2009,49(12):109-114.(in Chinese)