omnet++:官方文檔翻譯總結(一)


1、什么是omnet++

翻譯總結自:What is OMNeT++?

omnet++是用來進行網絡仿真的C++庫和框架。這里的網絡包括有線、無線、on-chip、queueing網絡等等。特定領域中的網絡,例如ad-hoc網絡也包含在這個框架下,並被擴展為獨立的工程項目。

雖然omnet++自己不是一個網絡仿真器,但是卻可以實現網絡仿真平台的功能。omnet++提供了組合性的模型架構。各模塊用C++編程,然后用NED語言部署成為一個更大的組件和模型。

omnet組件

  • 仿真核心庫(C++)
  • NED語言
  • 基於Eclipse平台的仿真IDE
  • 交互性的仿真運行時GUI(Qtenv)
  • 執行仿真過程的命令行接口(Cmdenv)
  • 各種工具(各種creation tool等等)
  • 文檔,很多樣本等等

Models

目前OMNET++支持的模型包括:

  • queuing
  • resource modeling
  • 互聯網協議
  • 無線網絡
  • switched LANs
  • p2p網絡
  • 流媒體
  • 移動ad-hoc網絡
  • mesh網絡
  • 無線傳感網絡
  • 車載網絡
  • NoCs
  • 光纖網絡
  • HPC系統
  • 雲計算
  • SANs
  • 等等

所有的這些模型框架都是開源的,已經發展成為了獨立的工程項目了。

 

INET框架可被視為omnet++的標准協議模型庫。INET包含了網絡棧、多協議、許多組件的模型。其他一些仿真框架也是基於INET的,並且在獨特的方向上擴展開來。

2、用omnet++進行仿真

翻譯總結自:Simulation with OMNeT++

本節將對如何使用omnet++進行一個總覽:

  1. 一個OMNET++ model是用一些組合模塊構造的,這些模塊之間通過交換信息進行交流。一些模塊可以組合到一塊構成一個Compound Module。創建模型時,我們需要把我們的系統映射到層次性的通信模塊中。
  2. NED語言定義模塊結構。我們可以在兩個地方編輯NED程序——1)文本編輯器中;2)圖形編輯器中;這兩個在IDE中分別是DesignSource
  3.  模型中各模塊的邏輯活動需要在cpp文件中通過C++編程實現,使用各種仿真核心類庫;

  4. omnetpp.ini中進行OMNET++的網絡配置參數設置。一個配置文件可以同時描述多個具有不同參數的仿真網絡的運行;
  5. 構建仿真程序並運行。我們需要將OMNET++仿真核心中實現的代碼和OMNET++提供的用戶界面相鏈接。用戶界面分為命令行、交互性、圖形用戶界面三種。
  6. 仿真結果將被寫入輸出向量和輸出文件中去。我們可以用IDE中的Analysis Tool去將之可視化。結果文件是基於文本的,所有我們也可用R、Matlab和其他語言工具進行處理。

3、omnet++ IDE的總覽

這個IDE是基於Eclipse平台的。下圖展示了這個IDE的主頁面:

 

 ①NED編輯器

NED編輯器可以用圖形文本兩種方式編輯NED文件,使用者可以在使用時隨意切換,通過下圖中的Design、Source切換:

 

 在Design模式下,我們可以創建復合模塊、信道其它類型的組件。子模塊可以用右邊的Palette中可用的模塊類型創建出來。可視和不可視的屬性可以在Properties View或者context menu對話框中進行修改。

 

 

②文本編輯器

 

文本模式允許用戶直接使用NED源代碼編程。當按下快捷鍵CTRL+SPACE之后,編輯器提供了可以感知完成上下文的keywords、module、parameter、gate、submodule。

 

 待續

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM