CPNTOOLS 舉例

CPNTOOLS 舉例

ID:39538210

大?。?28.50 KB

頁數(shù):7頁

時間:2019-07-05

CPNTOOLS 舉例_第1頁
CPNTOOLS 舉例_第2頁
CPNTOOLS 舉例_第3頁
CPNTOOLS 舉例_第4頁
CPNTOOLS 舉例_第5頁
資源描述:

《CPNTOOLS 舉例》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、簡單協(xié)議SimpleProtocol協(xié)議系統(tǒng)的CPN模型如下所示。它包括三個部分。Sender部分有兩個變遷,它們能SendPackets(發(fā)包)和ReceiveAcknowledgments(收到確認)。Network部分有兩個變遷:TransmitPackets(傳送包)和TransmitAcknowledgments(傳送收到確認)。最后,Receiver部分有一個單獨的變遷,它能ReceivePackets(收到包)(和發(fā)送確認)。Sender和Network之間的接口包括庫所A和D,Network

2、和Receiver之間的接口包括庫所B和C。待發(fā)送的包被放在庫所Send中(在左上角)。庫所中的每個托肯包含了一個包的編號和包的數(shù)據(jù)內(nèi)容(表示為文本字符)。庫所NextSend包含了待發(fā)送的下一個庫所的編號。這個編號最初是1,然后每收到一次收到確認,就進行一次更新。接收到的消息的內(nèi)容保存在庫所Received中(在右上角)。這個庫所包含了一個帶有文本字符串的單獨的托肯,該文本字符串是收到包包含的文本字符串的串聯(lián)(忽略了重復(fù)的內(nèi)容和無序的包)。Received中最初的文本字符串是空,如:””。在發(fā)送的最后,我

3、們希望Received含有字符串”ModellingandAnalysisbyMeansofColouredPetriNets”。庫所NextRec含有待接收的下一個包的編號。該編號初始為1,每次成功地接收到包之后都會進行更新。我們沒有模擬:Sender是如何把一個消息分成一系列的包;Receiver是如何把包重新組織成一個消息的;在發(fā)送的末尾如何移除Send和Received的托肯;NextSend和NextRec中包的數(shù)量如何重置為1?,F(xiàn)在來看一下協(xié)議系統(tǒng)中五個不同的變遷。SendPacket通過在庫所

4、A中創(chuàng)建包的副本,向Network發(fā)送一個包。NextSend中的數(shù)字說明了要發(fā)送的是哪個包。應(yīng)該注意的是,包沒有從Send中移出,NextSend中的計數(shù)器也沒有增長。原因是,包可能會丟失,因此需要轉(zhuǎn)發(fā)retransmitted。我們的協(xié)議是悲觀的,從某種意義上說,它繼續(xù)重復(fù)了同一個包——直到它收到了接收確認,告知已經(jīng)成功地收到了包。TransmitPacket通過把相應(yīng)的托肯從A移到B,把來自Network中Sender站點的包發(fā)送給Receiver站點。布爾表達式Ok(s,r)決定了包是被成功地發(fā)送還

5、是丟失了。變量r綁定了它顏色集中任意的值(如:1和10之間任意的整數(shù))。CPNTools在10個值之間進行了公平的選擇。如果r的值小于或等于s值,函數(shù)Ok返回true。這說明,成功發(fā)送的概率是由庫所SP的托肯決定的。我們已經(jīng)給了SP一個值為8的托肯.因此,我們有80%的機會可以成功發(fā)送。簡單地改變SP的托肯值,就可以很容易地修改該比率。ReceivePacket收到了一個包,檢查包的編號n是否和NextRec中的編號k一致。當兩個編號匹配時,NextRec中的號碼增加1,包中的文本字符串連接到Receive

6、d中的文本字符串——直到stop=“########”,這習(xí)慣上表示消息的結(jié)束。否則,包被忽略,NextRec中的數(shù)量保持不變。在兩種情況下,都發(fā)送了確認acknowledgement,該確認中包含了Sender應(yīng)該發(fā)送的下一個包的數(shù)量。TransmitAcknowledgement通過從C到D移動相應(yīng)的托肯,發(fā)送了一個從Network中Receiver站點到Sender站點的確認。變遷的工作方式和TransmitPacket是類似的。這說明,確認可能被丟失,其概率是由庫所SA中的托肯決定的。Receive

7、Acknowledgment收到了一個確認,通過用確認中的值代替舊值,更新了NextSend中的數(shù)量。在很多步之后,CP-net可能達到中間的標識,如下所示。從網(wǎng)的左手邊開始,我們看到,sender正在發(fā)送號碼3的包。我們還能看到,該包的三個拷貝出現(xiàn)在庫所A和B中。從網(wǎng)的右手邊我們看到,字符串”ModellingandAnalysisb”已經(jīng)接受到了(Received)。這是開始的三個包的內(nèi)容,接收者正在等待號碼4的包。因此,當A和B的包到達接收者時,這些包被忽略了。我們還能看到,兩個確認出現(xiàn)在庫所D上。當

8、ReceiveAcknowledgment發(fā)生時,NextSend將被更新為4,然后發(fā)送者將開始發(fā)送號碼為4的包。當最后一個包(帶有”########”)被接收者成功接收是,NextRec得到了值9(比包的號碼大1)。該值將與發(fā)送者溝通(通過一個確認),NextSend將被更新為9,發(fā)送將停止——因為不存在該號碼的包。在庫所A,B,C,D清除了包/確認的幾步之后,CP-net將達到一個最終的死標識,見下圖。盡管這

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。