基于UML擴(kuò)展的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用程序建模(專業(yè)論文)
提示:
本文原版含圖表pdf版全文下載地址附后(正式會(huì)員會(huì)看到下載地址)。這里只復(fù)制粘貼部分內(nèi)容或目錄(下面顯示的字?jǐn)?shù)不代表全文字?jǐn)?shù)),有任何不清楚的煩請(qǐng)咨詢本站客服。
摘要無(wú)線傳感器網(wǎng)絡(luò)作為一種新型的無(wú)線網(wǎng)絡(luò)形式已被普遍應(yīng)用于許多領(lǐng)域。nesC語(yǔ)言編寫的TinyOS是一種基于組件的無(wú)線傳感器網(wǎng)絡(luò)的操作系統(tǒng),這使得TinyOS上的應(yīng)用程序開發(fā)不同于傳統(tǒng)面向?qū)ο髴?yīng)用程序開發(fā)。本文提出一種利用UML的擴(kuò)展機(jī)制,基于nesC語(yǔ)言的組件模型對(duì)UML的元模型進(jìn)行擴(kuò)展,支持TinyOS上應(yīng)用程序的建模的方法,并給出使用本方法對(duì)一個(gè)簡(jiǎn)單應(yīng)用程序的建模實(shí)例。
關(guān)鍵詞無(wú)線傳感器網(wǎng)絡(luò),TinyOS,nesC,UML擴(kuò)展
1引言
無(wú)線傳感器網(wǎng)絡(luò)將傳感器與無(wú)線網(wǎng)絡(luò)進(jìn)行結(jié)合,使用大量形體較小、能源受限并且配置有計(jì)算能力和無(wú)線通信能力的傳感器節(jié)點(diǎn)以Ad Hoc方式組成網(wǎng)絡(luò),能夠協(xié)作探測(cè)、感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋的區(qū)域內(nèi)的被感知對(duì)象的各種信息,已經(jīng)在軍事,基礎(chǔ)設(shè)施安全,醫(yī)療,環(huán)境,交通等各個(gè)領(lǐng)域得到廣泛的應(yīng)用L1]。
TinyOS作為一種嵌入式操作系統(tǒng),使用基于組件
……(新文秘網(wǎng)http://jey722.cn省略858字,正式會(huì)員可完整閱讀)……
Component)分兩類,配置(Con—figuration)和模塊(Module),nesC將配置和模塊予以嚴(yán)格地區(qū)分,可以使系統(tǒng)設(shè)計(jì)者快速地開發(fā)裝配應(yīng)用程序,從而使得應(yīng)用程序的設(shè)計(jì)和更新更加方便易行。這樣將不同的設(shè)計(jì)工作有效地分開,符合軟件設(shè)計(jì)的一般規(guī)則。
3UML的擴(kuò)展性UML是統(tǒng)一建模語(yǔ)言,提供一種直觀、可視化、統(tǒng)一的面向?qū)ο蠼7椒。OMG指定其為面向?qū)ο蟮臉?biāo)準(zhǔn)建模語(yǔ)言。UML提供了許多元模型,供建模人員在面向?qū)ο蠓治龊驮O(shè)計(jì)時(shí)使用,而在一些特殊領(lǐng)域的建;顒(dòng)中,原有的UML元模型不能滿足建模人員的要求。為避免UML語(yǔ)言的復(fù)雜性,UML沒有包含特殊領(lǐng)域的建模機(jī)制,而是設(shè)計(jì)了一種擴(kuò)展機(jī)制,允許用戶定義使用自己的元素‘7,8|。
UML的擴(kuò)展機(jī)制包括約束,標(biāo)記值和版型(sterotype):
1.約束是使用花括號(hào){)包含的一串字符串,其中使用形式語(yǔ)言或者自然語(yǔ)言表達(dá)語(yǔ)義的限制。
2.標(biāo)記值也是使用花括號(hào){)包含的一個(gè)鍵值對(duì),儲(chǔ)存元素的一些信息,可以與任何元素關(guān)聯(lián),是向元素添加特定附加信息的一種方法。
3.版型使用已經(jīng)定義的元模型為基礎(chǔ),不修改元模型的結(jié)構(gòu),只是賦予它新的語(yǔ)義。版型用放置在基本模型元素符號(hào)中或附近的被雙尖括號(hào)《》包圍的文字串顯示。建模人員還可為特殊的版型創(chuàng)建圖標(biāo)。
使用UML的擴(kuò)展機(jī)制,不僅可以滿足特殊領(lǐng)域的建模要求,還可以使現(xiàn)有的支持UML工具無(wú)需完全理解模型語(yǔ)義的情況下進(jìn)行存儲(chǔ)和操作。
4基于nesC組件模型的UML擴(kuò)展nesC是面向組件化編程的語(yǔ)言,它通過(guò)接口(Interface)連接(wiring)開發(fā)組件或系統(tǒng)組件,完成對(duì)一個(gè)應(yīng)用的開發(fā)。
4.1 nesC的組件模型nesC中組件(Component)分為兩類一一Con—figuration和Module。Configuration只描述不同的組件之間的連接(wiring)關(guān)系,并不提供具體功能的實(shí)現(xiàn),而Module具體實(shí)現(xiàn)了組件的邏輯功能。
Configuration中包含提供和使用的接口的聲明,可以通過(guò)UMI。中“Class”元模型元素添加名為《Con—figuration))的版型表示,為了與元模型元素class圖標(biāo)加以區(qū)別?本文使用如圖2所示的雙重邊“Class”圖標(biāo)表示,以顯示這種組件的性質(zhì)是配置文件。
Module提供組件的具體功能實(shí)現(xiàn)代碼。其首先聲明本模塊提供和使用的接口,實(shí)現(xiàn)部分包括它所提供的接口中的命令(command)和所使用的接口的事件(event)的實(shí)現(xiàn),以及其它私有方法的代碼。
同樣也可以使用UMI。中“Class”元模型元素添加名為((Module)}的版型表示。
另外參數(shù)化接口(Parameterized Interfaces),可以使用將他們的圖標(biāo)邊框用虛線替換表示。
4.2接口Interface(接口)是nesC中的一個(gè)重要概念,各個(gè)模塊之間就是通過(guò)接口相互關(guān)聯(lián),協(xié)同工作的。
Inerface中只含有命令(command)和事件(e—vent)的聲明,并不具體實(shí)現(xiàn),而是讓command在提供該接口的組件中實(shí)現(xiàn),event在使用該接口的組件中實(shí)現(xiàn)。在本文中接口使用UML中“Interface”元模型表示。
對(duì)于接口中的命令和事件,可以使用分別使用版型《command}和《event}表示。
4.3組件問的連接關(guān)系各個(gè)組件之間是通過(guò)接口的連接(wiring)相互關(guān)聯(lián)在一起的,這種連接關(guān)系在Configuration中定義。wiring可以用來(lái)連接Configuration中已聲明的元素(interface,command,event),通常稱那些在Configuration中聲明的元素為e*tenal,而那些在Configuration聲明的組件中聲明的元素為inter—nal。nesC中有三種wiring的聲明方式:“一”,“一>”和“<一。當(dāng)wiring的任何一端有一元素是e*-ternal的時(shí)候使用“一”,當(dāng)wiring的兩端都是in—ternal的時(shí)候使用“一>”或“<一,“一>”和“<一”的區(qū)別僅僅是方向。
因此連接關(guān)系可以使用版型《wiring》擴(kuò)展UML中的“association”元模型表示,方向含義與wiring中的方向含義相同,wiring兩端注明連接的接口名,并使用實(shí)線與虛線來(lái)區(qū)別“一>”和“一”。
ConfigurationModule Interface刃{wiring)),/。
圖2各種UM ……(未完,全文共6862字,當(dāng)前僅顯示2410字,請(qǐng)閱讀下面提示信息。
收藏《基于UML擴(kuò)展的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用程序建模(專業(yè)論文)》)