楊 璇 來晉峰
(1.西安電子工程研究所 西安 710100;2.中國北方工業公司 北京 100053)
為了提高軟件開發的效率和軟件質量、縮短軟件開發的周期,增強軟件的開放性和對外部適應性,減少軟件危機,軟件復用作為軟件工程中的一個重要領域,已成為解決上述問題的主要途徑。
軟件復用的概念是由Mellroy 早在1968年的軟件工程會議上提出,然而軟件復用技術對軟件產業發展的支持效果不是如人所愿,這種情況是由技術方面、非技術方面中不成熟因素導致而成的[1]。近年來,隨著面向對象技術的出現和成熟,軟件復用關鍵技術瓶頸問題得到解決,在軍用雷達軟件開發中,軟件復用的研究也正成為焦點。但由于國內研究時間較短,應用并不廣泛,本文利用模塊化與構件思想研究分析軟件復用技術在雷達數據處理軟件中的應用,具有一定先進性和指導意義。
近年來,隨著計算機技術與武器裝備技術的快速發展,武器系統對于信息化、智能化的要求越來越高,導致雷達數據處理軟件的規模和復雜性也不斷提高。傳統的軟件開發方法由于普遍存在重復勞動、開發周期長、經費浪費等問題,已經不適應大型化、復雜化的系統研制。
通過對不同型號雷達數據處理系統研究可以看出,其系統的功能和原理是基本相同的。因此,可以采用軟件復用技術構建雷達數據處理軟件,實現不同型號雷達數據處理軟件的相互移植,從而減少重復勞動,縮短開發周期,全面提升軟件開發質量。
軟件復用技術是指重復使用“為了復用目的而設計的軟件”的過程[2]。其中,在一個系統中多次使用一個相同的軟件成分,不能稱為復用而只能叫軟件共享;對一個軟件進行修改,使它可運行新的軟硬件平臺也不能稱為復用而叫做軟件移植。
軟件復用是在新的軟件開發過程中,利用已有的、可復用的軟件成分來構造和生成新的軟件系統[3]。其中可復用的軟件成分包括軟件設計方法、軟件結構框架、程序代碼、分析結果等。
根據軟件復用的實施性質和過程可將軟件復用分為抽象技術、選擇技術、例化技術和集成技術[4]。抽象是對復用對象的概括和提煉,即將操作和對象從語言、機器和環境中提煉出來,是軟件復用的關鍵;選擇是根據功能需求,在庫中檢索和匹配相關復用對象,完成存放、比較和檢索可復用軟件對象的功能;例化是選擇技術的繼續,完成對象的參數設置、轉換和約束;集成是根據復用技術提高的框架,將已例化的復用對象組合成軟件系統的過程。
雷達數據處理軟件用以完成目標的航跡建立、航跡相關、航跡管理、航跡濾波、雜波處理、敵我識別、威脅估等處理任務,實現對目標的穩定跟蹤[5]。
數據處理軟件的核心功能包括點跡凝聚、航跡處理和數據交互三個部分。
點跡凝聚完成對雷達信號處理機送來的原始一次點跡進行存儲,對符合凝聚條件的原始一次點跡按照采用線性加權求重心的方法進行凝聚。
航跡處理功能模塊是數據處理器的核心,它將凝聚點跡經過一系列處理,形成航跡,同時剔除雜波干擾。
主要包含以下子功能模塊:雜波剔除功能、航跡建立功能、航跡批號管理功能、自動威脅判斷功能、航跡質量管理功能、航跡濾波功能、敵我識別功能、ARM 報警功能構成。各個功能子模塊功能獨立,在時間上是順序執行。
數據交互功能模塊主要是實現數據處理器同信號處理器、雷達控制計算機、綜合顯示計算機等外部設備之間的信息交互。主要包括兩類:數據信息和指令信息。
數據處理軟件功能劃分如圖1所示。

圖1 數據處理軟件功能劃分圖
2.3.1 軟件的活動圖分析
軟件活動圖用于表征軟件系統的工作處理過程。系統工作時,雷達數據處理軟件實時接收空情信息并完成空情信息分類存儲;通過坐標變換,將目標信息轉到數據處理系統要求的坐標系下,完成點跡預處理;對符合凝聚條件的原始一次點跡進行合并處理,提高點跡精度,生成凝聚點跡,并作為航跡處理輸入;判定每個點跡是屬于新發現目標的點跡,還是屬于已經發現并建立航跡的目標點跡,對于新發現的目標,及時建立目標航跡,并通過批號管理完成航跡批號的有效分配;對于用于航跡更新的點跡,建立航跡和點跡的配對矩陣,完成航跡點跡相關和航跡濾波更新;依據目標運動要素和詢問結果,完成目標的威脅評估和目標屬性識別;處理更新后的航跡數據一方面實時上報,一方面用于航跡數據庫更新,為下次跟蹤維持服務;在航跡處理過程中,通過對航跡質量不斷更新,完成航跡的確認和撤銷過程。典型雷達數據處理軟件活動圖如圖2所示。
2.3.2 軟件的用例圖分析
圖3 給出了數據處理軟件用例圖,表1 給出了數據處理軟件核心用例的功能說明。進一步對作為數據處理器核心功能的航跡處理進行更細致的用例劃分,并給出各個用例的功能說明,如表1所示,航跡處理圖例見圖4。

圖2 數據處理系統活動圖

圖3 數據處理軟件用例圖

表1 數據處理軟件用例功能說明

表2 航跡處理用例功能說明

圖4 航跡處理用例圖
雷達數據處理軟件的過程和原理大致是相同的,依次完成坐標轉換、點跡凝聚、航跡建立、航跡批號管理、航跡相關、航跡更新、威脅估計、航跡質量管理等處理;但是,由于各個型號的雷達數據處理系統采用的數據協議,硬件接口等存在差異。因此,在軟件層面上既有不同也有可以共享的軟件結構和模塊,這使得數據處理系統的軟件構件復用成為可能。2.4.1 點跡凝集采用線性加權求重心的方法將滿足凝聚條件的原始一次點跡與凝聚點跡線性表中的已有點跡進行凝集。因此,對于任何型號的雷達數據處理系統,根據其凝集條件的不同來實現該模塊的復用。
2.4.2 對于航跡處理模塊中的雜波剔除包括對雜波圖和屏蔽區的處理,對滿足相關條件的一次點跡應作為雜波進行剔除。因此,可以設置不同的相關條件來實現雜波剔除模塊的復用。
2.4.3 在航跡建立模塊中,當自由點跡與剩余點跡符合建航規則時應能自動建立航跡,只是在初始建航時,不同型號的雷達對目標速度的大小與批號容量大小有所不同。因此,可以通過設計目標速度與批號容量來實現該模塊的復用。
2.4.4 在航跡管理中分為航跡批號管理和航跡質量管理。對于不同型號的雷達,其批號容量不同,因此,根據批號容量的設置來實現航跡批號管理模塊的復用;航跡質量管理采用記分法,航跡的初始質量為3,最大為9,小于1 時航跡自動撤銷,通過關聯波門類型,更新航跡質量的大小,動態的實現航跡的確認與撤銷。因此,對于航跡批號管理模塊和航跡質量管理模塊均可以完全復用。
2.4.5 航跡濾波模塊根據航跡歷史數據和更新點跡,通過濾波處理,實現航跡數據更新。可通過調整濾波器增益系數來實現航跡濾波模塊的復用。
2.4.6 在自動威脅判斷模塊中,數據處理軟件根據目標飛臨時間和距離等因素給出目標的威脅等級,通過建立統一的威脅評估表,實現自動威脅判斷模塊的復用。
2.4.7 敵我識別是根據詢問結果進行敵我屬性的判斷。根據各個型號雷達詢問機的工作模式對敵我識別模塊進行復用。
2.4.8 在ARM 報警模塊中根據新建立的航跡的速度、運動狀態等特性是否滿足ARM 特性,由于判斷標準唯一,故該模塊可完全復用。
2.4.9 數據交互模塊實現與信號處理機、雷達控制機、綜合顯示機之間的數據通信。由于通信協議不同,因此該模塊不能復用。
根據以上各功能模塊的復用分析,利用條件宏[6]控制模塊復用條件,實現對各個模塊的復用。
本次設計利用創建duplicate.h 文件(頭文件形式)實現對模塊的復用,通過對該文件的個性化配置,完成各模塊復用條件的加載、刪除和參數配置,并通過和應用工程進行重新編譯完成數據處理可執行程序生成。具體實現如下:
a.根據系統實際需求,設置條件宏,利用軟件模塊化配置軟件,完成模塊的靜態加載和參數配置。
例如配置航跡建立模塊,本軟件在設計時創建目標速度與批號容量的條件宏,完成對不同型號雷達數據處理軟件航跡建立模塊的控制。duplicate.h包含如下代碼:
…………
//航跡建立模塊
#define H_CREATE_NEW_HJ
#ifdefH_CREATE_NEW_HJ
#define H_TARGET_SPEED_LIM_DOWN 30 //目標速度下限
#define H_TARGET_ SPEED_LIM_UP 700 //目標速度上限
#define H_TARGET_CAPACITY 250 //目標容量
#endif
………
上述代碼包含了功能模塊的靜態加載項和參數配置項,若靜態加載項H_CREATE_NEW_HJ 沒有定義,則后續參數配置項不參與軟件編譯。對于其它軟件功能模塊的加載和參數配置與此相同,就不再贅述。
b.在DPU 的應用工程中加載duplicate.h,重新進行編譯,完成數據處理軟件可執行程序的生成;
c.若想在已有配置文件基礎上進行局部修改,通過打開已有配置文件,重新編輯保存后,完成配置更新并重新編譯。
利用上述設計方法在實驗室進行動態仿真,圖5 為該雷達數據處理軟件航跡跟蹤處理效果。仿真結果表明,該雷達數據處理軟件各個模塊功能正確,對交叉航跡、轉彎機動航跡等均能有效跟蹤,滿足雷達數據處理對功能和性能的指標要求。

圖5 基于軟件復用技術的航跡跟蹤效果圖
在雷達數據處理軟件開發的過程中,通過模塊化的復用分析,對數據處理軟件的各個模塊進行抽象,有效的分離差異,實現了大部分模塊的復用,從而提高了軟件開發的效率,縮短了軟件開發的周期,節約成本、減少勞動力,具有較高的工程價值與經濟價值。
[1]史浩輝,何煒.基于構件的指控軟件復用[J].計算機技術與發展.2011,(2):159-165.
[2]徐正權.軟件復用方法與技術[M].華中理工大學出版社,1998.8.
[3]楊芙清,梅宏,李克勤.軟件復用與軟件構件技術[J].電子學報,1999.27(2):68-75.
[4]陳升來.軟件復用技術及在雷達標校軟件中的應用[D].中國科學院研究生院.2003.
[5]羅利強.張艷艷.高恒.雷達數據處理軟件模塊化研究[J].火控雷達技術,2013.42(2):38-41.
[6]譚浩強.C 程序設計[M].北京:清華大學出版社,2008.