- 相關推薦
基于分層思想的基本通信系統(tǒng)CPN建模論文
摘要:針對通信系統(tǒng)建模復雜度高、可靠性差、模型缺乏形式化驗證方法以及可重用性差的問題,提出一種基于分層思想,并結合面向?qū)ο蟮母拍,利用著色Petri網(wǎng)(CPN)對基本通信系統(tǒng)進行建模的方法。該方法融合CPN和面向?qū)ο蠹夹g的優(yōu)點,從形式化、可視化的角度描述基本通信系統(tǒng)的運行過程。以一個簡單的基本通信系統(tǒng)為例進行建模,證明該模型與實際系統(tǒng)中的對象可以相互對應,易于理解和實現(xiàn)。
關鍵詞:基本通信系統(tǒng);分層思想;對象子網(wǎng);著色Petri網(wǎng);建模
1概述
隨著計算機網(wǎng)絡技術的發(fā)展,通信系統(tǒng)越來越復雜,體現(xiàn)出空間分布性、并發(fā)性、異步性、不穩(wěn)定性、多樣性和實時性等特點,不能僅靠工程直覺方法設計出高質(zhì)量的系統(tǒng)[1]。
基本通信系統(tǒng)由發(fā)端設備、收端設備、傳輸媒介以及三者之間的關系網(wǎng)絡構成,是一種較為普遍的通信系統(tǒng)結構。
基于計算機技術對基本通信系統(tǒng)進行分析、建模和驗證,從而提高系統(tǒng)的可靠性和可維護性,已經(jīng)成為十分重要和普遍的研究課題。
目前,普遍采用面向?qū)ο蟮慕TO計方法對基本通信系統(tǒng)進行建模,用UML標準建模語言對模型進行描述。系統(tǒng)的結構模型用類圖描述,而系統(tǒng)的動態(tài)模型用交互圖和順序圖描述。使用UML構建的模型清晰易懂,模型中類的概念可以直接與系統(tǒng)的代碼實現(xiàn)相對應。但是,面向?qū)ο蟮姆治龊驮O計方法缺乏形式化基礎,對建立的模型缺乏嚴謹?shù)姆治龊万炞C手段[2]。
作為一種形式化建模方法的Petri網(wǎng)[3],能夠方便有效地描述帶有并發(fā)性、異步性、分布性、非確定性、并行性的系統(tǒng),被廣泛地應用于基本通信系統(tǒng)的建模。該方法具備強大的數(shù)學理論基礎和嚴格的形式化描述。但是,由于模型元素的單義性,容易產(chǎn)生“狀態(tài)空間爆炸”的問題,并且建立的模型對系統(tǒng)的依賴性很高,也容易導致模型可重用性差。
為了解決上述問題,結合著色Petri網(wǎng)[4](Colored Petri Net,CPN)和面向?qū)ο蟮募夹g,本文針對基本通信系統(tǒng),提出了一種基于分層思想[5]的CPN建模方法。利用分層思想對基本通信系統(tǒng)進行劃分,降低系統(tǒng)結構的復雜性,減少“狀態(tài)空間爆炸”的問題;將面向?qū)ο蟮母拍钜隒PN,并利用CPN中的顏色集描述系統(tǒng)的工作狀況,以提高模型的正確性、可維護性和可重用性。
2基本通信系統(tǒng)的分層
一般來講,基本通信系統(tǒng)由發(fā)送端、接收端以及兩者之間的通信關系構成,這也可以視為基本通信系統(tǒng)的第1層。
發(fā)送端和接收端內(nèi)部各對象之間,以及對象與外界之間的通信關系定義為第2層。通信關系一般包括建立連接、即時通信與斷開連接3種。根據(jù)通信關系的不同,確定了對象之間不同的通信內(nèi)容,從而形成不同的網(wǎng)絡結構。同時,不同的通信關系也形成了各個對象內(nèi)部不同相關的操作與狀態(tài)。所以,對象內(nèi)部的操作與狀態(tài)定義為第3層。其形式定義為:定義1一個基本通信系統(tǒng)為一個三元組:SYS=(O,Net,I)。其中,O表示發(fā)送端對象;I表示接收端對象;Net表示根據(jù)兩者之間的通信關系而確定的網(wǎng)絡結構。
通信關系一般包括建立連接、即時通信和斷開連接3種類型。根據(jù)通信關系的不同,可以定義基本通信系統(tǒng)的不同的網(wǎng)絡結構。
定義2基本通信系統(tǒng)的網(wǎng)絡結構為一個四元組:Net=(OBJ,R,ST,G)。其中,OBJ表示非空有限對象子網(wǎng)集合,是由發(fā)送對象子網(wǎng)和接收對象子網(wǎng)構成的,即OBJ{OBJ|1,2,,}i=i =n;R表示對象子網(wǎng)間的通信關系集合,即R={建立連接,即時通信,斷開連接};ST是替代變遷;G是一種特殊的變遷,稱為“門”變遷,起到對象子網(wǎng)間消息傳遞作用。
定義3對象OBJi表示為CPN(既可以是發(fā)送對象子網(wǎng)中的對象,也可以是接收對象子網(wǎng)中的對象),定義為一個九元組:OBJ(,P,T,F,N,C,G,E,I)i=Σ。其中:(1)Σ是非空托肯顏色集合(Color Set),決定了在網(wǎng)描述中所使用的token類型、運算和函數(shù);
(2)P是有限庫所集,P={PP,MP},PP是基本狀態(tài)庫所,MP={OMP,IMP}是用于對象間消息傳遞的輸入輸出消息庫所;
(3)T是有限變遷集;
(4)F是有限弧集,P ∩T=P ∩F=T ∩F=Φ;
(5)N是節(jié)點函數(shù),定義為N:F→(P ×T)U(T ×P),映射每一個弧到一個節(jié)點對,且前一個節(jié)點為源節(jié)點,后一個節(jié)點為目標節(jié)點,這2個節(jié)點類型不同,一個是變遷,另一個是庫所;
(6)C:P→Σ是顏色函數(shù),把每一個庫所p∈P映射到顏色集C(p),p中每一個token顏色必須屬于C(p);
(7)G是保護函數(shù),映射T到布爾型;
(8)E是一個弧表達式函數(shù),定義為從F到表達式的函數(shù)E(f),使得MS?f ∈F:(Type(E(f))=C(p))∧(Type(Var(E(f)))?Σ),即弧表達式函數(shù)映射每個弧f∈F到一個表達式,且這個表達式的類型是C(p)MS,E(f)的每一個求值都生成一個依賴于相鄰庫所顏色集的多重集;
(9)I是初始化函數(shù),映射每一個p∈P到一個閉表達式,且這個表達式是C(p)上的多重集,即?p ∈P:Type(I(p))=MSC(p)。
其中,用類型Type()映射表達式或變量的類型值,分別為Type(expr)或Type(v);函數(shù)Var(expr)表示表達式expr中的變量的集合;B表示布爾類型值,即true或false;C(p)MS表示顏色集C(p)上的多重集;不含任何變量的表達式稱為閉表達式[6]。
圖1是根據(jù)以上定義建立的一個簡單通信系統(tǒng)模型的例子,采用CPN Tools輔助繪制。
圖1表示的是一個只包含一個發(fā)送端設備和一個接收端設備的通信系統(tǒng),通信關系為建立連接的系統(tǒng)模型。建立連接的過程可簡單描述為:(1)發(fā)送端發(fā)送hello數(shù)據(jù)包給接收端;(2)接收端接收后反饋發(fā)送端一個hello數(shù)據(jù);(3)通信連接建立。
在圖1中,由發(fā)送端對象S_O和接收端對象R_I構成第1層模型,用矩形框與雙向箭頭表示;發(fā)送對象send和接收對象receive之間的通信關系是第2層模型,用圓角矩形表示;2個對象內(nèi)部的狀態(tài)和操作是第3層模型。
在圖1中,用圓角矩形來表示對象,對象所屬的變遷和庫所被封裝在對象內(nèi)部,對象的外部接口由消息接口、門以及它們之間的流關系給出。庫所上的小圓內(nèi)的數(shù)字表示庫所當前所含的token數(shù)目。各對象內(nèi)部的庫所顏色集分別可以有若干token,各token所處的庫所表示各對象的當前狀態(tài),隨著變遷的引發(fā),顏色token從一個庫所移動到另一個庫所,相應地,對象也從一個狀態(tài)變化到另一個狀態(tài)。
上述基本通信系統(tǒng)的形式描述為:第1層SYS=(S_O,NET,R_I);第2層Net=({send,receive},{建立連接},Φ,{T1,T2});第3層是對2個對象子網(wǎng)send和receive的描述,這2個對象子網(wǎng)都只包含一個對象,以send為例,send={Σ,P,T,F,N,C,G,E,I},其中,Σ={STRING,BOOL|colsetSTRING=string,colset BOOL=boolean};P={P0,P1,P2,P3,P21,P24};T={T21,T22};C(P)={STRING,BOOL},弧表達式見圖1,I(P24)=“hello”;對象receive與send類似,圖1中未使用保衛(wèi)函數(shù)。
3建模方法及模型驗證
3.1建模方法利用上述定義建模一個基本通信系統(tǒng),首先要了解該通信系統(tǒng)在不同階段對象之間的通信關系;然后對每個階段的執(zhí)行過程進行詳細描述。對通信系統(tǒng)及其執(zhí)行過程進行整體把握后,分以下3步創(chuàng)建系統(tǒng)的各層CPN模型:(1)從基本通信系統(tǒng)中抽象出發(fā)送端對象和接收端對象,從整體上把握系統(tǒng)的網(wǎng)絡結構,形成第1層系統(tǒng)模型。
(2)根據(jù)整個通信系統(tǒng)所處的運行階段,抽象出發(fā)送對象子網(wǎng)與接收對象子網(wǎng),并確定兩者之間的通信關系,同時,將其中相關的對象提取出來,給出對象子網(wǎng)內(nèi)部的各個對象之間、以及它們與外界的交互關系,形成第2層模型。該模型清晰地描述出在通信系統(tǒng)所處的運行階段各個對象子網(wǎng)之間的通信關系,并顯示了對象子網(wǎng)內(nèi)部的相關信息。
(3)對于對象子網(wǎng)中的每個對象進行更進一步的細化,給出對象子網(wǎng)內(nèi)部的各個對象的詳細描述,建立第3層模型,該模型描述了每個對象內(nèi)部的操作和狀態(tài)。
3.2模型驗證
在定義1中描述了一個基本通信系統(tǒng)的發(fā)送對象與接收對象之間一般存在的3種關系:建立連接關系,即時通信關系以及斷開連接關系。通信系統(tǒng)建模期間是基于這3種關系分別建立CPN模型的。
對于每一種關系所建立起來的模型,應用普通CPN的公式化驗證方法(如狀態(tài)空間分析和不變量的分析方法等)就可得出所建Petri網(wǎng)模型的各種性質(zhì),從而使通信系統(tǒng)在這種關系上得到驗證。
在此基礎上,將建立連接模型的輸出作為即時通信模型的輸入,將即時通信模型的輸出作為斷開連接模型的輸入,把整個通信系統(tǒng)的各個階段的模型連接起來,從而使得通信系統(tǒng)在整個通信過程中得到嚴格的分析和驗證。
4系統(tǒng)建模實例
本文以一個簡單的基本通信系統(tǒng)為例說明如何進行分析并建立模型,因為主要解決系統(tǒng)建模的問題,所以忽略與本文討論無關的問題,例如數(shù)據(jù)幀格式等。
4.1基本通信系統(tǒng)及通信過程描述該基本通信系統(tǒng)采取“一去一回”的簡單數(shù)據(jù)傳送方式,通信仍然分為3個階段:建立通信連接階段,進行即時通信階段和斷開通信連接階段。本文以建立通信連接為例來說明整個建模過程,其他2個階段與其情況相似,先不予討論。
建立通信連接階段所采用的通信過程如下:
(1)由發(fā)送端發(fā)起進行連接,發(fā)送攜帶協(xié)商參數(shù)的初始化信息給對方接收端;
(2)接收端檢查從發(fā)送端發(fā)來的信息,如果信息中攜帶的參數(shù)能夠被接受,則自己也發(fā)一個初始化信息給發(fā)送端,并攜帶參數(shù);
(3)發(fā)送端檢查接收端發(fā)送來的參數(shù),如果認同,對接收端發(fā)送keep alive消息,接收端收到后也發(fā)送keep alive消息,連接建立。
4.2通信系統(tǒng)的CPN模型
該通信系統(tǒng)僅存在一個發(fā)送端設備和一個接收端設備,針對這種情況,確定5個對象子網(wǎng)中各存在一個對象。該通信系統(tǒng)可以用一個三層的模型結構來描述。
基于通信過程中提出的“一去一回”的交互方式,以建立通信連接為例,通信系統(tǒng)模型如圖2所示。
在圖2所顯示的模型中,在第1層模型中,如圖2矩形框與雙向箭頭顯示,從整體上確定了系統(tǒng)結構;在第2層模型中,如圖2圓角矩形顯示,描述了2個對象子網(wǎng)之間的通信關系;在第3層模型中,對于每個對象進行了詳細建模,描述了在建立連接過程中對象內(nèi)部所有的操作以及經(jīng)歷的狀態(tài),并且顯示了與接口的數(shù)據(jù)傳遞關系。
4.3模型的驗證
本文采用可達圖的方法對圖2的模型進行驗證。P={P1,P2,P3,P4,P5,P6,P21,P22,P23,P24,P25,P26,P27,P28},初始標識為[10000000101111]T,如圖3所示。
從圖4中可以看到,隨著時間輪數(shù)的延長,節(jié)點存活數(shù)量都隨之下降,與LEACH協(xié)議和文獻[11]中節(jié)點存活數(shù)量相比,本文算法的存活節(jié)點大于上述協(xié)議和算法。從而說明了本文算法中節(jié)點剩余能量高于LEACH協(xié)議和文獻[11]中節(jié)點的剩余能量,進而延長了網(wǎng)絡生存周期,優(yōu)化了網(wǎng)絡資源。
第3種情況是選擇不同覆蓋區(qū)域100 m×100 m、200 m×200 m、400 m×400 m,比較不同區(qū)域覆蓋率變化情況,如圖5所示。從圖5中可以看到,隨著網(wǎng)絡規(guī)模的擴大,要滿足一定的網(wǎng)絡覆蓋率需求時,所須部署節(jié)點的數(shù)量也會隨之增加,并且網(wǎng)絡的覆蓋率越高,需要部署節(jié)點的數(shù)量增加得越快,要實現(xiàn)不同區(qū)域完全覆蓋的前提是在覆蓋區(qū)域內(nèi)完成對不同目標節(jié)點的完全覆蓋?梢钥闯,在不同的覆蓋區(qū)域內(nèi),完成對目標節(jié)點覆蓋也需要不節(jié)點數(shù)量,在對某一區(qū)域內(nèi)進行時,不同的區(qū)域所覆蓋的范圍也是不同的。在滿足一定覆蓋要求下,以相同的節(jié)點數(shù)作為基數(shù),對100 m×100 m區(qū)域進行覆蓋所需節(jié)點最少,而400 m×400 m需要的節(jié)點最多。
6結束語
通過對無線傳感器網(wǎng)絡理論分析,本文提出一種基于事件驅(qū)動的覆蓋算法。該算法利用傳感器節(jié)點與目標節(jié)點之間的關聯(lián)和喚醒機制完成了對監(jiān)測目標區(qū)域的覆蓋,通過節(jié)點與目標節(jié)點之間的關聯(lián)屬性確定最多目標集和最小節(jié)點集,而后對其優(yōu)化,降低了整個網(wǎng)絡能量的消耗,延長了網(wǎng)絡生命周期。通過對LEACH算法和不同覆蓋區(qū)域進行仿真實驗后,驗證了該算法的有效性和適應性。下一步研究的重點是如何布置最少節(jié)點實現(xiàn)對邊界區(qū)域K度覆蓋以及如何設計和完善節(jié)點移動控制機制,從而進一步提高事件監(jiān)測概率。
【基于分層思想的基本通信系統(tǒng)CPN建模論文】相關文章:
基于SNMP及串口通信的網(wǎng)絡監(jiān)控與報警系統(tǒng)03-07
基于OFDM的UWB無線通信系統(tǒng)的研究03-07
計算機通信系統(tǒng)的構建論文11-16
基于VB的分布式監(jiān)控系統(tǒng)通信設計03-18