張淵博,彭漢國
隨著模擬器仿真技術的進步以及硬件技術的飛速發展,模擬器已經發展到能夠逼真、定性、定量的模擬設備運動規律和操縱特點。設備維護通常都是針對硬件的維護,往往忽視了對軟件的維護,隨著計算機技術的進步發展,模擬器的維護早已不能局限于只是對硬件的維護,為了使仿真更接近現實,培訓效果更加明顯,模擬器軟件的維護的重要性必將愈加突出。本文根據仿真軟件的特點和影響軟件維護的因素,針對性提出了可行的維護策略。
軟件維護是指軟件交付使用后,為改正軟件中新發現的問題,或為改進軟件的性能,或其它屬性,或為使軟件適應新的運行環境而對其進行的修改。
軟件維護可以分以下幾類:
1)改正性維護。在軟件開發中,通常不可能生成完全可靠和準確的軟件,因為在開發過程中會有各種因素導致軟件產生隱藏錯誤,其中一些隱藏的錯誤會被帶到運行階段,當運行環境達到某種特定狀態要求時,這些隱藏的錯誤就會暴露出來。改正性維護就是為了能夠在軟件運行過程中持續識別和改正這些隱藏錯誤,彌補軟件性能上缺陷的過程。
2)預防性維護。預防性維護是為了實現軟件的可維護性和可擴展性要求,為將來可能的維護工作預先做好準備,即采用先進的軟件工程方法對需要維護的軟件或者軟件中的某一部分進行設計、編制和測試。
3)適應性維護。計算機領域的進步發展十分迅速,系統和版本會不斷出現和更新,外部環境、數據環境等系統原件也會隨之發生變化,通常應用軟件的使用時間,往往比原先的實際設備使用時間更為長久,為了適應環境變化和克服本身存在的不足,對軟件進行調整、補充和修改過程就稱為適應性維護。
4)完善性維護。在軟件的使用過程中,用戶會提出一些在軟件系統分析和設計階段中沒有規定的新功能和新性能,這就需要對原有軟件進行功能擴充或性能改進,這個完善系統功能再開發維護活動稱為完善性維護。完善性維護占整個系統維護工作的比重較大,應當有計劃、有步驟地完成。
軟件維護工作會占用大量的工作量,影響因素主要有:
1)系統規模。由于不同系統有著不同的功能特點以及工作職能,所以其系統結構及系統所包含要素的復雜程度是不一樣的,從而導致其規模大小必然是不同的,系統的大小可以通過源程序語句、模塊的數量以及數據庫的大小等來具體度量。
2)設計語言。程序設計語言是影響軟件規模的基礎性因素,應當盡可能的用功能強大的可視化高級編程語言,高級語言能有效控制程序的規模,語言功能越強大,生成程序的語句和指令就越少,也越容易被人們理解掌握,相應的維護工作量也會減少。
3)開發人員。開發人員的專業知識掌握水平、編程語言規范能力、配套文檔實時同步等素質因素都會對后期的軟件維護產生影響。維護人員開展軟件的維護工作時通常需要先理解軟件設計者編寫的程序和文檔,因此詳細的注釋、清晰的結構可有效的增強程序的可讀性。此外,軟件行業人員流動性比較大,在軟件的整個生命周期中,不可避免的人員變動會導致對軟件熟悉程度的顯著降低,有時候這也是造成一個軟件系統癱瘓的原因之一。
4)系統年齡。隨著系統不斷的進行修改,維護的次數就會不斷增多,系統結構也變得越來越復雜混亂,維護工作量必然逐漸增加。同時由于文檔的缺失、開發人員離開以及管理人員的更換,也會使維護工作變的更加困難,這就造成老系統的維護會比新系統的維護耗費更多的工作量。
5)數據庫技術的運用。數據庫技術能夠有效的解決信息處理過程中大量用戶程序數據的組織和存儲的問題,可以減少系統中數據存儲冗余、實現數據共享以及高效地檢索數據和處理數據,有效的減少軟件的維護工作量。
從用戶操作軟件的角度出發,協作關系包括直接控制、遠程控制、協作控制和人機交互等。圖3是觀察型ROV的協作關系圖。
模擬器是借助于模擬仿真、計算機和網絡計算進行操縱、攻防戰術、戰法推演等按照預先給定的方案或規則進行演練。模擬器就是實現仿真的操縱平臺,其功能與實際裝備相當,用以模擬實際裝備的各種行為。
它通常以仿真服務器為核心,配備相關的輸入輸出設備以及其它外部設備,通過網絡連接形成完整的模擬器系統。在模擬器系統中,一般安裝有各種仿真工作站、計算機局域網、和通信接口控制設備,從而構成多個模擬子系統。每個分系統又分為教練員控制部分和操縱員操縱部分,使得模擬系統更加真實有效。
1)模擬器巡邏的逼真性。操縱員操縱部分與實際裝備結構、功能基本相同,通過部分實裝與模擬器布置場景,結合三維視景圖象實現全景模擬。駕駛艙由六自由度平臺支撐,艙內的儀器儀表設置以及平臺模擬運動感覺等都與實裝相似,操作大縱傾或設置較大風浪時,受訓人員能感受到明顯的晃動,時間一久,個別新訓人員還會出現暈船現象。
2)模擬器訓練的可控性。模擬器與實裝的一個顯著不同就是模擬器的可控性。模擬器訓練可以通過教控臺人為設定訓練數據。除了進行常規的各崗位部署操縱外,和可以進行一些在實裝上不可能進行的科目訓練,比如小破口失水事故、損失浮力等。新型實裝交付使用之前的人員培訓工作、人員新訓工作以及一些戰法推演、應急演練,都應該交由模擬器完成。
3)模擬器訓練的可重復性。某次訓練的初始信息可進行重新設定和重復設定,可用于科目訓練、考核,還可用于不同操縱方案對同一初始狀態的模擬訓練,便于比較個方案的優次。可重復訓練有利于在模擬過程中發現問題、解決問題,有助于戰法研究。
模擬器因其特殊的功能作用,其軟件功能相較于實裝軟件存在較大的差異也擁有獨特的優勢。其軟件有如下特點:
1)虛擬現實性。它基于計算機、電子信息、仿真技術于一體,其基本實現方式是通過建立各種數學模型和模擬虛擬環境,實現實際裝備的功能,直觀體現實裝操縱的全過程。
2)結構模塊化。整個模擬器軟件是個復雜的多功能系統,其基于不同結構模型和算法分為不同的模塊,不同模塊的計算機應用程序實現不同的模型,并最終通過標準化接口實現信息溝通和動態整合。
3)實時更新快。實際裝備更新發展日新月異,需要及時的對系統做出升級更新,以提高模擬過程的真實性和準確性。
4)數據信息量大。各類數據以及相關信息(地形地貌、水文環境、敵我特性等)或來自系統數據庫,或由模型計算產生,信息量巨大。
5)數據庫的地位重要。務必做到數據庫系統的實時更新,因為技術性能、仿真參數、戰術指標等所有信息的準確性和有效性都直接影響到模擬器訓練結果的真實性和可靠性。
軟件維護作為模擬器軟件可靠保證的一個重要部分,關系到模擬器能否最大程度的發揮其應有的訓練效能。針對實際使用工作中發現的問題,總結積累了一些實用的模擬器軟件維護策略,主要措施包括:
1)重視軟件維護工作,重視對軟件維護理論的研究,是模擬器設備軟件維護的一般原則。事實證明,軟件投入運行后,為了使之正確運行或更好運行,必須對應用軟件進行維護,對于一個優秀、先進的應用軟件系統來說,隨時能夠對軟件系統進行維護,才能確保軟件實時性和準確性,實現應用系統的持續改進。因此作為模擬器的使用和維護機構,必須準確的認識到軟件維護工作的重要性,我們要在技術和管理方面堅持進行科學的理論分析和研究。
2)強化前期的需求分析論證,建立完整有效的軟件評估體系。后期軟件的保障維護在極大程度上依賴軟件的先天質量,研發單位在初始設計時應全方位考慮控制元件、控制系統、參數標定等可能發生變化的因素,盡可能的采用通用的模塊化結構和標準的參數化控制,這樣就可以只是通過單獨添加模塊來實現新的功能,減少了不必要程序修改,降低了維護的成本。對軟件進行嚴格的測試和試運行,包括編碼與單元測試、集成測試、測試審查等過程,盡可能早的暴露軟件中隱藏的問題和隱患,以減少后期糾正性維護的工作量。
3)建立工作交流機制,加強使用方和研制方的溝通。研制方要定期組織培訓工作,有利于使用方正確使用維護模擬器裝備;使用管理方在模擬器設備的運行維護中,可以第一時間發現系統出現的問題,掌握仿真系統與實際設備參數和功能不一致情況的第一手資料,將這些關鍵信息及時反饋給研制方,為后續系統模型的升級改進奠定良好的基礎,有效的提高了升級版本的先天質量,節約了系統開發的成本。
4)及時更新和豐富數據庫,為系統提供真實可靠的仿真數據。模擬器系統的數據模擬結果的真實性和可靠性,很大程度上取決于基礎數據的準確性與數據環境的完整性,數據的真實準確直接影響著模擬結果的可靠性。例如各種仿真要素的建模,各類溫度壓力信息,流量功率信息,輻射劑量信息、水聲噪聲技術指標等,都隨著探測技術的發展和技術工藝的進步而不斷更新。
5)在升級版本中突出VR(虛擬現實)和聲光電控制技術的應用。在結合六自由度仿真運動平臺上,加入更多的聲、光、電、溫、甚至氣味的因素,營造更為逼真的環境氛圍,觸發本能的個人和組織行為。
6)建立健全軟件維護制度,規范維護方法。任何人不得私自進行系統維護,維護工作必須按照規定的步驟開展,模擬器軟件維護遵守一套完善的維護制度,軟件維護前需要先進行維護可行性分析,在實現階段要制定程序更改計劃以便進行軟件更改,在系統測試階段要測試程序之間的接口,以確保系統滿足原來的需求以及新增加的更改需求,完成后測試人員要審查文檔及測試結果,確定系統功能是否滿足需求,建立軟件新版本,填制審查記錄,便于日后維護時參考,減少重復勞動。此外,除了修改程序、數據、代碼等部分以外,還應同時修改涉及的所有文檔。
系統軟件維護本身是一項及其復雜的工作,涉及到了技術上和管理上的各種問題,我們探索制定各種策略法來維護模擬器的軟件都是為了一個目的,即擴充模擬器軟件的功能,增強其軟件的可靠性,從而提高整個系統的效能,最終實現模擬器訓練作用的最大發揮。