?

綜合航電分區間通信元模型設計研究

2019-08-13 09:26張曉麗彭寒景月娟
計算技術與自動化 2019年4期
關鍵詞:航電配置文件端口

張曉麗 彭寒 景月娟

摘? ?要:針對當前綜合模塊化航空電子系統(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.

猜你喜歡
航電配置文件端口
掌握顏色查找表的魔力
從Windows 10中刪除所有網絡配置文件
一種端口故障的解決方案
用軟件處理Windows沙盒配置文件
互不干涉混用Chromium Edge
中小型太陽能無人機航電系統設計
航空航天與國防電子新形勢下自動化測試系統的應用
航道發展需解決“航電”矛盾
為程序或設備在路由器上打開端口
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合