TheOne仿真器問題集_第1頁
TheOne仿真器問題集_第2頁
TheOne仿真器問題集_第3頁
TheOne仿真器問題集_第4頁
TheOne仿真器問題集_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1. infocom2006(完整版/切割版在bubblerap中無法正常執(zhí)行,跑一個(gè)小時(shí)後/會在connection up =>. =cwindowcentrality 的 getglobalcentrality 中發(fā)生 n u 11 poi nterexception 程式錯(cuò)誤,如 i、2525.378021:9.821/s2585.478557:8.931/s2645.679088:8.811/s2705.779571:8.041/s2765.780138:9.451/s2825.780682:9.061/s2885.881245:9.371/s2945.981741:8.251/

2、s3006.082306:9.401/s3066.182953:101.7?1/s3126.183899:15.761/s3186.185493:26 561/s3246.187032:25.651/s3306.188572:25 661/s3366.289962:23.141/s3426.391118:19 251/s3486.392728:26.831/s3546.397807:84 641/s3606.3102666:80.98 1/s3666.3107190:75.40 1/s3726.3112762:92.86 1/sexception in thread "nain&qu

3、ot; jaua.lang.nullpointerexceptionat routing-communitycwindowcentrality-getglobalcentrality<cwindowcentrality.jaua:144>at routing.connunity.distributedbubblerap-getgiobalcentrality<distribute dbubblerap.jaua:265>at routing.connunity.distributedbubblerap.shouldsendmessagetohost<distri

4、butedbubblerap.jaua:221>at routing.decisionenginerouter.cbangedconnection<decisionenginerouter.jpcmhqst c< networklt?aua:223>corecoreat conconnectionup<dtnhost2zia: 15? at core - netviorki ntfiw duu -uuiihcbt hetworkl nterf ace .java: 235 at interfacesinplebi*oadcast interface .create

5、connect ion<sinplebroadcast i terface.jaua:113>at core-dtnhost.forceconnection<dtnhost.java:305at input.connectionecesseuent<connectionevent.jaua:46>at core.world.update(world.java:179at ui.dtnsintextui.runsin<dtnsimtextui.java:29> at ui.dtnsinui.start<dtnsinui.jaua:7

6、7>在於:原本的cwindowcentrality的getglobalcentrality中沒有做例外處理,修改後即4.for (map.entry<dtnhost, list<duration» entry : conr for (map.entry<dtnhostz list<duration» entry : connhistorydtnhost h = entry.getkey();for(duration d : entry.getvalue()int timepassed = (int)(timenow - d.end)/ if w

7、e reached the end of the last epoch,if(timepassed > centrality_time_window * elbreak;dtnhost h = entry.getkey();for(duration d : entry.getvalue()tryint timepassed = (int)(timenowd.end)/ compute the epoch this contact belongs tepoch = timepassed / centrality time window/ if we reached the end of t

8、he last epoch, weif(timepassed > centrality time window * epochbreak;/ only consider each node once per epochset<dtnhost> nodesalreadycounted = nodescoi if(nodesalreadycounted.contains(h)continue;/ compute the epoch this contact belongs toepoch = timepassed / centrality time window;/ only c

9、onsider each node once per epochset<dtnhost> nodesalreadycounted = nodescountec if(nodesalreadycounted.contains(h)continue;/ increment the degree for the given epoch centralitiesepoch+; nodesalreadycounted.add(h);/ increment the degree for the given epochcentralitiesepoch+;nodesalreadycounted.

10、add(h);ltch(nullpointerexception e)continue;修改前(壞掉)修改後(正常)2. infocom2006 在 bubblerap 中會造成 nullpointerexception 問題(此爲(wèi)bubblerap本身設(shè)計(jì)造成的bug,而修正此bug後的one版本都會標(biāo)記"修正版") 原因:當(dāng) buffersize 設(shè) 3m messagesize 設(shè) 25k 代表 messages 只能存 120 個(gè) msg當(dāng) 7649 秒從 messages 刪除丫4 之後,y4 還存在於 activerouter 的 outgoing messag

11、es 內(nèi) 因爲(wèi)在 update 時(shí) trymessagesforconnected 從頭到尾都使用 outgoing messages 取 m 跟 con,並不會發(fā)現(xiàn)messages中已經(jīng)刪除丫4 了k到transferdone時(shí):去messages找丫4,已經(jīng)早就被刪除了,而造成null(詳細(xì)說明可參考20140310投影片)解決方法:decisionenginerouter (上圖)修改前(卜圖)修改後在trymessagesforconnected前先檢査messages內(nèi)的msg布不在,則a避免nullpointer問題overrideupdate®public voidsu

12、per.update();if (!canstarttransfer() | istransferring() return; / nothing to transfer or is currently transferringfor(iterator<tuple<messagej connectioni = outgoingmessages.iterator); i.hasnext();)tuple<message> connection t = i.next(); if(!this.hasmessage(tgetkey()getld()i.remove();trym

13、essagesforconnected(outgoingmessages);overridepublic voidsuper.update();if (!canstarttransfer() | istransferring() return; / nothing to transfer or is currently transferringtrymessagesforconnected(outgoingmessages);for(iterator<tuple<message> connection” i - outgoingmessages.iterator(); i.h

14、asnext();)tuple<message> connection) t i.next(); if(!thishasmessage(t.getkey()getld()i.rer»ove();3. 不管ttl多少,跑出來的cost和delivery ratio都一樣0.9noo!lej ajaapp0.40.3 n o2minttl解決方法:在 decisionenginerouter 的 createnewmessage 中加入 m.setttl(this.msgttl);problems 卬 javadoc 也 deckrabon console

15、k<terminated> dtnsim(bubblerap mix draft) java application c:program filesjavacan't start: error in configuration file(s)can1t find setting decisionenginerouter-decisionengine1解決方法:run configuration 的 arguments 要加入 bubble.txt©run configurationscreate, manage, and run configurationsrun

16、 a java applicationrunclose將以下幾個(gè)資料夾和檔案放到j(luò)avaproject/src資料夾,就可以用run.bat去執(zhí)行compiler跟one執(zhí)行小 黑窗版,然後用eclipse瀏覽code,但a*能小黑窗compiler過,改變了 classpath之類的,就會導(dǎo)致eclipse 無法跑這份程式了,只能用eclipse瀏覽code,還算方便(按住ctrl移到object或method上可以自動進(jìn)入 該 class)結(jié)論:用小黑窗跑程式,用eclipse看code workspace 2014.03one_simulator(bubblerap mix draft)

17、 src applications2014/3/11 下午 1.唱葵資料xbubblera p_ttl_test2014/3/11 下午 1.唱竇資料滅core2014/3/11 下午 1.唱葵資料xdata2014/3/11 下午 0.doc2014/3/11 下午 0.唱案資料滅ee2014/3/11 下午()唱案資料夾gui2014/3/11 下午 1.唱案資料滅input2014/3/11 下午 1.interfaces2014/3/11 下午 1.唱案資料滅i lib2014/3/11 下午 1 唱案資料夾movement2014/3/11 下午 1.唱案資料滅report2014/3/11 下午 1.reports2014/3/11 下午 0.唱葵資料xrouting2014/3/11 下午 1.唱竇資料滅test2014/3/11 下午 0.唱葵資料xtoolkit2014/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論