羅德杰,蔡 明,郭 鑫
(1. 航空工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710068;2.空裝駐西安地區(qū)第六軍事代表室,陜西 西安 710068)
目前機載機電系統(tǒng)軟件大多是為功能、機載環(huán)境需求而定制開發(fā)的專用產(chǎn)品,軟件隨整機進行定型的時間少則幾年,長則十幾年。與此同時,機載設(shè)備軟件因所處硬件平臺不同,其可移植性和不同硬件適應性很不理想。以往的機載軟件開發(fā),通常是當新的軟件需求明確后,在以前裝機實踐過的軟件開發(fā)庫中拷貝相似的功能需求的軟件代碼,再通過修改、驗證、測試等方式完成機載機電設(shè)備軟件的開發(fā)。這種開發(fā)方式帶來的弊端則是軟件代碼修改的規(guī)模難以控制,軟件質(zhì)量難以保證,且頻繁更改軟件帶來的驗證、測試成本高昂。由于以往機載機電設(shè)備軟件中的軟件功能單元沒有獨立與產(chǎn)品或需求進行配置管理,未有效維護每個軟件單元的繼承原則,導致機電設(shè)備軟件的質(zhì)量難以控制,從而影響機電產(chǎn)品的整體質(zhì)量[1-2]。
在以往的軟件配置管理中,對每個軟件配置項進行“三庫”的建立,分別是開發(fā)庫、受控庫、產(chǎn)品庫,其管理流程如圖1所示。一般而言開發(fā)庫主要使用對象為產(chǎn)品開發(fā)人員。開發(fā)庫中主要存儲和管理產(chǎn)品源代碼、需求規(guī)格說明、軟件設(shè)計說明、單元測試資料等,以此構(gòu)成一系列開發(fā)基線。受控庫主要使用對象為產(chǎn)品測試人員。受控庫中主要存儲和管理由研發(fā)人員提交的軟件程序、版本說明,以及由測試人員編制的測試方案、測試用例、版本測試報告、BUG分析列表等以此構(gòu)成一系列測試基線。產(chǎn)品庫主要使用對象為產(chǎn)品管理人員、產(chǎn)品生產(chǎn)人員。產(chǎn)品庫主要存儲和管理正式發(fā)布的產(chǎn)品版本及其配套資料,以此構(gòu)成產(chǎn)品基線。產(chǎn)品庫是研發(fā)企業(yè)最核心的資產(chǎn),同時也是對接用戶的唯一出口[3]。軟件的“三庫”管理注重的是對軟件開發(fā)的過程管控以及可追溯性的保證,但缺乏對軟件標準化、可拓展化以及復用性的提升。
圖1 “三庫”管理圖示
本文基于機載機電軟件提出了一種開放式的軟件開發(fā)架構(gòu)及歸類方法,目的在于開發(fā)出可復用的機電設(shè)備軟件框架和應用程序,提供一個可移植和可拓展的產(chǎn)品開發(fā)平臺基線。開放式軟件架構(gòu)分布可歸類三種,第一種為基礎(chǔ)服務類軟件單元;第二類是可復用類功能軟件單元;第三類是特定功能、需求類軟件單元,其架構(gòu)如圖2所示。采用此種軟件架構(gòu)進行開發(fā)設(shè)計,將底層軟件打包封裝,預留對外接口參數(shù),開發(fā)時僅通過更改對外參數(shù)則可設(shè)計適用于任何數(shù)量的機載產(chǎn)品網(wǎng)絡或嵌入式軟件,同時通過此種歸類對軟件單元進行開發(fā)管理,建立獨立于“三庫”之外的管理庫,對同類別的軟件單元進行優(yōu)先級排序并調(diào)用,節(jié)省開發(fā)成本,有效提升軟件開發(fā)效率。
圖2 開放式軟件架構(gòu)
◆基礎(chǔ)服務類軟件單元,此類軟件單元主要用于響應命令、軟件錯誤、硬件錯誤、應用初始化等,如信號加載所需的通用數(shù)據(jù)表、通用軟件驅(qū)動、系統(tǒng)時鐘、IO接口初始化等。
◆可復用類功能軟件單元,此類軟件單元是對應實現(xiàn)某功能需求的軟件單元。例如機電系統(tǒng)中某傳感器模擬量的采集驅(qū)動、離散信號采集驅(qū)動、各總線驅(qū)動等,此類軟件單元應具備結(jié)構(gòu)簡單,軟件需求實現(xiàn)路徑清晰,可適應性調(diào)用等特點,其軟件功能可覆蓋機載電源、燃油、液壓、傳動、火警、環(huán)控、照明等各機載機電系統(tǒng)所需的功能實現(xiàn)。
◆特定功能、需求類軟件單元,如接口自測試軟件單元等,此類單元則需根據(jù)不同機型、機載設(shè)備的不同需求進行定做,應盡量控制此類軟件的產(chǎn)生,將機載設(shè)備的軟件需求通過前兩類軟件充分覆蓋。
對此三類軟件單元進行分類開發(fā),在實際應用時,搭建基于此三類軟件的開放式框架,在每類軟件區(qū)域直接調(diào)取軟件需求響應的軟件單元,并將其打包加載,根據(jù)不同的需求調(diào)度使用。此方法有利于組成開放式軟件架構(gòu),建立有利的開發(fā)環(huán)境、采用模塊化設(shè)計、開放式標準來管理關(guān)鍵接口和驗證標準的一致性。通過基礎(chǔ)服務類、可復用功能類以及定制類軟件組成開放式軟件架構(gòu),對軟件進行歸類化,開放式開發(fā),提高了軟件開發(fā)效率,突破機載研發(fā)軟件的單元提取、管理和集成等技術(shù),形成面向機電領(lǐng)域的開放式軟件通用開發(fā)環(huán)境。
開放式軟件開發(fā)管理將是未來機電管理軟件的主流應用。以機電系統(tǒng)開放式架構(gòu)而言,開放式架構(gòu)軟件單元歸類及開發(fā),構(gòu)建了軟件單元可復用的軟件系統(tǒng)架構(gòu),有效提高了機載軟件的質(zhì)量和開發(fā)效率,可廣泛應用于各類機載設(shè)備操作系統(tǒng)以及嵌入式系統(tǒng)的軟件,通過對軟件單元標準的分類制定,進一步提高機載機電軟件的標準化、通用化、復用性以及可拓展性。