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

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

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

圖2 實體航跡圖Fig.2 Entity tracking map
COSIM是典型的面向組件/服務的建模技術,它提供了圖形化、模塊化的建模功能,模塊的功能實現(xiàn)具有統(tǒng)一的對外接口,模塊重用方便。本文研究了魚雷武器系統(tǒng)在該平臺下的建模過程——靜態(tài)建模,動態(tài)建模,然后對所建模型進行概念推演,最后用真實模型去代替概念模型,實現(xiàn)了模型的“無縫”過渡。
整個建模過程直觀快捷,所建的魚雷武器系統(tǒng)模型具有易擴展和重用性好的優(yōu)點。通過仿真應用實例,驗證了所建魚雷武器系統(tǒng)模型的正確性。
[1]康鳳舉.現(xiàn)代仿真技術與應用[M].北京:國防工業(yè)出版社,2006.
[2]李皓,康鳳舉,潘勇軍.水下航行器仿真軟件包設計[J].系統(tǒng)仿真學報,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]徐德民.魚雷自動控制系統(tǒng)(第二版)[M].西安:西北工業(yè)大學出版社,2001.
[4]邱彥強,柴旭東,李伯虎,等.面向復雜產(chǎn)品設計的基于組件的概念模型技術研究[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]李伯虎,柴旭東,朱文海,等.現(xiàn)代建模與仿真技術發(fā)展中的幾個焦點[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]王江云,王行仁,柴旭東.協(xié)同仿真運行管理平臺研究與實現(xiàn)[J].系統(tǒng)仿真學報,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.