《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于CVS的OPNET模型配置管理研究
基于CVS的OPNET模型配置管理研究
來(lái)源:電子技術(shù)應(yīng)用2010年第7期
王 宣1,2, 張學(xué)明1, 劉晶紅1
1. 中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所, 吉林 長(zhǎng)春130033 ; 2. 中國(guó)科學(xué)院研究生院, 北京100039
摘要: 在分析OPNET模型開(kāi)發(fā)配置管理需求的基礎(chǔ)上,通過(guò)分析流行的配置管理工具,選擇CVS作為合適的配置管理工具,,詳細(xì)介紹了基于CVS的OPNET模型配置管理的流程和要點(diǎn),,并給出了WinCVS下配置管理OPNET模型的應(yīng)用實(shí)例,。實(shí)踐表明,,利用CVS進(jìn)行OPNET模型開(kāi)發(fā)的配置管理是可行和有效的,。
中圖分類號(hào): TP391.9
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)07-0144-03
Research of OPNET model development on configuration management based on CVS
WANG Xuan1,2,, ZHANG Xue Ming1, LIU Jing Hong1
1.Changchun Institute of Optics, Fine Mechanics and Physics. Chinese Academy of Sciences, Changchun 130033, China;2. Graduate Institute of Chinese Academy of Sciences, Beijing 100039, China
Abstract: Based on the analysis of requirements of configuration management for OPNET model development, several configuration management tools was analyzed and CVS was approved to be the appropriate one. Then the flow and points for OPNET models configuration management used CVS were introduced in detail, and application example was also provided for OPNET models via WinCVS. All this shows, it is feasible and effective for OPNET model development configuration management based on CVS.
Key words : CVS; OPNET; model development; configuration management

    隨著軟件開(kāi)發(fā)項(xiàng)目規(guī)模的逐漸增大,,多人協(xié)同開(kāi)發(fā)同一項(xiàng)目已成為普遍現(xiàn)實(shí),。在多人協(xié)同工作環(huán)境下,,如果沒(méi)有很好的版本控制和配置管理,,項(xiàng)目開(kāi)發(fā)無(wú)法順利實(shí)施。同樣,,對(duì)于網(wǎng)絡(luò)仿真領(lǐng)域中基于OPNET[1-2]開(kāi)發(fā)的仿真項(xiàng)目,,由于現(xiàn)在網(wǎng)絡(luò)規(guī)模越來(lái)越大,技術(shù)體制眾多,,對(duì)其進(jìn)行仿真的內(nèi)容復(fù)雜,、工作量龐大,而這些往往是單個(gè)建模人員難以完成的工作,。因此,,在基于OPNET的網(wǎng)絡(luò)仿真工程開(kāi)發(fā)過(guò)程中,也需要對(duì)OPNET模型開(kāi)發(fā)進(jìn)行配置管理[3],以提高工作效率,。
1 OPNET模型開(kāi)發(fā)配置管理需求分析
1.1 OPNET模型開(kāi)發(fā)配置管理與軟件開(kāi)發(fā)配置管理的相似之處

 在軟件開(kāi)發(fā)領(lǐng)域?qū)ε渲霉芾碛袊?yán)格的要求,,與其相類似,在基于OPNET開(kāi)發(fā)網(wǎng)絡(luò)仿真模型時(shí),,對(duì)模型開(kāi)發(fā)也有一定要求,,主要表現(xiàn)為:(1)軟件開(kāi)發(fā)配置管理和OPNET模型開(kāi)發(fā),同樣需要保存模型源文件的記錄;(2)在軟件開(kāi)發(fā)過(guò)程中,,需要協(xié)同開(kāi)發(fā)源代碼,,而對(duì)于OPNET模型開(kāi)發(fā),則需要在不同的Modeler之間協(xié)同開(kāi)發(fā)OPNET仿真模型; (3)在軟件開(kāi)發(fā)過(guò)程中,,需要重用源代碼,而OPNET模型開(kāi)發(fā),,在新的工程中也需要重用以前開(kāi)發(fā)的OPNET模型源代碼。
1.2 缺少配置管理的OPNET模型開(kāi)發(fā)存在的風(fēng)險(xiǎn)
 在開(kāi)發(fā)大型網(wǎng)絡(luò)仿真模型的過(guò)程中,,如果不采用有效的配置管理方法,可能會(huì)造成難以預(yù)計(jì)的損失,。例如:(1)開(kāi)發(fā)的模型文件丟失,;(2)運(yùn)行仿真對(duì)所開(kāi)發(fā)的模型進(jìn)行驗(yàn)證時(shí),無(wú)法得到預(yù)期的仿真結(jié)果,;(3)不同的模型開(kāi)發(fā)人員所工作的模型文件版本不同,,給模型集成帶來(lái)困難。以上問(wèn)題對(duì)于協(xié)同開(kāi)發(fā)OPNET仿真項(xiàng)目,,特別是開(kāi)發(fā)大型網(wǎng)絡(luò)仿真模型而言,,均為不利因素,甚至可能產(chǎn)生災(zāi)難性的后果,。
1.3 OPNET模型開(kāi)發(fā)配置管理的目的
 基于以上原因,,在OPNET模型開(kāi)發(fā)過(guò)程中,需實(shí)施有效的配置管理,,這樣可以達(dá)到以下目的:(1)保存良好的版本記錄,。開(kāi)發(fā)人員可以保存源代碼的主要版本,在此基礎(chǔ)上,,配置管理保留了該版本的全部修改記錄,,這樣可以使開(kāi)發(fā)人員在任何時(shí)候都能獲取到所需文件的所有版本。因此,,不論對(duì)于團(tuán)隊(duì),,還是個(gè)人開(kāi)發(fā)OPNET仿真模型,都能做到條理清晰,,避免重復(fù)工作,;(2)利于開(kāi)發(fā)團(tuán)隊(duì)的合作??梢约s定開(kāi)發(fā)人員獲取,、更新源代碼主要版本的途徑,,使得在并行開(kāi)發(fā)模型的過(guò)程中,開(kāi)發(fā)人員能有效地同步工作,,從而提高模型的開(kāi)發(fā)效率,。
2 配置管理工具分析
 目前流行的配置管理工具包括Rational ClearCase、Visual Source Safe和CVS等,。Rational ClearCase是IBM用來(lái)管理和控制軟件開(kāi)發(fā)資源的系列軟件之一,,它集成了設(shè)計(jì)、開(kāi)發(fā),、構(gòu)建,、測(cè)試和部署工具,為支持在軟件全生命周期中對(duì)資源進(jìn)行訪問(wèn)提供了較為完整的解決方案,。但Rational ClearCase的安裝,、維護(hù)復(fù)雜,成為合格的Rational ClearCase的系統(tǒng)管理員需要接受專門(mén)的培訓(xùn);并且Rational ClearCase不提供變更管理的功能,,用戶除需購(gòu)買license外,,還需要支付技術(shù)服務(wù)的費(fèi)用。Visual Source Safe(VSS)是微軟公司的Visual Studio軟件工具包中的配置管理工具,,沒(méi)有對(duì)license進(jìn)行收費(fèi)(費(fèi)用較低),但VSS不提供對(duì)流程的管理功能,,也無(wú)法支持異地團(tuán)隊(duì)的開(kāi)發(fā),且VSS只能在Windows平臺(tái)上運(yùn)行。Concurrent Version System(CVS)除具備VSS的功能外,,其C/S存取方法使得開(kāi)發(fā)者可以從互聯(lián)網(wǎng)的任何接入點(diǎn)檢出新的代碼,;其無(wú)限制版本管理的檢出模式避免了排它檢出模式引起的人工沖突;其客戶端工具可以在絕大多數(shù)平臺(tái)上使用,,可運(yùn)行于Windows,、UNIX和Mac平臺(tái)之上,并能在3種平臺(tái)之間有效交互,,是國(guó)際上最流行最成熟的配置管理軟件,。例如,世界上最大的Open source社區(qū)Sourceforge.net就是用它來(lái)管理9萬(wàn)多個(gè)Open source項(xiàng)目的,,并且Windows操作系統(tǒng)下使用的WinCVS是sourceforge.net上的開(kāi)源軟件,可免費(fèi)下載使用,。
 綜上比較,在OPNET模型開(kāi)發(fā)的過(guò)程中采用CVS是比較明智和理想的選擇,。
3 基于CVS的OPNET模型開(kāi)發(fā)管理
3.1 配置管理工作流程

 基于CVS進(jìn)行軟件開(kāi)發(fā)配置管理的主要工作流程如圖1所示,。


 具體過(guò)程為: (1)在本地硬盤(pán)上,創(chuàng)建CVS的倉(cāng)庫(kù)目錄,;(2)把本地需要CVS進(jìn)行管理的原始目錄導(dǎo)入到CVS服務(wù)器上去,,使之成為CVS服務(wù)器上倉(cāng)庫(kù)的“模塊”;(3)在本地硬盤(pán)上創(chuàng)建工作目錄;(4)協(xié)同工作的開(kāi)發(fā)人員可以從CVS服務(wù)器的倉(cāng)庫(kù)導(dǎo)出“模塊”到本地硬盤(pán)的工作目錄,; (5)從CVS服務(wù)器同步開(kāi)發(fā)對(duì)象的所有修改到本地工作目錄,,在工作目錄上進(jìn)行工作,在此過(guò)程中可將文件的中間版本提交給CVS服務(wù)器,。
3.2 配置管理要點(diǎn)
 基于CVS進(jìn)行OPNET模型開(kāi)發(fā)配置管理的流程與圖1完全相同,,但由于OPNET模型文件的特殊性,所以在基于CVS進(jìn)行配置管理時(shí)需要對(duì)其模型文件做如下特殊處理:
   (1)OPNET模型具有圖2所示的層次結(jié)構(gòu),,因此要有效地存儲(chǔ)OPNET模型文件,,必須合理組織倉(cāng)庫(kù)中的目錄結(jié)構(gòu),以在工作副本中繼續(xù)保存這種模型層次結(jié)構(gòu),。

 (2)在多數(shù)應(yīng)用軟件開(kāi)發(fā)過(guò)程中,,源代碼都是以文本文件形式存儲(chǔ),而OPNET模型源代碼必須存儲(chǔ)為二進(jìn)制文件,,但OPNET模型文件卻不僅只包含二進(jìn)制文件,,所以需要針對(duì)OPNET模型中不同的文件類型,進(jìn)行區(qū)別處理:
   ①將表1中的各種模型文件在倉(cāng)庫(kù)中保存為二進(jìn)制文件,,標(biāo)識(shí)為-kb,。
   ②將表2中的派生文件添加到“cvsignore”文件類型,使得這些文件不會(huì)被提交到CVS服務(wù)器的倉(cāng)庫(kù)中,。因?yàn)殡S著模型的調(diào)試,,派生文件或中間文件越來(lái)越多,,將會(huì)占用大量不必要的存儲(chǔ)空間,。
 (3)雖然CVS可基于“復(fù)制—調(diào)整—合并”的方式進(jìn)行開(kāi)發(fā),但由于CVS不具備自動(dòng)合并二進(jìn)制文件的能力,,所以需要手動(dòng)合并OPNET模型文件,,或?qū)⑿枰喜⒌亩M(jìn)制模型文件導(dǎo)出成文本文件(如EMA文件、XML文件等形式),,以充分利用CVS的合并功能,。


3.3 配置管理實(shí)例與經(jīng)驗(yàn)
 在開(kāi)發(fā)OPNET模型過(guò)程中,利用WinCVS配置管理OPNET模型的實(shí)例如圖3所示,。同時(shí)在實(shí)踐過(guò)程中總結(jié)了如下幾點(diǎn)經(jīng)驗(yàn):

 (1)開(kāi)始基于CVS進(jìn)行OPNET模型文件配置管理時(shí),,可能難以準(zhǔn)確標(biāo)注所有的二進(jìn)制文件,所以需要在模型提交給CVS服務(wù)器之后,進(jìn)行多次檢出和運(yùn)行仿真來(lái)確保模型的完整性和存儲(chǔ)的正確性,。
 (2)由于很多OPNET模型文件較大,,倉(cāng)庫(kù)很容易被填滿,所以僅需要存儲(chǔ)模型源文件和必要的文檔文件,,并使導(dǎo)入服務(wù)器的場(chǎng)景數(shù)量最小化,。另外,目錄結(jié)構(gòu)要清晰合理,以便有利于組織不同類型的文件,,提高用戶自定義模型的可重用性,,減少倉(cāng)庫(kù)中需要復(fù)制的模型數(shù)量。
 (3)可采用XML方式自動(dòng)合并模型文件,。OPNET Modeler提供了*.pr.m,、*.nd.m文件的XML表現(xiàn)形式。由于XML是純文本格式的,,可充分利用CVS的合并功能,。
 (4)在合作開(kāi)發(fā)過(guò)程中,即使使用了CVS,,也要有稱職的管理人員,,并且需要?jiǎng)?chuàng)建良好的配置管理使用流程,在開(kāi)發(fā)人員之間經(jīng)常溝通并達(dá)成一致,。
   本文將軟件開(kāi)發(fā)中的配置管理引入OPNET仿真模型開(kāi)發(fā)領(lǐng)域,,分析了合適的OPNET模型開(kāi)發(fā)配置管理工具,探索了配置管理流程和要點(diǎn),。通過(guò)合理的設(shè)置,,可以成功使用CVS作為OPNET模型開(kāi)發(fā)強(qiáng)有力的輔助工具,提高OPNET模型開(kāi)發(fā)工作效率,。
參考文獻(xiàn)
[1] OPNET Technologies, Inc. OPNET modeler 10.0A online documents[Z]. 2003.
[2] 張?bào)?林孝康.一種基于OPNET的網(wǎng)絡(luò)半實(shí)物仿真模型[J].微計(jì)算機(jī)信息,2007,1(1): 257-259.
[3] OPNET Technology Inc. Integration of OPNET with other tools[C]. OPNETWORK’04,2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。