趙占偉
(中國人民解放軍91388部隊,廣東 湛江 524022)
半實物仿真試驗系統存在投入建設巨大的問題,在系統軟硬件建設上,產生了許多的軟硬件設備。尤其是軟件設備,針對每一型的產品擴容都需要開發定制一系列與之相配的軟件,從而產生了一臺硬件設備上運行面向不同型號的不同軟件版本現象。我們發現,過去針對不同產品的系統建設過程中,這些對應不同產品的軟件版本有許多相同和類似的功能設計,如數據顯示和分析軟件、數據錄取與存儲軟件、三維視景軟件、仿真綜合顯示與控制軟件、仿真主計算機軟件等軟件,存在版本較多、“煙囪化”建設、經費投入大、不易于系統維護管理等問題[1-5]。
模塊化、組件化思想在軟件工程領域早已不是新鮮事物,從早期的微軟動態鏈接庫DLL、COM、DCOM到后來的大系統CORBA、HLA、TENA等都具有此類思想特征[6-10]。因此,本文嘗試利用軟件工程領域中的此類思想,針對半實物仿真試驗系統當前和后續產品擴容中的上述軟件問題,提出了一種基于仿真試驗體系結構的系統軟件組件化的發展建設思路,以研究實現半實物仿真試驗系統軟件通用化、模塊化的技術方法,解決系統通用化程度低、裝備利用率低、經費受限等影響系統發展的瓶頸問題,從而,為未來整個仿真試驗系統建設發展探索道路。
仿真試驗體系結構主要為靶場仿真試驗系統發展提供一個開放的公共框架,該框架一般包含公共基礎設施、試驗資源應用、工具、輔助程序以及與該體系結構相關的一系列標準規范組成。仿真試驗體系結構即規劃約束了靶場仿真試驗發展建設,又能整合靶場各種試訓資源,提升靶場當前及未來試訓能力,并節省靶場試訓成本,提高試訓資源利用率。仿真試驗體系結構提供給靶場的能力主要有三種:互操作能力、可重用能力、可組合能力。互操作能力主要側重于提升靶場資源的應用能力,給異構或異域的靶場資源溝通協作以完成更大任務的能力。可重用和可組合能力主要側重于規范約束靶場試訓資源發展建設,提高靶場試訓資源的利用率和通用性、適配性,長遠來看,達到節省試訓成本,提高效益的目的。因此,利用體系結構提供的可重用性和可組合性兩種能力,能使半實物仿真試驗系統軟件組件化,可以很好地解決半實物仿真試驗系統發展中面臨的問題。本文所提出的仿真試驗體系結構總體框架如圖1所示。該仿真試驗體系結構功能上主要分為四部分:基礎設施、試驗資源應用、試驗工具和輔助程序。

圖1 仿真試驗體系結構總體框架
1)可重用能力實現
根據對各種試驗資源的抽象概括,資源組件主要由三部分組成:接入機制,用戶界面和業務邏輯,如圖2所示。接入機制用于將組件接入硬件,主要包括一些通信協議,用戶界面主要用于為操控組件而設置的各種交互接口,業務邏輯實現組件的具體行為,這三部分中,接入機制和用戶界面的實現有許多相同的地方,可抽象為公共的組件模板,利用組件模板添加用戶邏輯,可以大大加速開發過程,然后,將開發完的組件用常用的開發工具編譯封裝成動態鏈接庫DLL,這些DLL在具有體系結構支撐環境的任何平臺上都可以重用。

圖2 可重用功能的實現
2)可組合能力
體系結構支持環境為一個輔助實用程序,具有組合試驗資源組件的功能。將封裝完成的各種試驗資源組件和工具組件的DLL存入支撐環境目錄下的資源倉庫中,啟動支撐環境,就可以自動加載包含各種組件和工具的資源倉庫,然后,根據試驗任務,將所需的各種組件資源和設備拖進試驗工程。
本文通過對半實物仿真試驗系統中的軟件按前述體系結構,將其功能構成進行詳細分析研究和劃分,如圖3所示,也可以將大部分軟件抽象提煉為三種邏輯模型:操控界面、接入接口和業務邏輯。操控界面主要是指軟件的界面,用來實現和幫助軟件和人之間進行人機對話功能,是軟件呈現給人的直觀感受。接入接口主要是指軟件的通信接口,實現軟件與系統中的其他組成的交互,軟件通過接入接口接收外部和發布自身產生的數據。業務邏輯主要描述軟件的自身行為功能,是軟件功能的核心,包括運算處理算法,對通過接入接口接收的數據進行運算處理,將處理結果通過操控界面顯示給用戶,并將需要發布出去的數據通過接入接口發送給系統中的其他設備。

圖3 系統軟件功能抽象邏輯劃分
上述三種邏輯模型中的每一種邏輯又可以抽象細分為若干個功能單元。如操控界面可以細分為不同的顯示單元,包括表格顯示、趨勢圖顯示、餅圖顯示、用戶設定參數和選擇對話框等。接入接口根據不同的接口類型又可以分為以太網、反射內存網、RS232、RS485等類型接口和具體協議功能單元。業務邏輯可進一步細分為各種運算處理功能單元,如坐標變換單元、各種插值濾波算法等。根據這些按不同功能抽象細化出的模塊單元,按照體系結構標準,開發出不同的軟件功能組件,然后,將這些不同軟件功能組件,根據不同的系統功能需求進行組合,構建面向不同型號產品的半實物仿真試驗系統,就可以實現每一個分系統只保留一套應用軟件的目標,針對后續每次擴容僅需要改動其中的某些功能單元就行,功能相同的無須改動,降低了研發成本。
本文以某型半實物仿真試驗系統中的數據處理與分析子系統中的數據顯示和分析軟件作為研究的典型對象進行組件化設計研究,利用前述體系結構原理,抽象出軟件的主要功能,設計一套基于組件化思想的數據顯示和分析軟件,針對不同的產品型號,可以靈活定制軟件功能,以滿足針對該產品型號的試驗和訓練任務需求,這樣就解決了該類軟件產品“煙囪化”問題,不需要每次擴容都在這方面投入經費,達到節省時間、成本,易于維護管理的目的。
數據顯示和分析軟件主要包括顯示和分析兩部分,根據以往系統建設的工程經驗,數據顯示的主要形式為將數據表現為圖表和曲線等,尤其以曲線為主,圖表和曲線等是外在形式功能,主要包含量程寬度、粒度、線型等屬性特征,而數據作為圖表和曲線的內在驅動也主要有浮點型、整型等類型。數據分析功能主要是采用數據處理方法將分析處理后的數據通過顯示部分顯示出來,因此,系統主要功能分為兩部分。
1)數據顯示功能的組件化
如上所述,數據顯示功能主要是通過一些顯示功能單元來實現的,根據以往系統建設中的經驗,常用的顯示功能主要為圖表和曲線等,因此,該部分功能的重點主要是設計能生成不同圖表和曲線的功能組件,該部分功能組件要提供給用戶靈活定制的接口,用戶通過靈活定制,不需要二次開發就能生成所需要的顯示功能單元。
2)數據處理分析功能的組件化
該部分的主要功能側重于提供靈活可定制的數據處理和分析功能單元,根據以往的試驗工程經驗,常用的數據處理和分析方法也具有相同和相似的特征,抽象出這些功能特征,將這些特征分裂細化為一個個功能組件單元,并提供給用戶靈活定制的接口,用戶根據自己的特定試驗任務需求,不用二次開發,通過靈活定制接口,就可生成自己所需的數據處理分析功能單元。
1)開發和設計的數據顯示和分析功能軟件組件,在功能上要覆蓋試驗任務中的數據顯示和分析功能。
2)功能組件要具有靈活的可定制性,通過設定組件屬性參數接口,靈活定制任務功能。
3)生成的功能組件單元要具有良好的可組合性,通過按需任意組合,實現以往的數據顯示和分析軟件的功能。
組件化的半實物仿真試驗系統數據顯示和分析軟件組成結構如圖4所示。整個軟件的設計思想是基于前述體系結構研究,將顯示和數據處理分析方法這兩項功能,進一步抽象細化,分裂為一個個基本的功能對象單元,然后,利用體系結構提供的組合工具,將這些基本的對象單位,根據功能需求,組合成一個針對特定需求的數據顯示和分析軟件。綠色代表經過分裂細化后的顯示相關的對象單元,棕色代表經過分裂細化后的數據處理分析對象單元,兩種功能對象單元根據實際任務需要利用組合工具拼盤組合成為定制的數據顯示和分析軟件。

圖4 軟件組件化結構框圖
整個軟件系統的具體設計如圖5所示,箭頭線代表數據的流向,末端帶圓點線表示功能組成,其中,左邊虛框為數據處理分析功能組件,其由各種數據處理算法模塊和對應的參數設置模塊組成,右邊虛框代表顯示功能組件,根據以往該仿真試驗系統建設經驗,主要由趨勢圖組件和圖表組件組成,其中,每一部分功能模塊又都分解為參數設定和具體實體兩部分,通過參數設定功能模塊來具體設定模塊功能。軟件的具體工作流程是:首先,通過接口組件,將數據從該型半實物仿真試驗系統反射內存網上采集出來,然后,根據任務需要,通過由參數設置的處理分析組件來處理分析數據,處理分析后的數據可根據需要,選擇通過設置趨勢圖和圖表參數定制顯示功能顯示出來。這樣通過靈活的參數設置,可以定制任務需要的功能組件,通過組件的組合,實現軟件的功能。

圖5 軟件組件化具體設計框圖
組件化軟件設計的關鍵是功能對象單元的抽象分裂細化,功能對象單元抽象細化的粒度越小,實現軟件組合的靈活性越大,就如堆積木一樣,積木塊越小,實現的積木構造越多,這樣容易使軟件結構更零散,不利于管理。因此,需要結合具體的試驗工程實踐,合理確定軟件抽象分裂細化粒度。本文針對半實物仿真試驗系統軟件問題,提出了系統軟件組件化的開發設計思路,下一步,還需要將實例應用到該系統中進一步驗證。