基于特定领域建模的综合航电分区级元模型研究
2019-06-11张晓丽彭寒
张晓丽 彭寒
摘要:针对当前综合模块化航空电子系统(IMA)开发中存在的问题,提出了一种基于特定领域元模型的综合航电分区级系统建模方法。通过分析提取航电系统分区内核对象特性及相互间联系,采用基于面向领域的元建模分析方法,构建了综合航电分区级通信的元模型,通过建模工具将元模型解析生成了面向领域的元建模语言。通过实例分析验证,该建模语言接近ARINC653标准对于分区内核对象的定义,具有较好的可理解性、易用性,可显著提高航电系统的开发效率,为基于元模型的综合航电系统建模方法奠定基础。
关键词:综合航电;领域建模;元模型;通用建模环境
中图分类号:TP391.9
文献标识码:A
随着计算机技术、航空技术的不断发展,综合化和模块化成为航空电子系统软件发展的总体趋势,新一代的航空电子系统已经演变成高度集成的综合模块化的系统,为了保证综合航电系统的高安全性、高可靠性,ARINC653[1]系统提出了分区操作系统的概念。在系统的设计和实现过程中,传统的开发测试方法已不能适应日益增长的软件系统规模和复杂性需求,为实现系统的先期验证,应采用各种分析、建模的方法在系统设计初期保证系统的功能验证,降低系统的开发成本,确保系统的功能需求和非功能需求的正确實现。
构建模型是研究复杂系统的主要方法,采用基于元模型的建模方法,可以将综合航电系统的分区操作系统特性抽取出来,建立平台无关的元模型(PIM)[2],使其适应不同的软件环境。研究了综合航电系统分区级内核对象的特征,设计了分区级通信软件的元模型结构,构建专业技术人员适用的图形化建模元素,从模型构建及使用的角度分析了综合航电分区级建模语言的设计、实现与应用。
1 MDA与元模型
模型驱动构架(model driven architecture,MDA)[3]是由对象管理小组(object managementgroup,OMG)提出的一套以模型为中心的软件设计开发方法,其主要思想是在软件开发整个生命周期内,使用高度抽象的模型作为开发核心,使程序设计人员将设计中心转向模型,将设计与实现分开。MDA从领域问题进行需求捕获、分析、再到模型设计以及实现最终的系统平台,每个阶段都对应相应的模型。
元建模( MetaModeling)[5,6]是MDA的重要组成技术之一,以模型为核心,通过建立描述领域特征的元模型来实现建模语言的定义。元建模是一种模型集成化的工程分析方法,其本质就是在特定领域内抽象该领域的元模型。实践表明,利用元建模技术可以简化建模语言的定义过程,大幅度提高软件开发效率,满足大量的建模需求。元模型是描述模型的模型,主要用于描述特定领域的模型,是模型的更高一级抽象,对如何建模、模型定义、模型间集成和互操作等信息作出了描述[7]。
关注的重点在于构建系统的元模型。在分析研究综合航电分区级通信机制的基础上,采用GME元建模工具来构建综合航电分区级元模型。
2 综合航电系统分区内核对象特性
综合航电系统(IMA)[8]分区由一个或多个进程组成,各进程之间为实现其分区特性的功能和实时要求并发执行。分区级通信是指处在同一分区内的进程之间的通信,IMA中数据交换是通过内部通信机制,不需要使用模块或内核的服务,主要通过缓冲区、黑板、信号量和事件等四种通信机制来实现。缓冲区和黑板被提供用于一般进程的通信,而信号量和事件提供进程间互斥和同步的功能。所有分区内消息传递机制必须确保原子消息访问(即部分写入的消息不能被读取)。
(1)缓冲区Buffers
缓冲区支持多个源和目的之间处理单个消息类型的进程通信,允许设置消息队列,消息在缓冲区内具有排队方式(FIFO和优先级队列)。缓冲区的管理以及其存储消息所需内存空间由系统构建时定义的分区内存分配。缓冲区内,消息可以携带不同数据,但是在传送期间内不允许覆盖先前数据。O/S允许缓冲区在消息队列中存储多条消息。
缓冲区的属性主要有进程队列、缓冲区内单一消息的大小、缓冲区整体大小。
(2)黑板Blackboards
黑板与缓冲区类似,但是黑板只能携带单个消息,所以黑板无消息排队机制,写入黑板的消息将被O/S保留,直到此消息被新的消息覆盖,这一机制允许发送过程中随时显示消息,并且可以随时接受访问最新消息的进程。进程可以读取黑板上的消息、设置并显示消息或者清除消息信息。
黑板的属性主要包括黑板所携带消息的大小、黑板状态。
(3)信号量Semaphores
ARINC653中定义的信号量是计数信号量,与进程和缓冲区的创建一样,创建信号量所需的内存空间将在系统构建时定义的分区内存中分配,通常用于提供对分区内共享资源的受控访问。信号量存在于分区内,其属性包括进程队列、信号量最大值、信号量当前值。
(4)事件Events
事件被用于控制进程同步执行,进程通过事件通知保证进程之间有序执行,防止因为某些不可预测的原因导致进程陷入停滞状态,事件允许通知可能等待某处理条件发生的进程。
事件的主要属性包含进程队列、事件当前状态、事件信息。
3 分区级元模型的设计
3.1 元模型设计
综合航电分区级元模型是机载操作系统分区级通信过程中的共性、基础元素的抽象集合,通过建立其元模型,可以提供对其内核对象的统一理解和开发规范,实现分区级数据对象间的信息资源共享和重用。ARINC653中定义的内核对象之间的关系主要在于建立进程与信号量、事件、缓冲区、黑板之间的关系。
综合航电分区内的通信是指属于同一个分区的进程之间的通信,其中缓冲区和黑板实现一般的进程间的通信和同步,信号量和事件保证了进程之间的同步,必须保证所有的分区内通信信息在写入信息的时候是无法读取信息的,即信息是原子访问的。
在构建分区元模型时,需要将分区看作为独立系统以作为基础模型,并且分区内各独立对象需要标明与分区的从属关系。根据分区级内核对象的分析,构建了图1所示的分区级元模型。图中描述了分区内通信所需的元素及关系。
3.2 综合航电系统分区级内核对象静态约束
根据ARINC653标准,其分区内的信号量、事件、缓冲区、黑板与进程的通信条件需要设置相关的约束条件,信号量与进程之间进行通信时,在同一时刻下不允许有多个进程访问信号量,需要进行排队等待,而信号量也不允许在同一时间下对多个进程发送信号,只能约束单个信号量与两个不同进程连接。事件与进程之间的约束条件与信号量类似,同一时间下无法有多个进程设置事件,需要进行进程排队。单个缓冲区和黑板在同一时间下表明了数据的流向、访问关系,所以也需要使用约束条件限制关联条数。
可以使用OCL语言对分区内的四个对象设置静态的约束属性,其OCL关键语句为:
self.attachingConnections(“src”)->size <=1。
self.attachingConnections(“dst”)一> size<=1
该语句表示设置缓冲区的通信源和目的都只能有一個。
分区内对象信号量、事件、缓冲区的约束对象,与黑板相同,通过此约束语句,便可达到AR-INC653标准中定义的约束条件标准。
4 综合航电分区内通信实例验证
在GME环境中,使用自动化元模型解析工具,将搭建的分区级元模型解析并生成了综合航电分区级建模环境及建模工具,并使用该建模工具设计了一个关于机载分区操作系统分区内电力监控的通信配置实例,如图2所示。该实例包含三个进程,其中CURRENT_POWER进程用于监控并显示当前电量,POWER_WARING进程用于显示电力不足的报警,PARAMETER_REFRESHER进程用于刷新当前电量。
CURRENT_POWER_Process:此进程可以申请黑板资源用于显示当前电量状态,此进程无截止周期,时间容量为无限大,当电量到达一定值后会通知POWER_WARING进程,以触发报警系统。
POWER_WARING_Process:此进程用于实时读取当前电量状态,并且通过事件通知的方式进行报警,还可以通过Buffer通知PARAMETER_RE-FRESHER进程进行其他变量的管理。
PARAMETER_REFRESHER_Process:此进程用于强制刷新当前电力的变量,如果机载系统突然断电,此进程运行期间就可以重新读取当前电量。
根据设计的元模型约束条件,在图2的模型中,如果某一对象违反约束,则会提示相信的错误信息。在图2实例模型中,如果将一个进程连了两条关联线到同一内核对象,那么就会发出报警,如果单个内核对象连了两条关联线到同一进程,那么也会发出报警状况。通过每个内核对象的约束条件,在设计模型的过程中,防止越界条件发生,通过多个内核对象约束条件的限制,可以对模型进行静态检查和方向互补性检查。
6 结论
通过研究模型驱动(MDA)和特定领域建模的相关理论和方法,分析了综合航电系统分区级通信软件的特性,采用特定领域建模方法,构建了描述综合航电分区级建模语言的元模型,实现了对IMA分区内对象进行可视化配置、静态检查等功能。通过实例验证了本建模环境对分区级对象通信的完整性、易用性、适用性。
下一步的研究工作将主要集中在针对元模型操作的数据接口,模型转化,从代码中抽取元模型的逆向工程等方向。
参考文献
[1]
PRISAZNUK P J.ARINC 653 role in integrated modular avionics[C].Proceeding of IEEE/AIAA 27th Digital Avionics SystemsConference.2008.
[2]刘洁,王凯,柏彦奇.MDA中平台无关模型的抽象表达方法研究[J].兵工自动化,2008,27(1):49-51.
[3] OBJECT MANACEMENT CROUP. OMC model driven architec-ture -the architecture of choice for a changing world [EB/OL].( 2010-06-02) [201 1-05-07].http://www.omg.org/mda/.
[4] OMG.Unified modeling language:superstructure v2.4.1 [EB/OL].http://www.omg.org/spec/UML/2.4. 11, 2011
[5]刘辉,麻志毅,邵维忠,元建模技术研究进展[J].软件学报,2008. 19(6):1318-1327.
[6]卫翔,张立民,齐新战,基于元建模的通用舰艇指控仿真模型驱动引擎设计[J].系统仿真学报,2013,25(8):1919-1929.
[7]王志乐,魏俊淦,于辉.基于元模型特性的机载显控系统建模方法[J].系统仿真学报,2015,27 (11):2638-2643.
[8]
SHU J, ZHENG C, YANC F Y,et al.Research on applied-infor-mation technology with inter-partition integration testing strategyunder IMA architecture [J]. Advanced Materials Research,2014, 3295( 977): 454-459.