劉 雄,張 繩,康鳳舉,張亞雄,鄭卉凌
(1.武漢第二船舶設計研究所,湖北 武漢 430064;2.西北工業大學 航海學院,陜西 西安 710072)
魚雷武器仿真系統涉及聲學、光學、工程數學、計算機、電子工程、機械等多學科和領域。若用高級仿真語言開發魚雷武器系統一體化仿真軟件包[2]往往需要較長的時間,其側重點在于仿真試驗,建模缺乏規范化和重用性。而且整個系統中的各個子系統之間存在著密不可分的聯系,因而當對其中的1個或多個子系統進行擴展或修改時,其他的子系統也必受到影響而需做出較大的變化,這就會使開發、設計和測試工作變得相當繁瑣。所以需要尋找新的設計方法,使搭建的系統具有良好的可復用性和擴展性,組件技術為此提供了一個很好的解決方案。
組件技術的出現主要源于程序設計技術,是繼OOP(面向對象編程)之后的一項優秀的編程模型[4]。與傳統的軟件開發不同,在基于組件對象的軟件工程中更注重組件的規劃、設計與開發,可以使復雜領域內的建模工作變得規范化和具有良好的重用性。
COSIM(協同仿真平臺)是典型的面向組件/服務的建模技術[5],支持異地建模、分布仿真,支持不同仿真工具之間的互操作,解決復雜系統的建模與仿真問題。
本文研究了典型的基于組件的建模技術COSIM中的魚雷武器系統的建模,完成了魚雷武器系統可重用模塊化模型設計,建立了不同層次上可重用的魚雷武器系統模型,給出了典型仿真實例,所構建的仿真系統已得到應用驗證。
COSIM主要支持分布、異構模型之間的分布/協同仿真,同時提供一個開放的、可擴展的、基于標準的(WEB、CORBA、HLA/RTI)仿真集成框架和幾個可靈活組裝的、支持復雜系統建模與仿真運行的COSIM仿真部件[4]。其主要特點在于:集開發環境和運行環境于一體,集成了各類已有的仿真工具,可方便快捷地開發各類模型,系統具有開放性、可擴展性和靈活性。
COSIM將開發環境、資源庫和運行環境進行了分離,使平臺易于擴展。建模環境基于統一的對象模型接口定義支持復雜系統異構層次化建模方法。通過對復雜系統的分析,建立復雜系統的組成模型,對其不同子模型分別采用其各自領域的當前流行工具來開發,構造出復雜系統的混合異構層次化模型。資源庫支持運行支撐平臺對數據、模型、文檔的存儲和查詢;支持對標準組件模型的管理和組裝,使用戶可以輕松的構造復雜仿真系統。運行環境提供仿真運行管理、仿真時間管理和仿真數據管理,是HLA的聯邦管理服務的應用。主要用來實現分布交互仿真系統運行過程及狀態的監控,包括凍結/解凍、同步、暫停、單步運行、斷點運行、仿真速度管理、運行進程管理等。
COSIM下的高層建模指在復雜系統的系統層次上描述系統的行為和結構,或實現系統行為的各子系統的接口、行為及子系統間相互依賴關系的建模技術。平臺采用了可視化圖形建模技術,從仿真系統的組成結構和動態行為2個方面描述仿真系統。按照建模粒度的大小,將靜態結構模型分為3類:元素模型、組件模型和成員模型,動態行為模型主要是指狀態機模型。
高層建模把靜態結構與動態行為的設計分開,靜態結構的建模主要包括元素、組件、成員以及他們相互連接關系。元素是最小的單位,組件是元素的組合,同時也能包含子組件,即支持組件本身的復合。成員由組件和元素組成,并通過COSIM的映射機制與RTI通訊。元素和組件有SOM支持,以增強它們的重用性。
按照魚雷武器的特點,將魚雷武器成員劃分為若干元素和組件。其一級組件有4個:界面顯示模塊、接口模塊、實體解算模塊1和實體解算模塊2。界面顯示模塊主要實時顯示魚雷狀態,含三方面的實體曲線顯示:水平面曲線顯示、垂直面曲線顯示和魚雷姿態角顯示,同時顯示各實體的位置信息、魚雷的行為特性、魚雷的預設定信息,若為線導魚雷,還實時顯示武器發控仿真臺發送的線導遙控指令數據。接口模塊含2個元素子模塊:成員接口模塊和數據庫接口模塊,成員接口模塊接收魚雷載體的配置信息,當實體解算模塊接收到武器發控仿真臺發來的出管信息后,根據配置信息,從數據庫模塊中讀取相應的性能參數,啟動第k個實體解算模塊進行解算。因為1個魚雷聯邦成員需要模擬多條魚雷,所以成員中含多個結構相同的魚雷實體解算模塊。魚雷實體解算模塊中的功能模塊的劃分充分考慮了模型的重用性和擴展性,含動力系統模塊、自導系統模塊、彈道解算模塊等。其中的彈道解算模塊為組件,含入水管制彈道模塊、初始彈道模塊等,對于后期開發者或維護者來說,如果想用新的模塊代替原有的模塊,只需要對新模塊進行開發和測試即可,而不需去了解其他模塊的實現細節,從而大大的提高了效率。
動態行為建模的任務就是定義并描述系統結構元素的動態特性及行為。換句話說,要在時間域描述交互信息的發生過程,描述各結構元素對各交互信息的反應。高層建模采用活動圖或狀態圖加相應的引擎調度機制來反映時間域交互信息的發生過程和對象系統的行為。高層建模中的動態行為建模主要包括狀態圖建模和活動圖建模2個視圖。在動態行為建模中,將對象或交互在響應事件過程中所經歷的一系列活動定義為狀態機。動態行為模型由系統功能子模塊來完成,它強調的是子模塊之間的協作。在模塊工作時,模塊外部環境在不斷地變化,每個子模塊都在運行,不斷改變著自己的狀態,表現出自己的行為,總體上則構成系統或模塊的行為。在仿真運行中,通過狀態機對功能子模塊進行調度,由“狀態”或者“轉換”來觸發對相應模型行為的調度。
魚雷成員的狀態圖含多層結構,狀態圖中的某一狀態可含有子狀態,其第一層狀態機稱為聯邦管理狀態機,如圖1所示。
該狀態機中含有4個狀態。非聯邦狀態時魚雷成員啟動,但是尚未加入聯邦。聯邦狀態時魚雷成員接收到轉換事件后加入聯邦。待命狀態時魚雷成員加入聯邦后,等待其他聯邦成員加入聯邦。仿真任務狀態時收到魚雷出管指令,魚雷實體開始解算。在仿真任務子狀態機中,魚雷成員的工作過程為:在1個仿真步長內,HLAPort接收外部成員公布的數據,通過接口模塊(IM)處理后發給相應的模塊,各內部模塊進行獨立解算,所有模塊解算完畢后,將解算結果傳給HLAPort,由HLAPort負責向外公布,同時向運行管理器提出時間推進請求。

圖1 聯邦管理狀態機Fig.1 State machine of federation management
基于組件技術的概念模型推演方法,從全生命周期的觀點看待概念模型,將概念模型分為面向領域的概念模型和面向設計的概念模型,基于組件技術的概念模型規范主要應用于面向設計的概念模型[4]。COSIM概念推演器應用行為建模技術建立了“基于組件技術的模型規范”。該規范的形式化表達為:

在魚雷武器系統中,根據高層建模生成各個模塊的EED文件。該文件含模塊的輸入輸出端口的描述,并生成反映模塊調度邏輯關系的CED文件。使用COSIM的概念推演器可對目標系統進行概念推演,推演時需要引擎視圖、引擎控制窗口和系統運行信息窗口三者配合完成,在推演時,系統用不同的顏色來標識驗證中的模塊。在開發過程中,當實現了1個功能模塊后,用該模塊替換概念模型中的相應模塊,可以實現魚雷武器系統的概念模型“無縫”的過渡到真實模型,從而減少開發的工作量。
COSIM環境中,封裝了1套工具來實現功能模塊代碼的快速自動生成,如成員自動生成工具、元素自動生成工具等。元素自動生成基于COM組件技術,將元素封裝成1個COM組件,提供1個統一的對外接口,根據用戶確定組件的端口(Ports)個數和內容、實現元素功能體需要的各類參數和初始化參數自動生成元素的框架,元素框架含元素運行時需要的各支撐類。元素框架自動生成后,用戶可根據該元素要實現的功能和算法結構,在相應位置編寫實現代碼。元素有1個主要的功能函數,該函數也是COM組件對外的接口。
端口用于建立與其他元素、組件等的接口連接關系。功能實現體由元素的功能主函數和1個或多個其他自定義函數實現,用戶可以在主函數之外根據需要封裝各種類,由于功能主函數是元素對外統一的接口,即所有的元素對外提供服務的API函數名稱和參數都是一樣的,這樣給用戶調用帶來極大的方便。元素完成的具體功能由用戶在VC集成開發環境中指定的位置手工添加元素的功能、行為實現體并完成調試。
端口的數據服務類型有初始化參數、輸入參數和輸出參數3類,每一類服務類型含數據和事件2種服務方式。元素的端口含有多個端口項,每個端口項對應1種簡單的數據類型,在元素之間進行數據傳送時,可以將1個端口的端口項對應于另1個元素中的相應端口的端口項,使整個開發過程變的更為直觀。如魚雷實體解算模塊1中的紅方魚雷的位置信息端口有如下端口項:時間代碼、實體代號、魚雷型號、橫坐標、縱坐標、深度、航速和航向。由于位置信息要實時在界面中顯示,所以界面顯示模塊中也同樣含有該端口,且端口項一一對應。在連接2個元素的對應端口時,可以實現同端口項的連接,在界面顯示模塊中,可以直接取自己端口項對應的變量進行解算,而不需要另做處理。
當目標系統通過概念推演后,用代碼的自動生成工具實現各個模塊的功能,然后用真實的模型代替概念模型,可以較快的實現過渡。在魚雷武器系統中,紅方艇在航行過程中發現水面目標,目標決策仿真臺決策出攻擊方案,用線導+尾流魚雷攻擊目標。在仿真過程中,魚雷仿真臺接收到武器控制仿真臺發送的出管指令后,向導演臺發送出管的行為特性,同時根據接收到的魚雷配置信息,在數據庫中讀取相應的參數。魚雷出管后,每當仿真推進一步,就接收1次控制臺發送的線導指令,同時反饋魚雷的遙測信息。當接收到尾流開機指令后,啟動尾流解算模塊進行解算。整個仿真過程的實體航跡如圖2所示,最后魚雷擊中目標,該次仿真結束。

圖2 實體航跡圖Fig.2 Entity tracking map
COSIM是典型的面向組件/服務的建模技術,它提供了圖形化、模塊化的建模功能,模塊的功能實現具有統一的對外接口,模塊重用方便。本文研究了魚雷武器系統在該平臺下的建模過程——靜態建模,動態建模,然后對所建模型進行概念推演,最后用真實模型去代替概念模型,實現了模型的“無縫”過渡。
整個建模過程直觀快捷,所建的魚雷武器系統模型具有易擴展和重用性好的優點。通過仿真應用實例,驗證了所建魚雷武器系統模型的正確性。
[1]康鳳舉.現代仿真技術與應用[M].北京:國防工業出版社,2006.
[2]李皓,康鳳舉,潘勇軍.水下航行器仿真軟件包設計[J].系統仿真學報,2002,14(8):1003 -1005.LI Hao,KANG Feng-ju,PAN Yong-jun.Design of the simulation software for underwater vehicle[J].Journal of System Simulation,2002,14(8):1003 -1005.
[3]徐德民.魚雷自動控制系統(第二版)[M].西安:西北工業大學出版社,2001.
[4]邱彥強,柴旭東,李伯虎,等.面向復雜產品設計的基于組件的概念模型技術研究[A].全球化制造高級論壇暨21世紀仿真技術研討會論文集[C],2004.170-175.QIU Yan-qiang,CHAI Xu-dong,LI Bo-hu,et al.Study on complex product design oriented concept model technology based on component technology[A].Proceedings of the SymposiumonGlobalManufacturing&Simulation Technology of the 21stCentury[C],2004.170 -175.
[5]李伯虎,柴旭東,朱文海,等.現代建模與仿真技術發展中的幾個焦點[A].全球化制造高級論壇暨21世紀仿真技術研討會論文集[C],2004.1-8.LI Bo-hu,CHAI Xu-dong,ZHU Wen-hai,et al.Some focusing points in development of modern modeling and simulation technology[A].Proceedings of the Symposium on Global Manufacturing and Simulation Technology of the 21stCentury[C],2004.1 -8.
[6]王江云,王行仁,柴旭東.協同仿真運行管理平臺研究與實現[J].系統仿真學報,2002,14(5):584 -587.WANG Jiang-yun,WANG Xing-ren,CHAIXu-dong.Research and implementation of COSIM run-time management platform[J].Journal of System Simulation,2002,14(5):584 -587.
[7]KOBRYN C.Modeling components and frameworks with UML[J].Communication of the ACM,2000,43(10):31-38.