• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于組件技術(shù)的虛擬試驗平臺研究

      2011-06-05 11:02:10周彥菲杜承烈劉利江
      電子設(shè)計工程 2011年22期
      關(guān)鍵詞:繪制組件界面

      周彥菲,杜承烈,劉利江

      (1.西北工業(yè)大學(xué) 計算機學(xué)院,陜西 西安 7101291;2.海軍試驗基地第二實驗區(qū) 山東 煙臺 265700)

      虛擬試驗技術(shù)是基于先進(jìn)的建模技術(shù)、多領(lǐng)域協(xié)同仿真技術(shù)、信息集成與管理技術(shù)、工程設(shè)計分析技術(shù)、交互式用戶界面技術(shù)和虛擬現(xiàn)實技術(shù)不斷發(fā)展而來[1],憑借其有效性、經(jīng)濟性、安全性、直觀性等特點而受到了廣泛的采用。但是隨著虛擬試驗系統(tǒng)的日益復(fù)雜,仿真軟件開發(fā)的工作量也成倍增加,總是從頭開發(fā)一個虛擬試驗平臺的工作效率越來越低。在這樣的情況下,采用支持軟件復(fù)用的組件技術(shù)來構(gòu)建具有開放性、通用性的虛擬試驗平臺,使得第三方開發(fā)的功能組件能夠像搭積木一樣運行在試驗平臺上,而實現(xiàn)軟件的大粒度復(fù)用,對縮短開發(fā)周期、降低維護(hù)成本和提高試驗可靠性具有重要意義。筆者分析了組件技術(shù)的特點,借鑒其思想搭建一個接口開放、可擴展的虛擬試驗平臺,并在該平臺基礎(chǔ)上實現(xiàn)了子母彈拋撒評估試驗。該平臺的搭建對今后視景仿真模擬軟件的開發(fā)打下良好的基礎(chǔ),能夠有效的實現(xiàn)軟件的重用性,極大的縮短軟件的開發(fā)周期。

      1 組件技術(shù)的特點

      1.1 組件的基本概念

      組件技術(shù)是近年發(fā)展起來的一種優(yōu)秀的軟件重用技術(shù),已在工程領(lǐng)域廣泛使用,但由于其自身特性使得組件到目前還沒有統(tǒng)一的定義,組件的含義可以從以下幾方面來理解:

      1)組件是一個分布對象。這表明組件須按統(tǒng)一接口規(guī)范想外界聲明服務(wù)。

      2)組件是完成特定功能的軟件模塊。這又規(guī)定了組件與一般的簡單的控件的區(qū)別。從概念上講,簡單控件也可以屬于組件但組件的粒度比簡單空間粗,組件應(yīng)由簡單控件組成[2]。

      3)組件是具有特定功能的、能夠跨越進(jìn)程的邊界,實現(xiàn)網(wǎng)絡(luò)、語言、應(yīng)用程序、開發(fā)工具和操作系統(tǒng)“即插即用”的獨立的對象[3]。

      總結(jié)起來,可認(rèn)為組件包含技術(shù)和工程兩方面的因素:在技術(shù)方面,組件可以進(jìn)行二進(jìn)制級別上的繼承和重用,它提供對功能的封裝,外部通過接口來訪問它的服務(wù),使得復(fù)用組件不一定需要源代碼;在工程方面,組件可被獨立的生產(chǎn)、獲得和配置,它允許被無縫地集成到第三方所開發(fā)的軟件系統(tǒng)中,從這個角度看,使用組件最理想的方式是采用拼圖的方法將已有的組件構(gòu)建一個應(yīng)用。

      目前,隨著對軟件復(fù)用理解的深入,組件的概念已不再局限于源代碼,而是延伸到需求、系統(tǒng)和軟件的需求規(guī)約、系統(tǒng)和軟件的構(gòu)架、文檔、測試計劃、測試案例和數(shù)據(jù)等所有對開發(fā)活動有用的信息,這些信息都可以稱為可復(fù)用軟件的組件,其組件結(jié)構(gòu)如圖1所示。

      圖1 組件結(jié)構(gòu)模型Fig.1 Model of component structure

      1.2 組件方法與面向?qū)ο蟮年P(guān)系

      面向?qū)ο蠓椒ǖ幕A(chǔ)是封裝,實現(xiàn)接口與實現(xiàn)分離,核心是多態(tài)。通過將信息隱藏,使調(diào)用者不需要了解實現(xiàn)細(xì)節(jié)而且使得對一個對象內(nèi)部的修改不會影響其他對象,系統(tǒng)的可維護(hù)性很好,易于修改;缺點是耦合度依然較高,例如對象間的交互必須了解被交互對象的標(biāo)志。而且若某一對象標(biāo)志改變了,顯式調(diào)用該對象的其他對象都需改變。組件方法是對面向?qū)ο蟮能浖_發(fā)方法的進(jìn)一步發(fā)展,其更核心的概念是接口,主要目標(biāo)是粗粒度的復(fù)用。通過引入屬性和事件作為更高級的支撐,很好的解決了類之間相互依賴/消息傳遞問題。面向?qū)ο蠓椒ê徒M件方法間的關(guān)系如表1所示。

      表1 面向?qū)ο蠛徒M件技術(shù)的比較Tab.1 Differences between object-oriented and component technology

      2 基于組件的虛擬試驗平臺系統(tǒng)設(shè)計

      2.1 虛擬試驗平臺的需求分析

      通過深入研究現(xiàn)有驗證系統(tǒng)對虛擬試驗平臺的需求,并結(jié)合子母彈拋撒評估試驗需求,總結(jié)出平臺架構(gòu)需要滿足參數(shù)錄入、2D/3D目標(biāo)場景建立以及試驗?zāi)M引擎幾大模塊,其中目標(biāo)場景建立的2D/3D表現(xiàn)部分相對獨立。由于目前的虛擬試驗軟件大多使用結(jié)構(gòu)化的開發(fā)方法,系統(tǒng)耦合高,難以復(fù)用,導(dǎo)致即使用戶需求的發(fā)生輕微的變化,都需要對模型進(jìn)行重新開發(fā)。針對這些問題,要求搭建的平臺滿足以下需求:

      1)可擴展性:新添加組件不依賴現(xiàn)有的功能組件,添加的新組件可在平臺中得到動態(tài)支持,并能協(xié)同工作;

      2)易用性:包含對硬件設(shè)備要求低和軟件設(shè)計界面的簡潔實用;

      3)數(shù)據(jù)重視性:強大的數(shù)據(jù)管理功能,包括數(shù)據(jù)的精度、記錄、管理及分析功能,方便用戶在試驗后的分析或場景重現(xiàn)的建立。

      2.2 平臺框架搭建

      虛擬試驗平臺提供一個集成的可視化的編輯環(huán)境,使用MS3D制作模型,通過解析XML文件動態(tài)生成所需的配置界面,調(diào)用OpenGL提供的API實現(xiàn)可視化功能,利用網(wǎng)絡(luò)通信組件進(jìn)行分步節(jié)點間的通信,集合這些關(guān)鍵技術(shù)搭建一個易于擴展的平臺架構(gòu),平臺架構(gòu)圖如圖2所示。

      圖2 虛擬試驗平臺結(jié)構(gòu)Fig.2 Model of virture test platform

      組件形式化文檔采用基于XML的元數(shù)據(jù)進(jìn)行描述,主要包括兩大類組件信息:一方面是組件內(nèi)實現(xiàn)環(huán)境和細(xì)節(jié)相關(guān)的信息,包括:組件名稱,實現(xiàn)語言,可執(zhí)行代碼的位置,初始化參數(shù),API,圖標(biāo)菜單等。另一方面是與組件間相關(guān)的信息,如組件間搭載的依賴關(guān)系,使用限制條件等。

      組件管理器是平臺的核心,負(fù)責(zé)管理其他所有組件的實例化和釋放。組件管理器使用工廠模式實現(xiàn)。首先,組件管理器解析XML配置文件,通過工廠模式的統(tǒng)一接口為系統(tǒng)產(chǎn)生組件實例;然后組件管理器使用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)記錄所有組件的關(guān)鍵信息,便于對所有組件進(jìn)行統(tǒng)一管理;最后組件管理器解析配置文件,為其他組件建立通信渠道,保證組件間的信息流暢通。

      二維顯示模塊負(fù)責(zé)配置界面的生成,進(jìn)行試驗參數(shù)、模型選擇和評估準(zhǔn)則的錄入。通過解析XML文件獲取配置界面信息及所處位置生成界面,并將輸入的參數(shù)保存在XML文件中;通過搭載三維顯示窗口可在配置界面對所選模型進(jìn)行三維預(yù)覽。

      三維顯示模塊負(fù)責(zé)虛擬試驗的可視化顯示??刂平M件通過解析XML文件,在分布式環(huán)境下選擇不同窗口中顯示的可視化組件,同時負(fù)責(zé)試驗的全局時鐘推進(jìn);顯示組件是場景、導(dǎo)彈、目標(biāo)等功能組件的統(tǒng)稱,使用OpenGL技術(shù)模擬顯示;根據(jù)需求將相關(guān)的控制信息保存在XML文件中,用于場景重現(xiàn)和試驗評估。

      評估組件負(fù)責(zé)試驗后對結(jié)果數(shù)據(jù)的詳細(xì)分析,按照用戶需求進(jìn)行具體組件開發(fā)。在子母彈拋撒試驗中包括以二維曲線繪制V_T、H_T圖、毀傷概率、毀傷半徑等。

      模型庫提供已使用第三方軟件繪制完的模型,如飛行器、靶場目標(biāo)等。使用常用的三維模型軟件如3DSMax、MilkShape3D建模,可在程序中避免使用點、線、面等簡單圖元和一些標(biāo)準(zhǔn)椎體來構(gòu)建復(fù)雜模型帶來的繁瑣工作,同時提高了模型的逼真度。

      網(wǎng)絡(luò)通信組件提供在分布式試驗環(huán)境下各節(jié)點的數(shù)據(jù)傳輸。由于軍工領(lǐng)域?qū)崟r性要求高,采用虛擬共享內(nèi)存提供的高速、實時、確定性的網(wǎng)絡(luò),可有效地解決試驗系統(tǒng)中數(shù)據(jù)傳輸?shù)膶崟r性問題。

      2.3 接口定義

      文中采用VC6.0版本進(jìn)行平臺開發(fā),圖3顯示了平臺基本組件間的關(guān)系和一些重要的接口。下面詳細(xì)介紹各組件及接口的作用。

      圖3 組件及接口的關(guān)系Fig.3 The relationship of components and interfaces

      1)DisplayElement:基本繪圖組件,提供圖形的繪制接口,功能組件調(diào)用或重載該Draw接口,完成具體的繪制功能。

      2)Component:基本通信組件,提供兩個基本接口,用于組件間消息的傳遞,其中Notify接口用于向上一級組件傳遞消息,Report接口用于向底層組件回報消息。

      3)DisplayPanel:基本窗口組件,用于提供顯示窗口的重繪和刷新等基本功能。

      4)DisplayComponent:繼承自 Component和 DisplayElement,具備消息通信能力以及圖形繪制能力,添加DrawComponent接口用于指定為第幾號組件提供DC。

      5)DisplayPanelComponent:基本窗口組件, 繼承自DisplayPanel和Component,具備消息通信能力,同時提供用于界面或圖形的顯示窗口。

      6)EditPanel:基本界面配置組件,繼承自Component和DisplayPanel,具備消息通信及界面編輯能力,用于試驗參數(shù)等信息配置窗口的生成;通過DrawComponent接口獲得配置組件的XML信息和工具條生成配置界面,并通過SaveProject接口將錄入信息保存在指定的XML中。

      7)2DDisplayComponent:基本二維圖形繪制組件,繼承自DisplayComponent,通過重載Draw接口,具備類似于 WORD中二維圖形繪制能力,同時添加Move、Delete等功能接口。

      8)3DDisplayComponent:基本三維圖形繪制組件,繼承自DisplayComponent,重載Draw接口來調(diào)用OpenGL提供的函數(shù),實現(xiàn)三維顯示功能,其中Rotate就是調(diào)用OpenGL函數(shù)的一個典型接口,它實現(xiàn)了對指定模型的三維旋轉(zhuǎn)。

      繪圖組件和界面配置組件都需要加載在窗口組件上。窗口組件通過調(diào)用Draw接口,通知掛在在他之上的繪圖組件,繪圖組件依次調(diào)用自己的Draw方法進(jìn)行繪制,并在窗口上顯示,完成可視化;窗口組件通過響應(yīng)菜單命令,讀取相關(guān)的XML文件完成配置界面的生成。

      3 子母彈拋撒在平臺上的應(yīng)用

      使用上述虛擬試驗平臺接口,通過開發(fā)并加載需要的功能組件實現(xiàn)了某型號子母彈拋撒評估試驗,完整的實現(xiàn)了從模型選取、參數(shù)配置到可視化仿真以及詳細(xì)的試驗結(jié)果評估。Q其中,子彈參數(shù)、目標(biāo)形態(tài)、評價方案等配置界面可使用統(tǒng)一的組件,通過解析各自的XML文件獲取界面信息;二維圖形繪制組件完成子母彈攻擊目標(biāo)的生成,并將所繪圖形的ID和節(jié)點按規(guī)定格式保存在目標(biāo)庫內(nèi);三維顯示組件包括飛行場景、導(dǎo)彈、尾焰、爆炸、拋撒及計算組件,其中計算組件負(fù)責(zé)導(dǎo)彈飛行和子彈拋撒時模型的飛行引導(dǎo)。圖4分別給出了程序運行時子母彈飛行和爆破后子彈拋撒的效果圖。

      圖4 子母彈飛行及子彈拋撒示意圖Fig.4 Schematic diagram of shrapnel flight and ejection

      4 結(jié)束語

      通過在將組件技術(shù)用于開發(fā)虛擬試驗平臺的實踐證明,雖然利用組件技術(shù)在設(shè)計試驗初期,需要在領(lǐng)域內(nèi)對平臺需求進(jìn)行深入分析,搭建具有許多冗余接口的框架,而且在編寫基本的程序組件看不到系統(tǒng)實現(xiàn)的進(jìn)度,使用的精力、時間要多一些,但很多通用功能組件能在擴展中得到重用,可以大大提高軟件開發(fā)效率,大幅度降低系統(tǒng)的開發(fā)費用;同時當(dāng)一個系統(tǒng)需求發(fā)生變化和擴展系統(tǒng)時,只需修改或開發(fā)相應(yīng)的組件而不改變系統(tǒng)的其他部分,如需要災(zāi)難事故模擬時,只需添加新的模型,修改部分控制組件即可,這些工作可以并行進(jìn)行,提高時效性。結(jié)合文獻(xiàn)[5][6]等人使用組件技術(shù)的經(jīng)驗,今后可以在框架基礎(chǔ)上開發(fā)更多目標(biāo)明確的組件接口,以適應(yīng)更廣泛的虛擬試驗需求。

      [1]支超有,李振水,薛峰.基于模型組件的虛擬試驗系統(tǒng)框架研究[J].計算機測量與控制,2011,19(4):890-893.ZHI Chao-you,LI Zhen-shui,XUE Feng.Research for virtual test system framework based on software model component[J].Computer Measurement&Control,2011,19(4):890-893.

      [2]鄧邵芳.組件技術(shù)在軟件開發(fā)中的應(yīng)用研究 [D].成都:西南交通大學(xué),2001.

      [3]舒振,張耀鴻,羅雪山.基于組件的軟件開發(fā)方法在C3I系統(tǒng)仿真中的應(yīng)用研究[J].計算機應(yīng)用研究,2004(10):182-184.SHU Zhen,ZHANG Yao-hong,LUO Xue-shan.Application and research of C3I system simulation using the method of software development based on component[J].Application Research of Computers,2004(10):182-184.

      [4]寧偉,杜承烈.廣播內(nèi)存網(wǎng)在實時半實物仿真系統(tǒng)中的實現(xiàn)[J].測控技術(shù),2006,25(8):76-77.NING Wei,DU Cheng-lie.Realization of real-time HLS based on broadcast memory network[J].Measurement&Control Techniques,2006,25(8):76-77.

      [5]張童,劉云生,查亞兵.可組合仿真系統(tǒng)的概念框架研究[J].系統(tǒng)仿真學(xué)報,2007,19(8):1710-1712.ZHANG Tong,LIU Yun-sheng,ZHA Ya-bing.Research of concept framework for composable simulation system[J].Journal of System Simulation,2007,19(8):1710-1712.

      [6]戰(zhàn)德臣,王忠杰.一種基于組件的復(fù)雜應(yīng)用系統(tǒng)開發(fā)過程[J].哈爾濱工業(yè)大學(xué)學(xué)報,2002,34(6):748-752.ZHAN De-chen,WANG Zhong-jie.Development process for component-based complex application system[J].Journal of Harbin Institute of Technology,2002,34(6):748-752.

      猜你喜歡
      繪制組件界面
      Art on coffee cups
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      國企黨委前置研究的“四個界面”
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      U盾外殼組件注塑模具設(shè)計
      放學(xué)后
      童話世界(2018年17期)2018-07-30 01:52:02
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      人機交互界面發(fā)展趨勢研究
      手機界面中圖形符號的發(fā)展趨向
      新聞傳播(2015年11期)2015-07-18 11:15:04
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      宣武区| 西峡县| 孝感市| 阜南县| 吉隆县| 宜川县| 池州市| 蒲江县| 沁源县| 民权县| 东平县| 麻栗坡县| 宝清县| 石渠县| 阿克陶县| 丹东市| 宁津县| 康定县| 平罗县| 西藏| 伊金霍洛旗| 镇平县| 四会市| 宜良县| 安岳县| 马关县| 马尔康县| 白河县| 温泉县| 遂溪县| 利川市| 大邑县| 京山县| 扶余县| 阳曲县| 娱乐| 亚东县| 黄石市| 枞阳县| 河津市| 盈江县|