魏國+麥先根+齊曉斌
摘 要: 綜合模塊化航空電子系統(tǒng)中各單元之間存在復雜的交互關系,為了有效管理各個系統(tǒng)軟件運行狀態(tài),并方便用戶配置,需要航電軟件系統(tǒng)配置軟件。提出一種系統(tǒng)配置軟件實現(xiàn)方法,考慮綜合化系統(tǒng)中的各類軟件,提供配置信息定向輸出機制。系統(tǒng)配置軟件解決了綜合化系統(tǒng)軟件狀態(tài)控制問題,集中配置各單元,并將配置信息輸出到預定義文件中。實踐表明,該系統(tǒng)配置軟件實現(xiàn)方法可有效解決綜合化系統(tǒng)軟件運行狀態(tài)控制問題,有效提高軟件開發(fā)人員工作效率。
關鍵詞: 綜合模塊化航空電子; 系統(tǒng)配置軟件; 運行狀態(tài); 配置信息
中圖分類號: TN710?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2014)14?0077?04
Implementation of IMA system configuration software
WEI Guo, MAI Xian?gen, QI Xiao?bin
(Xian Aeronautical Computing Technique Research Institute, AVIC, Xian 710065, China)
Abstract: The complex interaction relation among all the units in integrated modular avionics (IMA) system is summarized. Configuration software is needed to efficiently manage running states of IMA system softwares, and make users to configure their system softwares easily. An implementation method of IMA system configuration software is put forward. In consideration of all kinds of softwares in IMA system, a directional output mechanism of configuration information was provided. The system configuration software resolves the problems of running state control of totalization system softwares, concentration configuration of system softwares and configuration information output to predefined files. Practical application indicates that the implementation method of system configuration software can resolve the problem of IMA system software state control, and improve work efficiency of software developer.
Keywords: integrated modular avionics; system configuration software; running state; configuration information
0 概 述
在傳統(tǒng)的航空電子系統(tǒng)(簡稱航電)中,所有的子系統(tǒng)功能均基于獨立而且專用的硬件和軟件實現(xiàn),子系統(tǒng)功能簡單、高效。但是隨著現(xiàn)代航空技術的發(fā)展,為了滿足航電系統(tǒng)規(guī)模、性能和復雜性的飛速發(fā)展,從20世紀80年代開始在寶石柱[1]、寶石臺[1]的基礎上逐步形成了綜合模塊化航空電子系統(tǒng)的概念。綜合模塊化航空電子(Integrated Modular Avionics,IMA)采用開放式體系結(jié)構,應用商用貨架產(chǎn)品構件進行軟件開發(fā),以實現(xiàn)軟件功能的綜合化、模塊化和通用化[2]。目前,航電系統(tǒng)軟件體系結(jié)構[3]由下而上包括模塊支持層MSL、操作系統(tǒng)層、應用層。目前隨著航電系統(tǒng)綜合化程度越來越高,機載計算資源高度共享,需要對系統(tǒng)運行狀態(tài)進行有效控制,這就需要實現(xiàn)對系統(tǒng)軟件狀態(tài)進行有效配置的軟件。
區(qū)別于綜合化系統(tǒng)的配置管理[4](Configuration Management,CM)和配置生成技術[5],系統(tǒng)配置用于在開發(fā)的過程中確定目標機軟件系統(tǒng)在運行前的狀態(tài)和運行時的環(huán)境,提供對操作系統(tǒng)、驅(qū)動程序和組件的選配、有關運行參數(shù)的設置、操作系統(tǒng)基礎能力的設置、以及各種程序映像的鏈接定位等功能,軟件輸出為源碼頭文件、項目工程文件或鏈接腳本文件。本文分析了系統(tǒng)配置軟件需求,劃分軟件功能,提出了一種綜合化系統(tǒng)配置軟件實現(xiàn)的方法。
1 需求分析
系統(tǒng)配置軟件將用戶定義的配置文件轉(zhuǎn)換成C/C++語言頭文件、工程文件和鏈接腳本文件,在項目編譯、鏈接過程中由項目中的其他源文件和編譯鏈接工具使用。IMA系統(tǒng)軟件分為模塊支持軟件MSL、嵌入式操作系統(tǒng)、應用程序等,系統(tǒng)配置軟件需要對嵌入式系統(tǒng)軟件運行過程中涉及的信息進行配置,并能夠為其他項目、編譯過程、連接過程等提供輸出到源文件或腳本文件的配置信息。
系統(tǒng)配置軟件按照功能劃分為文件(包括配置文件、規(guī)則文件)編輯器、語法檢查、配置信息輸出三部分。系統(tǒng)配置工具生成的源碼頭文件、工程文件、連接腳本文件中,源碼頭文件為C/C++頭文件形式,文件中定義了供其他C/C++源文件引用的常量,這些常量及其值源于配置文件;工程文件為編譯時使用的Makefile文件,文件中定義了供其他Makefile文件引用的宏,這些宏及其值源于配置文件;腳本文件為供鏈接器調(diào)用的二進制鏈接腳本文件,文件中定義了目標二進制文件的鏈接地址,這些內(nèi)容源于內(nèi)存配置文件。
2 軟件實現(xiàn)方法
本節(jié)將分別對系統(tǒng)配置軟件的編輯器、目標文件生成以及語法檢查功能進行設計,實現(xiàn)從編寫配置文件到生成源文件等目標文件的過程。
2.1 編輯器邏輯流程
編輯器分為配置文件編輯器和規(guī)則文件編輯器,分別包含用戶配置信息和配置文件規(guī)則信息。配置文件編輯器邏輯流程設計如圖 1所示,步驟說明如下:
(1)設置配置文件*.cfg打開方式為配置文件編輯器;
(2) 解析配置文件,根據(jù)配置文件對應的規(guī)則文件,將配置文件解析為一棵配置樹,如果解析出錯,進入異常處理流程;
(3) 配置文件編輯器用圖形方式顯示配置文件內(nèi)容,用戶可以新建配置節(jié)點、刪除配置節(jié)點和修改節(jié)點的屬性;
(4) 保存配置文件,將修改后的配置樹的內(nèi)容存儲為XML格式的配置文件。
規(guī)則文件編輯器邏輯流程與配置文件編輯器流程相似,步驟說明如下:
(1) 設置打開方式為規(guī)則文件編輯器“Schema Editor”;
(2) 解析規(guī)則文件,將規(guī)則文件解析為一棵配置樹,如果解析出錯,進入異常處理流程。規(guī)則文件編輯器將規(guī)則文件解析為元素節(jié)點、屬性節(jié)點和引用關系,用戶可以對元素節(jié)點、屬性節(jié)點、引用關系和描述信息進行編輯;
(3) 規(guī)則文件編輯器用圖形方式顯示規(guī)則文件內(nèi)容,用戶可以編輯元素節(jié)點、屬性節(jié)點、引用關系和描述信息;
(4) 保存規(guī)則文件,將修改后的配置樹的內(nèi)容存儲為XML格式的規(guī)則文件。
圖1 配置文件編輯器邏輯流程
2.2 生成源文件/工程文件邏輯流程
生成源文件和工程文件邏輯流程如圖 2所示,步驟說明如下:
(1) 輸入文件為*.cfg配置文件,且在構建項目或者保存文件時,調(diào)用源文件和工程文件生成器。
(2) 解析配置文件,將配置文件解析為對象模型,如果解析出錯,進入異常處理流程。
(3) 循環(huán)讀取元素節(jié)點和屬性節(jié)點,同時查詢節(jié)點規(guī)則文件配置,獲取節(jié)點在規(guī)則文件里配置的輸出方式和宏名,如果宏名為空則不生成,如果宏名不為空,則按照輸出方式(源文件或者工程文件)生成到相應文件中,生成到源文件中的是宏,生成到工程文件中的是常量。
(4) 當全部節(jié)點讀取完或者遇到異常時結(jié)束流程。
2.3 生成鏈接腳本文件邏輯流程
生成鏈接腳本文件邏輯流程如圖 3所示,步驟說明如下:
(1) 輸入文件為*.mtp配置文件,且在構建項目或者保存文件時,調(diào)用鏈接腳本文件生成器;
(2) 解析配置文件,將配置文件解析為對象模型,即將配置文件解析成4種節(jié)點:分區(qū)節(jié)點、普通段節(jié)點、預留段節(jié)點和重定位段節(jié)點。如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
圖2 生成源文件和工程文件的邏輯流程圖
(3) 讀取所有的分區(qū)節(jié)點,并將分區(qū)節(jié)點信息生成到鏈接腳本文件中的MEMORY塊中;
(4) 讀取分區(qū)節(jié)點的普通段、預留段、重定位段,并按照相應的格式生成到鏈接腳本文件中的SECTIONS塊中,重定位節(jié)點生成方式需要判斷是否配置跟隨分段,如果配了跟隨分段,則重定位的裝入地址為跟隨分段的結(jié)束地址,否則重定位段的裝入地址為其所在分區(qū)的起始地址;
(5) 節(jié)點讀完或者遇到異常結(jié)束流程。
2.4 語法檢查邏輯流程
語法檢查包括配置文件語法檢查和規(guī)則文件語法檢查。
圖3 生成鏈接腳本文件的邏輯流程圖
配置文件語法檢查邏輯流程如圖4(a)所示,步驟說明如下:
(1) 輸入文件為*.cfg或*.mtp,且在構建項目或者保存文件時,進行配置文件語法檢查;
(2) 解析配置文件,將配置文件解析為對象模型,即將配置文件解析成元素節(jié)點和屬性節(jié)點,如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
(3) 循環(huán)讀取所有的元素節(jié)點,對元素節(jié)點的所有屬性值進行校驗,校驗時需要結(jié)合對應的規(guī)則文件里的設置,依次對屬性值進行使用類型校驗、數(shù)據(jù)格式校驗和數(shù)據(jù)范圍校驗;
(4) 對屬性的使用類型進行校驗;
(5) 對屬性的數(shù)據(jù)格式進行校驗;
(6) 對屬性的數(shù)據(jù)范圍進行校驗;
(7) 節(jié)點讀完或者校驗失敗時,結(jié)束校驗。
規(guī)則文件語法檢查邏輯流程如圖4(b)所示,步驟說明如下:
(1) 輸入文件為*.xsd和*.exsd時,且在構建項目或者保存文件時,進行規(guī)則文件語法檢查;
(2) 解析規(guī)則文件,將規(guī)則文件解析為對象模型,即將規(guī)則文件解析成元素節(jié)點和屬性節(jié)點,如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
(3) 循環(huán)讀取所有的元素節(jié)點,對元素節(jié)點的名字和其所有屬性節(jié)點的名字進行驗證。
節(jié)點讀完或者校驗失敗時,結(jié)束校驗。
圖4 配置文件和規(guī)則文件語法檢查流程圖
3 系統(tǒng)配置軟件實現(xiàn)
系統(tǒng)配置軟件采用Eclipse插件技術開發(fā),實現(xiàn)后直接集成在自主研發(fā)的基于Eclipse的開發(fā)環(huán)境中。系統(tǒng)配置軟件作為開發(fā)環(huán)境的一部分,提供配置文件圖形化編輯界面以及配置文件語法檢查,極大地方便用戶配置系統(tǒng)信息。配置界面以及生成文件信息如圖 5所示。
4 結(jié) 語
目前,按照本系統(tǒng)配置軟件實現(xiàn)方法開發(fā)的系統(tǒng)配置軟件已應用于自主研制的開發(fā)環(huán)境中。規(guī)則文件和配置文件均可由用戶定義,用戶可以配置任意需要的信息,并生成到源文件、工程文件或鏈接腳本文件中,使得系統(tǒng)配置軟件具備良好的擴展性和實用性。圖形界面編輯器的使用,使用戶擺脫文本編輯的方式,有效提升用戶體驗,簡化系統(tǒng)軟件配置過程。
圖5 編輯器和生成文件示例
參考文獻
[1] Joint Advanced Strike Technology Program. Avionics architecture definition [R]. Arlington, USA: JAST Avionics Lead, 1994.
[2] 鄭軍,劉暢,任占勇.綜合模塊化航空電子軟件測試環(huán)境[J].計算機工程與設計,2011(8):2737?2740.
[3] 王運盛,陳穎.ASAAC航空電子體系結(jié)構分析[J].電訊技術,2007,47(5):159?162.
[4] 鄭朝輝,陳新中,張曉先.綜合模塊化航空電子系統(tǒng)的可靠性設計[J].計算機工程,2009(35):272?277.
[5] 張旻.DO?178B可驗證的機載操作系統(tǒng)配置生成技術[J].航空計算技術,2012,42(6):95?98.
[6] 胡林平,崔西寧.綜合化航空電子系統(tǒng)安全評估方法[J].現(xiàn)代電子技術,2012,35(14):126?130.
[7] 董勤鵬,熊華鋼.基于某航空電子設備的自動測試系統(tǒng)設計與實現(xiàn)[J].現(xiàn)代電子技術,2008,31(21):146?149.
2 軟件實現(xiàn)方法
本節(jié)將分別對系統(tǒng)配置軟件的編輯器、目標文件生成以及語法檢查功能進行設計,實現(xiàn)從編寫配置文件到生成源文件等目標文件的過程。
2.1 編輯器邏輯流程
編輯器分為配置文件編輯器和規(guī)則文件編輯器,分別包含用戶配置信息和配置文件規(guī)則信息。配置文件編輯器邏輯流程設計如圖 1所示,步驟說明如下:
(1)設置配置文件*.cfg打開方式為配置文件編輯器;
(2) 解析配置文件,根據(jù)配置文件對應的規(guī)則文件,將配置文件解析為一棵配置樹,如果解析出錯,進入異常處理流程;
(3) 配置文件編輯器用圖形方式顯示配置文件內(nèi)容,用戶可以新建配置節(jié)點、刪除配置節(jié)點和修改節(jié)點的屬性;
(4) 保存配置文件,將修改后的配置樹的內(nèi)容存儲為XML格式的配置文件。
規(guī)則文件編輯器邏輯流程與配置文件編輯器流程相似,步驟說明如下:
(1) 設置打開方式為規(guī)則文件編輯器“Schema Editor”;
(2) 解析規(guī)則文件,將規(guī)則文件解析為一棵配置樹,如果解析出錯,進入異常處理流程。規(guī)則文件編輯器將規(guī)則文件解析為元素節(jié)點、屬性節(jié)點和引用關系,用戶可以對元素節(jié)點、屬性節(jié)點、引用關系和描述信息進行編輯;
(3) 規(guī)則文件編輯器用圖形方式顯示規(guī)則文件內(nèi)容,用戶可以編輯元素節(jié)點、屬性節(jié)點、引用關系和描述信息;
(4) 保存規(guī)則文件,將修改后的配置樹的內(nèi)容存儲為XML格式的規(guī)則文件。
圖1 配置文件編輯器邏輯流程
2.2 生成源文件/工程文件邏輯流程
生成源文件和工程文件邏輯流程如圖 2所示,步驟說明如下:
(1) 輸入文件為*.cfg配置文件,且在構建項目或者保存文件時,調(diào)用源文件和工程文件生成器。
(2) 解析配置文件,將配置文件解析為對象模型,如果解析出錯,進入異常處理流程。
(3) 循環(huán)讀取元素節(jié)點和屬性節(jié)點,同時查詢節(jié)點規(guī)則文件配置,獲取節(jié)點在規(guī)則文件里配置的輸出方式和宏名,如果宏名為空則不生成,如果宏名不為空,則按照輸出方式(源文件或者工程文件)生成到相應文件中,生成到源文件中的是宏,生成到工程文件中的是常量。
(4) 當全部節(jié)點讀取完或者遇到異常時結(jié)束流程。
2.3 生成鏈接腳本文件邏輯流程
生成鏈接腳本文件邏輯流程如圖 3所示,步驟說明如下:
(1) 輸入文件為*.mtp配置文件,且在構建項目或者保存文件時,調(diào)用鏈接腳本文件生成器;
(2) 解析配置文件,將配置文件解析為對象模型,即將配置文件解析成4種節(jié)點:分區(qū)節(jié)點、普通段節(jié)點、預留段節(jié)點和重定位段節(jié)點。如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
圖2 生成源文件和工程文件的邏輯流程圖
(3) 讀取所有的分區(qū)節(jié)點,并將分區(qū)節(jié)點信息生成到鏈接腳本文件中的MEMORY塊中;
(4) 讀取分區(qū)節(jié)點的普通段、預留段、重定位段,并按照相應的格式生成到鏈接腳本文件中的SECTIONS塊中,重定位節(jié)點生成方式需要判斷是否配置跟隨分段,如果配了跟隨分段,則重定位的裝入地址為跟隨分段的結(jié)束地址,否則重定位段的裝入地址為其所在分區(qū)的起始地址;
(5) 節(jié)點讀完或者遇到異常結(jié)束流程。
2.4 語法檢查邏輯流程
語法檢查包括配置文件語法檢查和規(guī)則文件語法檢查。
圖3 生成鏈接腳本文件的邏輯流程圖
配置文件語法檢查邏輯流程如圖4(a)所示,步驟說明如下:
(1) 輸入文件為*.cfg或*.mtp,且在構建項目或者保存文件時,進行配置文件語法檢查;
(2) 解析配置文件,將配置文件解析為對象模型,即將配置文件解析成元素節(jié)點和屬性節(jié)點,如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
(3) 循環(huán)讀取所有的元素節(jié)點,對元素節(jié)點的所有屬性值進行校驗,校驗時需要結(jié)合對應的規(guī)則文件里的設置,依次對屬性值進行使用類型校驗、數(shù)據(jù)格式校驗和數(shù)據(jù)范圍校驗;
(4) 對屬性的使用類型進行校驗;
(5) 對屬性的數(shù)據(jù)格式進行校驗;
(6) 對屬性的數(shù)據(jù)范圍進行校驗;
(7) 節(jié)點讀完或者校驗失敗時,結(jié)束校驗。
規(guī)則文件語法檢查邏輯流程如圖4(b)所示,步驟說明如下:
(1) 輸入文件為*.xsd和*.exsd時,且在構建項目或者保存文件時,進行規(guī)則文件語法檢查;
(2) 解析規(guī)則文件,將規(guī)則文件解析為對象模型,即將規(guī)則文件解析成元素節(jié)點和屬性節(jié)點,如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
(3) 循環(huán)讀取所有的元素節(jié)點,對元素節(jié)點的名字和其所有屬性節(jié)點的名字進行驗證。
節(jié)點讀完或者校驗失敗時,結(jié)束校驗。
圖4 配置文件和規(guī)則文件語法檢查流程圖
3 系統(tǒng)配置軟件實現(xiàn)
系統(tǒng)配置軟件采用Eclipse插件技術開發(fā),實現(xiàn)后直接集成在自主研發(fā)的基于Eclipse的開發(fā)環(huán)境中。系統(tǒng)配置軟件作為開發(fā)環(huán)境的一部分,提供配置文件圖形化編輯界面以及配置文件語法檢查,極大地方便用戶配置系統(tǒng)信息。配置界面以及生成文件信息如圖 5所示。
4 結(jié) 語
目前,按照本系統(tǒng)配置軟件實現(xiàn)方法開發(fā)的系統(tǒng)配置軟件已應用于自主研制的開發(fā)環(huán)境中。規(guī)則文件和配置文件均可由用戶定義,用戶可以配置任意需要的信息,并生成到源文件、工程文件或鏈接腳本文件中,使得系統(tǒng)配置軟件具備良好的擴展性和實用性。圖形界面編輯器的使用,使用戶擺脫文本編輯的方式,有效提升用戶體驗,簡化系統(tǒng)軟件配置過程。
圖5 編輯器和生成文件示例
參考文獻
[1] Joint Advanced Strike Technology Program. Avionics architecture definition [R]. Arlington, USA: JAST Avionics Lead, 1994.
[2] 鄭軍,劉暢,任占勇.綜合模塊化航空電子軟件測試環(huán)境[J].計算機工程與設計,2011(8):2737?2740.
[3] 王運盛,陳穎.ASAAC航空電子體系結(jié)構分析[J].電訊技術,2007,47(5):159?162.
[4] 鄭朝輝,陳新中,張曉先.綜合模塊化航空電子系統(tǒng)的可靠性設計[J].計算機工程,2009(35):272?277.
[5] 張旻.DO?178B可驗證的機載操作系統(tǒng)配置生成技術[J].航空計算技術,2012,42(6):95?98.
[6] 胡林平,崔西寧.綜合化航空電子系統(tǒng)安全評估方法[J].現(xiàn)代電子技術,2012,35(14):126?130.
[7] 董勤鵬,熊華鋼.基于某航空電子設備的自動測試系統(tǒng)設計與實現(xiàn)[J].現(xiàn)代電子技術,2008,31(21):146?149.
2 軟件實現(xiàn)方法
本節(jié)將分別對系統(tǒng)配置軟件的編輯器、目標文件生成以及語法檢查功能進行設計,實現(xiàn)從編寫配置文件到生成源文件等目標文件的過程。
2.1 編輯器邏輯流程
編輯器分為配置文件編輯器和規(guī)則文件編輯器,分別包含用戶配置信息和配置文件規(guī)則信息。配置文件編輯器邏輯流程設計如圖 1所示,步驟說明如下:
(1)設置配置文件*.cfg打開方式為配置文件編輯器;
(2) 解析配置文件,根據(jù)配置文件對應的規(guī)則文件,將配置文件解析為一棵配置樹,如果解析出錯,進入異常處理流程;
(3) 配置文件編輯器用圖形方式顯示配置文件內(nèi)容,用戶可以新建配置節(jié)點、刪除配置節(jié)點和修改節(jié)點的屬性;
(4) 保存配置文件,將修改后的配置樹的內(nèi)容存儲為XML格式的配置文件。
規(guī)則文件編輯器邏輯流程與配置文件編輯器流程相似,步驟說明如下:
(1) 設置打開方式為規(guī)則文件編輯器“Schema Editor”;
(2) 解析規(guī)則文件,將規(guī)則文件解析為一棵配置樹,如果解析出錯,進入異常處理流程。規(guī)則文件編輯器將規(guī)則文件解析為元素節(jié)點、屬性節(jié)點和引用關系,用戶可以對元素節(jié)點、屬性節(jié)點、引用關系和描述信息進行編輯;
(3) 規(guī)則文件編輯器用圖形方式顯示規(guī)則文件內(nèi)容,用戶可以編輯元素節(jié)點、屬性節(jié)點、引用關系和描述信息;
(4) 保存規(guī)則文件,將修改后的配置樹的內(nèi)容存儲為XML格式的規(guī)則文件。
圖1 配置文件編輯器邏輯流程
2.2 生成源文件/工程文件邏輯流程
生成源文件和工程文件邏輯流程如圖 2所示,步驟說明如下:
(1) 輸入文件為*.cfg配置文件,且在構建項目或者保存文件時,調(diào)用源文件和工程文件生成器。
(2) 解析配置文件,將配置文件解析為對象模型,如果解析出錯,進入異常處理流程。
(3) 循環(huán)讀取元素節(jié)點和屬性節(jié)點,同時查詢節(jié)點規(guī)則文件配置,獲取節(jié)點在規(guī)則文件里配置的輸出方式和宏名,如果宏名為空則不生成,如果宏名不為空,則按照輸出方式(源文件或者工程文件)生成到相應文件中,生成到源文件中的是宏,生成到工程文件中的是常量。
(4) 當全部節(jié)點讀取完或者遇到異常時結(jié)束流程。
2.3 生成鏈接腳本文件邏輯流程
生成鏈接腳本文件邏輯流程如圖 3所示,步驟說明如下:
(1) 輸入文件為*.mtp配置文件,且在構建項目或者保存文件時,調(diào)用鏈接腳本文件生成器;
(2) 解析配置文件,將配置文件解析為對象模型,即將配置文件解析成4種節(jié)點:分區(qū)節(jié)點、普通段節(jié)點、預留段節(jié)點和重定位段節(jié)點。如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
圖2 生成源文件和工程文件的邏輯流程圖
(3) 讀取所有的分區(qū)節(jié)點,并將分區(qū)節(jié)點信息生成到鏈接腳本文件中的MEMORY塊中;
(4) 讀取分區(qū)節(jié)點的普通段、預留段、重定位段,并按照相應的格式生成到鏈接腳本文件中的SECTIONS塊中,重定位節(jié)點生成方式需要判斷是否配置跟隨分段,如果配了跟隨分段,則重定位的裝入地址為跟隨分段的結(jié)束地址,否則重定位段的裝入地址為其所在分區(qū)的起始地址;
(5) 節(jié)點讀完或者遇到異常結(jié)束流程。
2.4 語法檢查邏輯流程
語法檢查包括配置文件語法檢查和規(guī)則文件語法檢查。
圖3 生成鏈接腳本文件的邏輯流程圖
配置文件語法檢查邏輯流程如圖4(a)所示,步驟說明如下:
(1) 輸入文件為*.cfg或*.mtp,且在構建項目或者保存文件時,進行配置文件語法檢查;
(2) 解析配置文件,將配置文件解析為對象模型,即將配置文件解析成元素節(jié)點和屬性節(jié)點,如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
(3) 循環(huán)讀取所有的元素節(jié)點,對元素節(jié)點的所有屬性值進行校驗,校驗時需要結(jié)合對應的規(guī)則文件里的設置,依次對屬性值進行使用類型校驗、數(shù)據(jù)格式校驗和數(shù)據(jù)范圍校驗;
(4) 對屬性的使用類型進行校驗;
(5) 對屬性的數(shù)據(jù)格式進行校驗;
(6) 對屬性的數(shù)據(jù)范圍進行校驗;
(7) 節(jié)點讀完或者校驗失敗時,結(jié)束校驗。
規(guī)則文件語法檢查邏輯流程如圖4(b)所示,步驟說明如下:
(1) 輸入文件為*.xsd和*.exsd時,且在構建項目或者保存文件時,進行規(guī)則文件語法檢查;
(2) 解析規(guī)則文件,將規(guī)則文件解析為對象模型,即將規(guī)則文件解析成元素節(jié)點和屬性節(jié)點,如果解析出錯,進入異常處理流程,具體異常信息請查看“異常和錯誤處理”;
(3) 循環(huán)讀取所有的元素節(jié)點,對元素節(jié)點的名字和其所有屬性節(jié)點的名字進行驗證。
節(jié)點讀完或者校驗失敗時,結(jié)束校驗。
圖4 配置文件和規(guī)則文件語法檢查流程圖
3 系統(tǒng)配置軟件實現(xiàn)
系統(tǒng)配置軟件采用Eclipse插件技術開發(fā),實現(xiàn)后直接集成在自主研發(fā)的基于Eclipse的開發(fā)環(huán)境中。系統(tǒng)配置軟件作為開發(fā)環(huán)境的一部分,提供配置文件圖形化編輯界面以及配置文件語法檢查,極大地方便用戶配置系統(tǒng)信息。配置界面以及生成文件信息如圖 5所示。
4 結(jié) 語
目前,按照本系統(tǒng)配置軟件實現(xiàn)方法開發(fā)的系統(tǒng)配置軟件已應用于自主研制的開發(fā)環(huán)境中。規(guī)則文件和配置文件均可由用戶定義,用戶可以配置任意需要的信息,并生成到源文件、工程文件或鏈接腳本文件中,使得系統(tǒng)配置軟件具備良好的擴展性和實用性。圖形界面編輯器的使用,使用戶擺脫文本編輯的方式,有效提升用戶體驗,簡化系統(tǒng)軟件配置過程。
圖5 編輯器和生成文件示例
參考文獻
[1] Joint Advanced Strike Technology Program. Avionics architecture definition [R]. Arlington, USA: JAST Avionics Lead, 1994.
[2] 鄭軍,劉暢,任占勇.綜合模塊化航空電子軟件測試環(huán)境[J].計算機工程與設計,2011(8):2737?2740.
[3] 王運盛,陳穎.ASAAC航空電子體系結(jié)構分析[J].電訊技術,2007,47(5):159?162.
[4] 鄭朝輝,陳新中,張曉先.綜合模塊化航空電子系統(tǒng)的可靠性設計[J].計算機工程,2009(35):272?277.
[5] 張旻.DO?178B可驗證的機載操作系統(tǒng)配置生成技術[J].航空計算技術,2012,42(6):95?98.
[6] 胡林平,崔西寧.綜合化航空電子系統(tǒng)安全評估方法[J].現(xiàn)代電子技術,2012,35(14):126?130.
[7] 董勤鵬,熊華鋼.基于某航空電子設備的自動測試系統(tǒng)設計與實現(xiàn)[J].現(xiàn)代電子技術,2008,31(21):146?149.