外文翻譯(譯文)_第1頁(yè)
外文翻譯(譯文)_第2頁(yè)
外文翻譯(譯文)_第3頁(yè)
外文翻譯(譯文)_第4頁(yè)
外文翻譯(譯文)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

用MATILDAUM虛擬機(jī)對(duì)無(wú)線傳感網(wǎng)應(yīng)用軟件進(jìn)行建模及運(yùn)行HiroshiWada,PruetBoonmaandJunichiSuzuki(麻薩諸塞州的大學(xué)計(jì)算機(jī)科學(xué)部,波士頓,MA02125)(電子郵箱:(shu,pruet,jxs}@)摘要本論文提議使用模型驅(qū)動(dòng)開發(fā)(MDD)框架來管理復(fù)雜的WSN應(yīng)用程序開發(fā)。該框架包含了一組WSN程序的UMLprofile和一個(gè)叫做Matilda的UML虛擬機(jī)。UMLprofile抽象WSN的底層細(xì)節(jié),并為開發(fā)人員的圖形化設(shè)計(jì)提供了較高層次的抽象,便于維護(hù)其程序。Matilda是一個(gè)運(yùn)行期引擎,用來設(shè)計(jì),校驗(yàn),發(fā)布在模型層開發(fā)WSN應(yīng)用程序。本論文描述MDD框架如何設(shè)計(jì)的,以及該框架是如何應(yīng)用于WSN程序的開發(fā)。事實(shí)證明MDD框架確實(shí)可以創(chuàng)建WSN應(yīng)用程序。關(guān)鍵字模型驅(qū)動(dòng)軟件開發(fā),可視化建模語(yǔ)言,無(wú)線傳感網(wǎng)絡(luò)1、引言無(wú)線傳感器網(wǎng)絡(luò)(WSN)在硬件環(huán)境中,響應(yīng)事件,并收集數(shù)據(jù)的。WSN中很多程序用來環(huán)境監(jiān)測(cè),結(jié)構(gòu)健康監(jiān)測(cè),人類健康監(jiān)控,目錄跟蹤,家居自動(dòng)化,軍用監(jiān)控。由于WSN中的無(wú)處不在的嵌入式環(huán)境,它們有能力還變革人類理解和構(gòu)造復(fù)雜的自然/物理系統(tǒng)。鑒于此,WSN已經(jīng)在規(guī)模和復(fù)雜度上有了很大的發(fā)展。傳感器節(jié)點(diǎn)成本的減少使得WSN程序可以使得更多的節(jié)點(diǎn)來更好的覆蓋更大的監(jiān)控區(qū)域。計(jì)算機(jī)存儲(chǔ)以及網(wǎng)絡(luò)負(fù)載能力的提高使得WSN程序?qū)崿F(xiàn)更為高級(jí)的網(wǎng)絡(luò)功能,比如數(shù)據(jù)過濾,節(jié)點(diǎn)聚集,數(shù)據(jù)聚集,以及錯(cuò)誤恢復(fù)。這些在規(guī)模和復(fù)雜度的改變使得WSN程序的開發(fā)更為復(fù)雜,耗時(shí),容易出錯(cuò)。比如,即使實(shí)現(xiàn)一個(gè)簡(jiǎn)單的節(jié)點(diǎn)聚集機(jī)制(比如,聚集成員選擇,聚集領(lǐng)頭選擇以及成員間的數(shù)據(jù)異步),程序開發(fā)者需要知道許多底層機(jī)制(比如,內(nèi)存管理路由,拓?fù)錂C(jī)制以及信號(hào)強(qiáng)度檢測(cè))而且需要很小心的控制這些狀態(tài),以及這些機(jī)制中各個(gè)節(jié)點(diǎn)的行為。無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用開發(fā)的復(fù)雜性是由兩個(gè)主要問題引起的: (1)程序開發(fā)中缺少足夠的抽象。(2)缺少配套的程序開發(fā)工具。第一個(gè)方面是缺少足夠的抽象,使程序開發(fā)者能夠較快的部署WSN程序。在現(xiàn)在的WSN程序開發(fā)中,抽象層次還比較低。目前很多WSN程序是用nesc(一種C方言)實(shí)現(xiàn),它為一些基本功能提供了底層庫(kù),比如傳感器讀取,點(diǎn)到點(diǎn)的同學(xué)。nesC和TinyOS隱藏了底層硬件細(xì)節(jié)然而他們并不能幫助開發(fā)人員快速開發(fā)應(yīng)用程序。一些虛擬機(jī)和腳步語(yǔ)言可以提高WSN程序開發(fā)的抽象層次。然而,那些默認(rèn)實(shí)現(xiàn)并不能滿足程序需要。比如,在BombillaVM,默認(rèn)包結(jié)構(gòu)太簡(jiǎn)單而無(wú)法使用。開發(fā)者通常需要自定義VM(比如,parser和packethandler)使用nesC和TinyOS來實(shí)現(xiàn)自己的包結(jié)構(gòu)(Bombilla是用nesC和TinyOS包實(shí)現(xiàn)的)。第二個(gè)方面是缺少配套的工具來配置和打包WSN應(yīng)用程序。除了編程,WSN程序開發(fā)還需要一些體力活,比如編譯和代碼檢查,模擬器或傳感器節(jié)點(diǎn)的配置以及將編譯好的代碼部署到節(jié)點(diǎn)上。程序開發(fā)者需要手動(dòng)完成這些工作,使用不同工具以自組織的方式工作。這些工具通常并不能協(xié)調(diào)工作,所以并不能很好的協(xié)調(diào)起來提高開發(fā)者的生產(chǎn)力。所以,這將會(huì)花費(fèi)一定的時(shí)間,來完成者一系列的任務(wù)之后。開發(fā)者才能運(yùn)行他們的程序。WSN程序開發(fā)者的敏捷度仍然很低。本論文提到了一種新的模型驅(qū)動(dòng)開發(fā)框架,這可以在以上兩方面來簡(jiǎn)化WSN程序開發(fā)。該框架包括⑴使用UMLprofile來對(duì)wsn程序建模。⑵一個(gè)叫做Matilda,UMLVM,按照UMLprofile轉(zhuǎn)化模型。UMLprofile擴(kuò)展了標(biāo)準(zhǔn)UML元素(比如,類和關(guān)系),用來詳細(xì)的描述域,程序概念。該UMLprofile抽象了WSN底層細(xì)節(jié),為程序開發(fā)者(甚至非程序員)提供了高層抽象,從而可以圖形化設(shè)計(jì)并且維護(hù)其程序。它使得開發(fā)者以一種可視化的方式理解他們的程序。Matilda用于UML模型的運(yùn)行期引擎。它接受使用UMLprofile定義的可視化模型,并直接將該模型轉(zhuǎn)化成可執(zhí)行代碼。使用Matilda,程序開發(fā)者可以在模型層設(shè)計(jì),校驗(yàn),部署和執(zhí)行程序。而不需要考慮底層細(xì)節(jié)(比如,程序代碼和配置文件)。Matilda的架構(gòu)設(shè)計(jì)成插件的管道。在Matilda中不同的插件實(shí)現(xiàn)了不同的功能,比如依據(jù)UMLprofile對(duì)輸入的UML模型校驗(yàn),生成程序代碼,編譯/校驗(yàn)生成的代碼,配置模擬器。這種管道架構(gòu)使的Matilda可以通過替換插件,更改插件的執(zhí)行序列,從而靈活配置它的操作。插件的序列函數(shù)作為一個(gè)自動(dòng)化工具來打包程序。這使得WSN程序線性的開發(fā),并且減少程序設(shè)計(jì)到執(zhí)行所需時(shí)間。本文組織如下,第2節(jié)描述了WSN程序結(jié)構(gòu),MDD框架可以為此設(shè)計(jì)的。第3節(jié),第4節(jié)描述了UMLprofile的設(shè)計(jì)和模型到代碼的轉(zhuǎn)化規(guī)則。第5節(jié),描述了Matilda如何實(shí)現(xiàn)。第6節(jié)顯示的模擬結(jié)果表明了使用MDD框架建立的WSN程序。第7節(jié),第8節(jié)總結(jié)了相關(guān)工作和以后的工作。2、無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用架構(gòu)MDD框架目前用來設(shè)計(jì)WSN程序架構(gòu)(稱為BiSNET)。這種架構(gòu)是用來解決基于事件的WSN程序的3個(gè)問題:自治性---獨(dú)立運(yùn)行在無(wú)人看管的區(qū)域,并且無(wú)

法從基站或管理員那獲得幫助??蓽y(cè)量性---大規(guī)模能力。比如,大量的節(jié)點(diǎn)以及產(chǎn)生的大量數(shù)據(jù)。適應(yīng)性---適應(yīng)WSN不斷的改變的能力,以及節(jié)點(diǎn)的動(dòng)態(tài)性。(比如,傳感器讀取,電源消耗)。fSensorfSensorNodeBiSNETruntime^A^PlatformTinyOS\7]"": SpitFnrint-iFdingC^jyijyi.—.些Q后?物系統(tǒng),,很多生物系統(tǒng)BiSNET—.些Q后?物系統(tǒng),,很多生物系統(tǒng)BiSNET結(jié)構(gòu)的機(jī)制來解決問題的】其他蜜蜂的影響。因?yàn)槿后w的所有活動(dòng)沒有在禰的控制下進(jìn)行所以蜜蜂去群能對(duì)一個(gè)蜜蜂的巨大數(shù)字依比例決定.。蜜蜂群適應(yīng)動(dòng)態(tài)的環(huán)境情況。當(dāng)在一個(gè)蜂房的大量的蜂蜜低、許多蜜蜂離開蜂房收集花蜜。當(dāng)蜂房充滿蜂蜜,??蜜蜂在蜂房設(shè)計(jì)思想來源于i2T>舉例來說:,蜜蜂的自治行為.餌受本地的環(huán)境條件和都是用相類似的中的休息或者是擴(kuò)建蜂房。根據(jù)觀察,BiSNET應(yīng)用主要以生物學(xué)的機(jī)制設(shè)計(jì)設(shè)計(jì)無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用軟件。BiSNET運(yùn)行時(shí)間有兩個(gè)軟件成份組成:原動(dòng)力和中間設(shè)備分別地在蜜蜂和花之后被做模型的平臺(tái)(圖1)。每個(gè)WSN實(shí)際應(yīng)用當(dāng)做一個(gè)多個(gè)Agent的被使分散的收集被設(shè)計(jì)。這就像是有多只蜜蜂(Agent)的蜜蜂群(實(shí)際應(yīng)用)。Agent在上在平臺(tái)(花)頂部的節(jié)點(diǎn)上收集感應(yīng)器數(shù)據(jù)(蜂蜜),而且攜帶感應(yīng)器數(shù)據(jù)到相當(dāng)于蜜蜂的巢的模型的基礎(chǔ)平臺(tái)。Agent藉由自治地喚起生物學(xué)的行為,像是信息素排放物運(yùn)行這些功能性,信息素測(cè)知、復(fù)制和移動(dòng)。一個(gè)中間設(shè)備平臺(tái)在每個(gè)節(jié)中在TinyOS的頂上跑,而且主辦一或較多Agent。它提供運(yùn)行時(shí)間服務(wù),Agent使用運(yùn)行他們的功能性和行為。根據(jù)生物學(xué)的實(shí)體(舉例來說,蜜蜂)激發(fā),Agent可以感覺他們的本地、周圍環(huán)境情況,而且依照情況做些合適地行為。每個(gè)Agent能執(zhí)行下列的行為。(1)食物收集和消耗:生物的實(shí)體為生活努力尋求食物。舉個(gè)例子,蜜蜂收集花蜜,消化后生產(chǎn)蜂蜜。在bisnet,在每個(gè)義務(wù)周期Agent(蜜蜂)可能讀取傳感器數(shù)據(jù)(花蜜),轉(zhuǎn)化后變成能量(蜂蜜)?,F(xiàn)在的能量級(jí)位(E(t))與相等1一起更新。S在現(xiàn)在、早先責(zé)任周期之間在感應(yīng)器數(shù)據(jù)中表現(xiàn)絕對(duì)的不同。M是持續(xù)的價(jià)值的變化的比率(或者能源轉(zhuǎn)變率)在0和1之間始終不變的值.E(t)=E(t..1)+SAM(1)(2) 信息素的釋放:Agent可能依照他們的本地、周圍環(huán)境情況發(fā)出不同類型的信息素(復(fù)制和移動(dòng)信息素)。舉例來說,信息素釋放物可能發(fā)生在對(duì)儲(chǔ)存的豐富能源做出反應(yīng)(例如,他們的感應(yīng)器讀取的明顯改變)。不同類型的Agent發(fā)出不同類型的復(fù)制信息素,且每個(gè)包含感應(yīng)器數(shù)據(jù)。舉個(gè)例來說,在螢光計(jì)上,Agent發(fā)出包含螢光光譜(氟代信息素)的復(fù)制信息素。在測(cè)量海洋表面風(fēng)浪的紅外線的感應(yīng)器上,Agent釋放包含表面的風(fēng)浪數(shù)據(jù)的復(fù)制信息素(風(fēng)浪信息素)。另一方面,當(dāng)他們對(duì)附近的節(jié)點(diǎn)移動(dòng)時(shí),Agent在他們的本地節(jié)點(diǎn)上釋放移動(dòng)信息素。每個(gè)信息素有它自己的密度。密度在每占空因數(shù)衰退一半。當(dāng)它的密度變成零時(shí),一個(gè)信息素就消失了。(3) 信息素感應(yīng):Agent可以感應(yīng)在本地、附近的節(jié)點(diǎn)上被放置的信息素。這種性能被用來感應(yīng)在本地、附近的節(jié)點(diǎn)上的感應(yīng)器數(shù)據(jù)。(4) 復(fù)制:Agent能作他們自己的副本。復(fù)制能發(fā)生在對(duì)大量能源作出反應(yīng)和復(fù)制信息素的時(shí)候。一個(gè)被復(fù)制的Agent被放置它的父母存在的平臺(tái)上,接受父母一半量的能量級(jí)位。每個(gè)孩子Agent是要向一個(gè)基地前進(jìn)報(bào)告收集成的感應(yīng)器數(shù)據(jù)。(5) 移動(dòng):Agent可能從一個(gè)節(jié)點(diǎn)移到另外一個(gè)節(jié)點(diǎn)。移動(dòng)可能發(fā)生對(duì)能源豐富做出反應(yīng)的時(shí)候。(例如,他們的感應(yīng)器讀取明顯的改變)它被用來傳輸Agent(感應(yīng)器數(shù)據(jù))到基點(diǎn)。每個(gè)Agent可能實(shí)現(xiàn)一個(gè)或下列三個(gè)移動(dòng)方式的組合:方向性步行:每個(gè)Agent可能經(jīng)過最短的路徑移動(dòng)到最近的基點(diǎn)。每個(gè)基點(diǎn)定期地對(duì)網(wǎng)絡(luò)的個(gè)別節(jié)點(diǎn)生成一個(gè)基點(diǎn)信息素。它的密度在逐跳基礎(chǔ)上衰退。使用基點(diǎn)信息素,Agent能接近基點(diǎn)存在的地方,通過信息素上升的變化程度來移動(dòng)向基點(diǎn)。趨向性:Agent能跟隨許多其他移動(dòng)信息素的痕跡。當(dāng)移動(dòng)信息素在鄰近的節(jié)點(diǎn)上存在,Agent執(zhí)行方向性步行。繞路步行:當(dāng)移動(dòng)信息素的密度在極微的量上太高時(shí),每個(gè)Agent可能離開移動(dòng)信息素的痕跡而且跟隨另外的一條路徑到達(dá)基點(diǎn)(例如,當(dāng)太多Agent跟隨相同的移動(dòng)路徑)。這避免把網(wǎng)絡(luò)分成島。因?yàn)樵诼窂缴系墓?jié)點(diǎn)消費(fèi)力量更甚于其他者,而且他們?cè)绲爻^其他者下降,所以網(wǎng)絡(luò)能分開太多Agent跟隨的移動(dòng)路徑。除了以移動(dòng)信息素繞路之外,Agent能避免移動(dòng)過復(fù)制信息素密度過高的節(jié)點(diǎn)(例如,哪里Agent發(fā)現(xiàn)他們的感應(yīng)器讀取明顯的改變)。這分配在Agent沒有發(fā)現(xiàn)他們的感應(yīng)器讀取方面的改變的節(jié)點(diǎn)上的Agent移民的耗電量,藉此避免網(wǎng)絡(luò)分離。在向一個(gè)基點(diǎn)的每個(gè)中間節(jié)點(diǎn)上,每個(gè)Agent審查等式2決定它下一次移動(dòng)到哪個(gè)節(jié)點(diǎn)。一個(gè)Agent為每個(gè)附近的節(jié)點(diǎn)j計(jì)算加權(quán)總數(shù)(WSj),并移向權(quán)總數(shù)的最高的節(jié)點(diǎn)。t指示信息素類型;P1j、P2j和P3j表現(xiàn)基點(diǎn)的密度,移動(dòng)和復(fù)制在節(jié)點(diǎn)j上的信息素。Ptmax和Ptmin指示在Pt附近的節(jié)點(diǎn)之中密度的最大值和最小量。

w1是非否定,而且w2和w3可能是否定。這些加權(quán)價(jià)值控制Agent如何執(zhí)行移動(dòng)行為。舉個(gè)例子來說,如果一個(gè)Agent賦予w2和w3為零,Agent可忽視移動(dòng)和復(fù)制信息素執(zhí)行方向性步行。如果一個(gè)Agent賦予w2明確的值,它執(zhí)行趨化現(xiàn)象。否定的w2和w3值讓Agent運(yùn)行繞路步行。3、無(wú)線傳感網(wǎng)應(yīng)用的UML架構(gòu)UML架構(gòu)指定協(xié)議,是為WSN應(yīng)用軟件的項(xiàng)目偵查建立UML模型,并且定義固定類型和特殊值來精確的描述計(jì)算完整的結(jié)果:輸入模型3。在UML架構(gòu)中,一個(gè)輸入模型被定義為一組UML2.0類圖表、序列圖表和一個(gè)例證圖表。一個(gè)類圖表用來定義Agent和Agent運(yùn)至基點(diǎn)的感應(yīng)器數(shù)據(jù)。一個(gè)序列圖表用來定義行為一個(gè)Agent在每個(gè)工作循環(huán)周期運(yùn)行的序列。一個(gè)例證圖表用來在WSN中定義布局和節(jié)點(diǎn)。3.1類圖UML2.0metamcidel圖2表示一個(gè)例子用UML架構(gòu)定義類圖表,而且圖3表示UML架構(gòu)提供固定類型的定義。用固定類型<<agentType>>表示一個(gè)Agent,而且定義它帶入基點(diǎn)的感應(yīng)器數(shù)據(jù)。在圖2中,FluorometerAgent類指定那它的實(shí)例攜帶fluorescenceSpectrum和timestamp至0基站。UML2.0metamcidelI'iguiv5:TheDefinitionoftheProposedUMLProfile(Class)感應(yīng)器裝置的類型。圖2表示FluorometerAgent和InfraredAgent從螢光計(jì)和紅外線的感應(yīng)器中分別讀出數(shù)據(jù)。energy_conversion_rate敘述能源轉(zhuǎn)變率(或者代謝率)在等式1(第2節(jié))用了。migration_weight_basestation,migration_weight_migration和migration_weight_replication在等式2(第2節(jié))敘述w1、w2和w3。UML架構(gòu)中不只提供固定類型也提供Agent定義一組Agent援用的行為的抽象類。(見到第3.2節(jié))每個(gè)Agent被定義為Agent類的一個(gè)子集,它的參數(shù)的配置是通過利用<<agentType>>的特殊值.

Aiac-UJe梆54■€agent."■:ute--、tormal

attributesagentAttribute表示Agent的一個(gè)固定屬性,而非信息的一個(gè)屬性。為了要節(jié)省WSNs的能源,一個(gè)Agent每次能攜帶多個(gè)信息而且減少信息傳輸?shù)拇螖?shù)。由于類的正常屬性,舉個(gè)例在來說,timestamp和fluorescenceSpectrum,被當(dāng)做信息的屬性考慮,Agent的一個(gè)例證可能有多組Aiac-UJe梆54■€agent."■:ute--、tormal

attributesagentid=1DDtinestEp=J304jj rum=24iifleSta唧=J1.51jar-zsccrtcEp-xlrum=24=J530IjOpeSCeihLeSruffl=23固定屬性<<executeQnDutx>>操作表示在每個(gè)工作循環(huán)周.期上運(yùn)行的操作。操作的行為在一個(gè)序列圖表中被定義。被提議的uml架構(gòu)呈每個(gè)含有<<agentType>>的類一定有一個(gè)有<<executeOnDuty>>的操作員。3.2序列圖圖5表示一個(gè)例子序列圖表以定義的UML架構(gòu)。序列圖表的目的是通過選擇仿生行為的操作來定義Agent操作喚起他們。一個(gè)序列圖表隱藏執(zhí)行的細(xì)節(jié)而且讓實(shí)際應(yīng)用開發(fā)者在一個(gè)比較高度的抽象化層次工作,而且實(shí)際應(yīng)用開發(fā)者能通過開發(fā)Agent運(yùn)轉(zhuǎn)狀態(tài)不同的方法快速探究設(shè)計(jì)空間。?3Ben1:TypE?

:FlucrometerAgentQfriJ |(getSensorHeadingO>3DD] |ref.

emitPhenomDnB(REFLICAT1OH,1.getSein&QrReadingO)他們能被提到為InteractionUses,用標(biāo)簽有ref的一個(gè)長(zhǎng)方形來表現(xiàn)。如第作循環(huán)周opt和alt。如第作循環(huán)周opt和alt?;驘o(wú)發(fā)生。J |[aensePlierornonesfREPLICATION, |.1呷所描述?°含有固定類型破x甲^呻品樹的操作方式在每個(gè)工上運(yùn)行。一個(gè)序列圖表定義使用Int這opt操作員指定一個(gè)被附上的碎在序列圖表中,Agent行為在圖2erSLtionOperators的控制流程好比片表現(xiàn)行為的選擇,于此行為發(fā)生的A珂類何定義為操*

migrate巳而且在圖5的序列圖表定義一個(gè)運(yùn)算法則,稱為GossipFiltering,判斷當(dāng)一個(gè)Agent傳達(dá)給一個(gè)基站訊息。如果現(xiàn)在的感應(yīng)器讀取,因getSensorReading操作而獲得,超過300(nm),Agent會(huì)進(jìn)行檢查。如果遭遇該情況, Agent使用emitPheromone操作對(duì)播現(xiàn)在的感應(yīng)器讀取一個(gè)鄰近廣跳躍節(jié)點(diǎn)為一個(gè)復(fù)制信息素。在那之后,Agent檢查是否鄰近的復(fù)制信息素的平均超過300(nm)。每個(gè)平臺(tái)保存每個(gè)鄰居復(fù)制信息素評(píng)價(jià)被emitPheromone送,和sensePheromones操作取回他們。第二個(gè)爭(zhēng)論敘述逐跳的數(shù)字舉例來說,存取0個(gè)方法操作取回只有一個(gè)本地的節(jié)和它取回一下單腳跳的數(shù)據(jù)鄰居的1個(gè)方法的數(shù)據(jù)。當(dāng)?shù)诙N情況被遭遇,一個(gè)Agent依照等式2復(fù)制它本身而且移動(dòng)到一個(gè)基站。3.3實(shí)例圖解圖6表示例子UML架構(gòu)定義實(shí)例圖表,而且圖7表示能被用于實(shí)例圖表的固定類型的定義。=U

■:

口履...J;,istnsaAcrie-id=i■Ewe□■宜de、Ise-BD-MzlEl-Vodtfrtt■ifSe-Eo-:istnsaAcrie-id=i■Ewe□■宜de、Ise-BD-MzlEl-Vodtfrtt■ifSe-Eo-:2d出nWebtireessji*.□iCE-n-Rjte=]仍d-6□□KtEnn={x=]aaJ.y=naJi=a5O3FF■占 =]SdsensingRange-價(jià)值表現(xiàn)感應(yīng)器唧知范"被提議的_:UML描繪定義不只有固定類型但是也Platform摘要定義一組操作平臺(tái)的類能喚起。每個(gè)節(jié)點(diǎn)在圖7被定義像NodeWithFSensor類一樣的Platform類的一個(gè)子集。UML2.0nietaniadel如圖6所說明,一個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)被描述為擴(kuò)充Platform類的類的一組實(shí)例。每個(gè)實(shí)例有三個(gè)屬性;id,position,和commrange.分別地表現(xiàn)節(jié)點(diǎn)的身份,物理位置和溝通范圍。屬性狀態(tài)和commrange是可選擇的。對(duì)于敘述他們的位置的兩個(gè)節(jié)點(diǎn)的每個(gè)組合,他們的溝通通道的質(zhì)量從他們和他們的commranges之間的距離被計(jì)算。溝通途徑的質(zhì)量當(dāng)做一點(diǎn)點(diǎn)被表現(xiàn)錯(cuò)誤率,范圍(0,100)中的價(jià)值在表現(xiàn)被一個(gè)來源節(jié)點(diǎn)送的一點(diǎn)點(diǎn)將會(huì)被損壞的可能性(輕拋)當(dāng)一個(gè)目的地節(jié)點(diǎn)接受它。舉例來說,因?yàn)樵趫D6(比較低的權(quán)利)中有id6,8和9的節(jié)敘述他們的位置和commranges,他們的溝通途徑的質(zhì)量從他們的距離和溝通范圍被計(jì)算。一個(gè)含有固定類型的<<wirelessLink>>的鏈接能被用來直接地?cái)⑹鰷贤ㄍǖ赖馁|(zhì)量。這附以簽條一價(jià)值bitErrorRate表示一點(diǎn)錯(cuò)誤率。它使WSN得一個(gè)簡(jiǎn)單的無(wú)線模型模擬便利,也就是,一點(diǎn)點(diǎn)錯(cuò)誤率在溝通范圍里面被修理。而且,從兩個(gè)節(jié)之冏的距離計(jì)算這附以簽條一價(jià)值bitErrorRate能忽略一點(diǎn)錯(cuò)誤率。它允許模擬情形哪一溝通通道的質(zhì)量不能夠從節(jié)之冏的距離被計(jì)算。舉例來說,當(dāng)兩個(gè)節(jié)之冏有一個(gè)障礙,他們的溝通通道的質(zhì)量大大降低。在圖6,因?yàn)楣?jié)點(diǎn)用id8和9(比較低的權(quán)利)與一個(gè)含有<<wirelessLink>>的鏈接相連接,不管他們之

冏的距離他們的溝通通道質(zhì)量一起指定這附以簽條一價(jià)值的bitErrorRate。4、模型與代碼之間的轉(zhuǎn)換這一個(gè)章為每個(gè)UML圖表描述變形規(guī)則的細(xì)節(jié)。一組UML圖表,也就是,類、序列和實(shí)例圖表,為一個(gè)WSN模擬器被轉(zhuǎn)換成compilable密碼和一個(gè)結(jié)構(gòu)文件。因?yàn)槊總€(gè)agent在AgentScript被實(shí)現(xiàn),也就是,TinyScript的延長(zhǎng)實(shí)現(xiàn)BiSNET實(shí)際應(yīng)用,類和序列圖表在AgentScript主要地被轉(zhuǎn)換成代碼。而且,班級(jí)圖表被轉(zhuǎn)換成定制支援新信息結(jié)構(gòu)的BombillaVM的nesC密碼。一個(gè)例證圖表被轉(zhuǎn)換成一個(gè)在模擬器中指定WSN布局的結(jié)構(gòu)文件。4.1Agents的轉(zhuǎn)換規(guī)則含有<<agentType>>的類被轉(zhuǎn)換成兩個(gè)agent的類型,也就是,靜止、移動(dòng)的agent。一個(gè)靜止的agent停留在一個(gè)節(jié)點(diǎn)上,獲得感應(yīng)器讀取和感應(yīng)/釋放信息素。當(dāng)一個(gè)靜止的agent傳達(dá)給一個(gè)基點(diǎn)訊息,它復(fù)制它本身產(chǎn)生一個(gè)移動(dòng)的agent。一個(gè)移動(dòng)的agent帶感應(yīng)器讀數(shù)到基點(diǎn)。列表1是在圖2從類圖表代碼被分段產(chǎn)生的一個(gè)代碼的片段。它被部署在每個(gè)感應(yīng)器節(jié)點(diǎn)上而且當(dāng)節(jié)點(diǎn)被激活時(shí)運(yùn)行一次靜止agent的初始化。Listing1:Agent[nitializationCodejgent=crejte_5tatianary_agentO;if(get_n{ide_type(J==Fluorometer)thenset_5ensor_typeCaganthFluorometer^:;set_energy_conversiun_rate{agent,5);set_iLgrai:ion_weight(agent,EASETATlo?i_PHEROMOB(E,5#):set_iigration_weight(agent,MlGRATlON_PHERor{0?iE.ss);set_iigration_weight(agent,REplicatiok_pheromone.-5SJ;前非ifCget_node_type=infrared^then電ndifendif一個(gè)靜止的agent通過create_stationary_agent()實(shí)例化。然后代碼檢測(cè)支持get_node_type()節(jié)點(diǎn)的傳感器的類型,舉例來說,螢光計(jì)感應(yīng)器,紅外線的感應(yīng)器或溫度感應(yīng)器。當(dāng)與agent的類型一起指定的這附以簽條一價(jià)值類型(圖2)相同于感應(yīng)器的類型,一個(gè)靜止的agent被配置基于它的附以簽條一價(jià)值。一個(gè)符合有VVexecuteOnDuty>>的一個(gè)操作員的序列圖表被轉(zhuǎn)換成AgentScript代碼,而且代碼在每個(gè)工作循環(huán)周期上被運(yùn)行。列表2是序列產(chǎn)生的一個(gè)代碼碎片,在圖5的圖表.[.isting2:AgentliehaviorCodeagents=get_l<]€al_agentsO;Ggents_agent=agents[&];

privatenode_id=get_naxt_hopO;privatenum_of_Ggerit5=bsizeCagents);ifCget_sensor_readiutg(}>35&)thenphEr(jmone_emissionCs_agent,REPLICATIONH1,gat_serLsnr_reading());i£Csum(pheromone_sensing(8)5/sizeCpherDinoiie_5en5ing thenreplicationfs_agent};fori=1tonum_of_agGnts-1migrationtagentsEi]):neitiandifendifBiSNET限制那些agent的類型能運(yùn)行某一個(gè)行為。舉例來說,靜止agent能運(yùn)行復(fù)制行為,但是不能夠運(yùn)行移動(dòng)行為。被提議的UML架構(gòu)隱藏這些限制,而且實(shí)際應(yīng)用開發(fā)者不需要考慮哪一個(gè)agent運(yùn)行哪一個(gè)行為。合成碼由適當(dāng)agent上喚起行為。在項(xiàng)目表2,一個(gè)儲(chǔ)存agent,每個(gè)平臺(tái)維持列表的agent,被分配到可變的s_agent(第1行)。emit_pheromone和復(fù)制操作被委托s_agent。轉(zhuǎn)移行動(dòng)被委托agent名單中被儲(chǔ)存的每個(gè)移動(dòng)的agent。呼叫操作的情況從情況被產(chǎn)生以輸入順序定義了圖表(圖5).4.2虛

溫馨提示

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

評(píng)論

0/150

提交評(píng)論