在分析目前網絡設備仿真建模所面臨的主要問題的基礎上,簡要介紹了DEVS規范及其基本構成要素;以以太網交換機為實例,對基于DEVS的網絡設備仿真建模技術進行了研究,并實現了仿真建模。對該網絡設備建模方法的優點做了總結,并就此建模方法在網絡設備建模中的應用前景進行了展望。
關鍵詞: 離散事件仿真規范; 交換機; 計算機仿真; 仿真模型
隨著分布交互式仿真(DIS)技術的廣泛應用,網絡仿真系統正向分布式、大規模、高復雜度的方向發展,并可能與其他類型的系統相互連接,以構成更大的、更能反映真實世界的仿真系統。因此,網絡仿真系統的設計在規范性、可靠性、可重用性等方面提出了更高的要求。目前的通信網絡都是建立在包交換的基礎之上,因此這種通信網絡的網絡仿真系統都是典型的離散事件系統,系統內實體的狀態在不均勻的離散時刻發生變換,內部機制用常規的數學方法難以描述。在工程實踐中,迫切需要一種形式化、便于轉化為程序模型的描述方法。離散事件系統規范說明DEVS是對離散事件系統的一種形式化描述,在系統論的一般系統模型的形式化基礎之上,提供了一種模塊化的系統說明方法,有利于復雜系統中各模型的抽象和仿真實現。
本文以以太網交換機為例,通過基于DEVS的規范說明方法將交換機模型解析成不同的子模型和耦合模型,并對交換機模型進行了仿真。
1 DEVS規范說明
DEVS的基本思想是將系統按功能或結構逐步分解為多級子模型,不可再分的模型為原子模型,由子模型組合而成的模型稱為耦合模型。耦合模型中,各子模型之間的關系稱為耦合。
在復雜系統的建模仿真中,原子模型描述了時間和狀態的轉移,耦合模型描述了組成它的子模型以及子模型與子模型之間的相互連接關系。在這種構造中,原子模型是基本的系統元件,它是完備的、獨立的單元,這樣一個模型只通過輸入、輸出接口與其他模型交互以達到模塊化。系統通過連接原子模型來建立耦合模型,耦合模型與其他模型組合來形成更高層次的系統。在復雜系統建模過程中,原子模型像電路元件,耦合模型像電路板,因此,建模者通過重用模塊化模型及層次化方式建造仿真模型,能顯著提高建模工程的效率和質量。
2 基于DEVS的網絡實體模型仿真實例
下面以以太網交換機為例,詳細介紹如何用DEVS規范化模型描述方法對其進行仿真。對模型構成的層次化、原子模型及耦合模型等概念進行說明。
以太網交換機實體共有四種,分別是二層交換機實體、三層交換機實體、四層交換機實體以及多層交換機實體。這里以二層交換機實體為例進行討論。
首先,依據DEVS規范化模型描述方法,可以采用 EN=
EN=
其中,N為二層交換機;TE為轉發數據;AT為AT={交換機序號、型號、版本號、端口數、端口類型、生產廠家、RAM空間、ROM Moniter、Fresh/NVROM、IOS版本、MAC地址、支持的協議};AC,CT={物理連接、加電自檢、配置};S,S={空閑、忙}。
完成交換機實體的規范化描述之后,再來看交換機的內部結構以及如何來完成交換機耦合模型及其接口耦合模型。
2.1 交換機耦合模型及其組成
按照結構劃分,以太網交換機可以分解為n個交換機接口和一個n×n的交換結構。對其結構用交換機接口、交換單元兩個子模型進行描述。以太網交換機耦合模型及子模型的層次結構及輸入/輸出關系如圖1所示。
?
其中, 交換機接口模型包含有用于分別描述輸入和輸出的兩個隊列原子模型,接口個數可能隨交換機型號不同而不同。根據不同的需求交換結構子模型可以抽象為原子模型而不作進一步分解,也可以分解為交換網絡和MAC表兩個子模型。下面以交換機接口耦合模型為例,詳細說明DEVS的定義方法,其他部分的模型描述也可以按此方法得出。
2.2 交換機接口耦合模型
交換機接口耦合模型及其子模型關系如圖2所示。為了處理出入網絡接口卡模型的數據流,將接口模型分解為兩個queue原子模型,一個用于從網絡接收數據幀,另一個轉發數據幀到網絡。這種抽象將接口的輸入輸出作為隊列模型描述。
原子模型queue隊列模型的DEVS描述為:
queue=
??? 其中:
??? X: {MAC frame, stop/response signal, done/ready signal}
??? S: { readytoProcess, waitforResponse,waitforReady, C}
??? Y: { MAC frame }
??? 隊列作為一個子系統,它的控制和狀態變化是由交換機的內部運行狀態機所決定的。交換機內部運行狀態機如圖3所示。
由分析交換機的內部運行狀態機得知,隊列可以使用如圖4所示的有限自動機進行描述。
??? 圖4中,隊列的各個狀態、它們之間的相互轉換關系以及所需觸發條件一目了然,據此可以給出隊列的內部和外部轉移函數如下。
δint (e, s):
?? {
?? case phase:
???state = nothing. /* never happens */
}
δext(e,s,x):
{
?case state:
???? readytoProcess:
case in: send 1st element on out port, send
???? average size,
send average wait,state=waitforResponse
??waitforResponse:
????? ??case in: add to end of queue, state= waitfor
??????? Response
????????response: send on reply port,state=waitfor-
?????Ready
??waitforReady:
?case in: add to end of queue
??? ?ready: state=C
?????? C:
?case true: send 1st element on out port, send
????? average size, send average wait, state=
????? waitforResponse
???????????? false: state= readytoProcess
???? }
?????? λ(s):
?? {
???????? output the MAC frame
}
時間推進函數ta是沒有外部事件到達時系統保持的時間,這里可以不作定義。
耦合模型的主要作用在于明確模型內、外輸入輸出的連接關系,交換機接口耦合模型可以描述如下:
SwitcherInterface=
X: {MAC frame,stop signal,next signal}
Y: {MAC frame}
{Md}={queueIn ,queueOut}
{Id}={IqueueIn={Switcher.in, SwitchStructure.next, SwitchStructure .stop},
?? IqueueOut={SwitchStructure.next,SwitchStructure.stop,
???????????????????? outside done signal}}
{Zid}={SwitcherInterface.in=IqueueIn. in,
???? ???? SwitcherInterface.out=IqueueOut.out}
至此,該二層交換機的仿真建模完成。
通常對于離散系統的描述可以使用集合論、系統論的形式化方法,典型的有微分方程、有限狀態機和離散事件模型等。DEVS的優勢在于將每一類這樣的模型所確定的系統的靜態和動態結構施以特定的約束,從而確定系統的分解方法。使用DEVS描述模型使離散系統仿真不再是隨意的、個人化的藝術性工作[1]。從這個意義上說,使用DEVS描述的模型克服了其他模型可復用性差、不規范以及互操作性差等缺點,以更強的規范性、確定性和可復用性等優點,更好地解決了由于網絡流量的動態變化、統計復用的隨機性及網絡的規模擴展所帶來的新問題。
目前,基于DEVS的網絡系統建模主要集中在性能仿真方面,針對功能模擬的研究比較少。其中,形式化描述比較難于理解是出現這種情況的原因之一。近年來,在基于DEVS的可視化建模方面的研究成果在一定程度上彌補了這方面的不足[3]。
此外,對于網絡仿真系統而言,模型抽象到何種層次,能夠既比較好地反映真實狀況,又不至于產生過多的運算量是一個值得深入研究的工程實踐問題。
綜上,基于DEVS的網絡設備仿真模型,采用了DEVS這種形式化的仿真建模方法,使網絡通信交換機這種離散系統的仿真建模得到規范化,其準確性和可復用性是不言而喻的。在標準化的趨勢下,基于DEVS的仿真方法可望在網絡仿真和模擬中發揮更重要的作用。
參考文獻
[1] ?黃柯棣,張金槐.系統仿真技術. 長沙:國防科技大學出版社,1998.
[2] ?Zeigler B P. 制模與仿真理論. 李育才譯. 北京:機械工業出版社,1984.
[3] ?劉忠,鄧蘇. DEVS的面向對象可視化建模. 計算機仿真,2001,18(1).
[4] ?劉寶宏,黃柯棣.基于 DEVS 的多分辨率建模形式化描述規范研究,系統仿真學報, 2005(17).
[5] ?Mohaemd Abd El-Salam, KhalilYonis, Abdul-Rahman?Elsahfei. Fourth year project report: Building a library for?parallel simulation of networking protocols,Carleton?University, Canada.
[6]? PETRIU D, WAINER G. A library of layered queuing?networks using the DEVS formalism, Proceedings of the?SCS 1st Mediterranean Multiconference on Modeling and?Simulation. Genoa, Italy. 2004.
評論