Giới thiệu về omnet++ và các vấn đề liên quan

82 740 2
Giới thiệu về omnet++  và các vấn đề liên quan

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giới thiệu tổng quan về omnetMô hình trong OmnetSử dụng Omnet để mô phỏngNgôn ngữ NEDGiới thiệu GNEDCác Module đơn giản trong omnetmessage trong omnetCHẠY CÁC ỨNG DỤNG OmnetKhi bạn đọc và làm theo tài liệu này thì bạn đã có thể mô phỏng những mô hình mạng đơn giản bằng Omnet

OMNet++ Tran g 1 1. GIỚI THIỆU 1.1. OMNeT++ là gì? OMNeT++ l à viế t t ắ t của cụm t ừ Objective Modular Network Testbed in C++. OMNeT++ l à mộ t ứng dụng cung cấp cho ngườ i sử dụng mô i trường để ti ến hành mô phỏng hoạ t động của mạng. Mục đích ch í nh của ứng dụng l à mô phỏng hoạ t động mạng thông ti n, tuy nh i ên do tí nh phổ cập và linh hoạ t của nó, OMNeT++ còn được sử dụng trong nhiều l ĩnh vực khác như mô phỏng các hệ thống thông tin phức t ạp, các mạng k i ểu hàng đợ i (queueing networks) hay các kiến t rúc phần cứng OMNeT++ cung cấp sẵn các thành phần t ương ứng vớ i các mô hình thực t ế. Các thành phần này (còn được gọ i là các modu l e) được l ập trình theo ngôn ngữ C++, sau đó được t ập hợp l ạ i thành những thành phần hay những mô hình l ớn hơn bằng mộ t ngôn ngữ bậc cao (NED). OMNeT++ hỗ trợ giao d i ện đồ hoạ, t ương ứng vớ i các mô hình cấu t rúc của nó đồng t hờ i phần nhân mô phỏng (simu l ation kernel) và các module của OMNeT++ cũng rấ t dễ dàng nhúng vào trong các ứng dụng khác. 1.2. Các thành phần chính của OMNeT++ • Thư viện phần nhân mô phỏng (simulat i on kerne l ) • Trình biên dịch cho ngôn ngữ mô t ả hình trạng (topology description language) - NED (nedc) • Trình biên t ập đồ hoạ (graphical ne t work editor) cho các fi l e NED (GNED) • Giao diện đồ hoạ thực h i ện mô phỏng, các li ên kế t bên trong các file thực hiện mô phỏng (Tkenv) • Giao diện dòng l ệnh t hực hiện mô phỏng (Cmdenv) • Công cụ (giao diện đồ hoạ) vẽ đồ thị kế t quả vec t or ở đầu ra (Plove) • Công cụ (giao diện đồ hoạ) mô t ả kế t quả vô hướng ở đầu ra (Scalars) • Công cụ tài li ệu hoá các mô hình • Các ti ện ích khác • Các t à i li ệu hướng dẫn, các v í dụ mô phỏng 1.3. Ứng dụng OMNeT++ l à mộ t công cụ mô phỏng các hoạ t động mạng bằng các module được th i ế t kế hướng đố i t ượng. OMNeT++ thường được sử dụng trong các ứng dụng chủ yếu như : • Mô hình hoạ t động của các mạng thông tin OMNet++ Tran g 2 • Mô hình giao thức • Mô hình hoá các mạng k i ểu hàng đợ i • Mô h ì nh hoá các hệ thống đa bộ vi xử lý (mu lti processer) hoặc các hệ thống phần cứng theo mô h ì nh phân tán khác (distribu t ed hardware systems) • Đánh giá kiến trúc phần cứng • Đánh giá hiệu quả hoạ t động của các hệ thống phức t ạp 1.4. Mô hình trong OMNeT++ Mộ t mô hình t rong OMNeT++ bao gồm các module l ồng nhau có cấu t rúc phân cấp. Độ sâu của của các module l ồng nhau l à không giớ i hạn, đ i ều này cho phép ngườ i sử dụng có t hể biểu diễn các cấu t rúc l ogic của các hệ thống trong t hực t ế bằng các cấu trúc mô hình. Các module trao đổ i thông ti n vớ i nhau thông qua việc gử i các message (message). Các message này có t hể có cấu trúc phức t ạp tuỳ ý. Các module có thể gử i các message này t heo hai cách, mộ t l à gử i trực ti ếp t ớ i địa chỉ nhận, ha i là gử i đ i t heo mộ t đường dẫn được định sẵn, thông qua các cổng và các kế t nối. Các module có thể có các tham số của riêng nó. Các tham số này có thể được sử dụng để chỉnh sửa các thuộc tính của modu l e và để biểu diễn cho topo l ogy của mô hình. Các module ở mức thấp nhấ t trong cấu trúc phân cấp đóng gói các thuộc tính. Các module này được co i l à các module đơn giản, và chúng được l ập trình trong ngôn ngữ C++ bằng cách sử dụng các thư viện mô phỏng. OMNet++ Tran g 3 2. TỔNG QUAN 2.1. Khái niệm mô hình hoá OMNeT++ cung cấp cho ngườ i sử dụng những công cụ hiệu quả để mô t ả cấu trúc của các hệ thống thực t ế. Các modu l e l ồng nhau có cấu trúc phân cấp Các modu l e là các đố i t ượng cụ thể của các k i ểu module Các modu l e trao đổ i thông tin bằng các message qua các kênh Các tham số của module li nh hoạ t Ngôn ngữ mô t ả topology 2.1.1. Cấu trúc phân cấp của các module Mộ t mô hình trong OMNeT++ chứa các modu l e l ồng nhau có cấu trúc phân cấp, trao đổ i thông tin vớ i nhau bằng cách gử i các message. Mỗ i mô h ì nh này thường b i ểu d i ễn cho mộ t hệ thống mạng. Modu l e mức cao nhấ t trong cấu trúc phân cấp được gọ i l à module hệ thống. Module này có thể chứa các module con, các module con cũng có thể chứa các module con của riêng nó. Độ sâu phân cấp đố i vớ i các module là không giớ i hạn, đ i ều này cho phép ngườ i sử dụng có t hể dễ dàng biểu diễn mộ t cấu t rúc l ogic của mộ t hệ thống trong thực t ế bằng cấu trúc phân cấp của OMNeT++. Cấu trúc của mô h ì nh có thể được mô t ả bằng ngôn ngữ NED của OMNeT++ module hệ thống module đơn g i ản module kế t hợp Hình I-2.1 - Các module đơn g i ản và kết hợp Các modu l e có thể chứa nhiều modu l e con và được gọ i là module kế t hợp. Các module đơn g i ản là các module có cấp thấp nhấ t trong cấu trúc phân cấp. Các module đơn giản chứa các thuậ t toán của mô hình. Ngườ i sử dụng triển khai các module đơn giản bằng ngôn ngữ C++, sử dụng các t hư viện mô phỏng của OMNeT++. 2.1.2. Kiểu module Tấ t cả các module dù là đơn g i ản hay phức t ạp đều là các đố i t ượng cụ thể của các kiểu module. Trong khi mô t ả các mô hình, ngườ i sử dụng định nghĩa ra các k i ểu OMNet++ Tran g 4 module; các đố i t ượng cụ thể của các kiểu module này được sử dụng như các thành phần của các kiểu module phức t ạp hơn. Cuố i cùng, ngườ i sử dụng t ạo module hệ thống như mộ t đố i t ượng cụ thể của k i ểu module đã được định nghĩa trước đó, t ấ t cả các module của mạng đều là module con (hoặc là con của module con) của module hệ thống. Kh i mộ t kiểu module được sử dụng như mộ t khố i dựng sẵn (building block), sẽ không thể phân biệ t đó là mộ t module đơn g i ản hay phức t ạp. Đ i ều này cho phép ngườ i sử dụng có t hể t ách các module đơn giản ra thành nhiều module đơn giản được nhúng trong mộ t module kế t hợp, và ngược l ạ i có thể t ập hợp các chức năng của mộ t module kế t hợp trong mộ t module đơn g i ản mà không ảnh hưởng g ì đến các kiểu module đã được ngườ i sử dụng định nghĩa. Kiểu module có thể được l ưu trữ trong mộ t file riêng rẽ. Đ i ều này cho phép ngườ i sử dụng có t hể nhóm các kiểu module l ạ i và t ạo ra mộ t thư viện thành phần 2.1.3. Message, cổng, liên kết Các modu l e trao đổ i thông ti n bằng việc gử i các message. Trong thực t ế, message có dạng khung (frame) hoặc là các gói ti n (packe t ) được truyền đ i t rong mạng. Các message có thể có cấu t rúc phức t ạp tuỳ ý. Các module đơn giản có t hể gử i các message đ i mộ t cách trực ti ếp đến vị trí nhận hoặc gử i đ i t heo mộ t đường dẫn định sẵn thông qua các cổng và các li ên kết. “Thờ i gian mô phỏng địa phương” (local simulation ti me) của mộ t module t ăng lên khi module nhận được mộ t message. Message có thể đến t ừ mộ t module khác hoặc đến t ừ cùng mộ t module (message của chính bản thân module - self-message được dùng để thực hiện bộ định t hời). Cổng (gate) là các giao ti ếp vào ra của module. Message được gử i đ i qua các cổng ra và được nhận vào thông qua các cổng vào. Mỗ i kế t nố i (connection) hay còn gọ i là li ên kế t (link) được t ạo bên trong mộ t mức đơn t rong cấu trúc phân cấp của các module: bên trong mộ t module kế t hợp, mộ t kế t nố i có t hể được t ạo ra g i ữa các cổng t ương ứng của ha i module con, hoặc giữa cổng của module con vớ i cổng của module kế t hợp. module cha module cha S1 S2 S1 S2 module con kế t nố i vớ i nhau module con kế t nố i vớ i module cha Hình I-2.2 - Các kết nố i Tương ứng vớ i cấu t rúc phân cấp của mộ t mô hình, các message thường di chuyển qua mộ t l oạ t các kế t nố i vớ i đ i ểm bắ t đầu và kế t thúc là các module đơn giản. Tập các kế t nố i đ i t ừ mộ t module đơn giản và đến mộ t module đơn giản được gọ i là route. Các module kế t hợp hoạ t động giống như các “cardboard box” trong mô h ì nh, “trong suốt” trong việc chuyển ti ếp các message giữa các thành phần bên trong và thế giớ i bên ngoà i . OMNet++ Tran g 5 2.1.4. Mô hình truyền gói tin Mộ t kế t nố i có thể có ba t ham số đặc trưng. Những tham số này rấ t thuận ti ện cho các mô h ì nh mô phỏng mạng thông tin nhưng không hữu dụng l ắm cho các kiểu mô hình khác. Ba tham số này bao gồm: • Độ trễ đường t ruyền (propagation delay) tính bằng s - giây. • Tỉ số l ỗ i bit, được tính bằng số l ỗi/bit. • Tỉ số dữ li ệu, được tính bằng số bit/s. Các tham số này l à t uỳ chọn. Giá t rị của các tham số này l à khác nhau t rên t ừng kế t nối, phụ thuộc vào kiểu của li ên kế t (hay còn gọ i l à k i ểu của kênh t ruyền - channe l type). Độ trễ đường t ruyền là t ổng thờ i gian đến của message bị trễ đ i khi truyền qua kênh. Tỉ số l ỗ i b it ảnh hưởng đến quá trình truyền message qua kênh. Tỉ số này l à xác suấ t các b it bị truyền sai. Do đó xác suấ t để mộ t message độ dà i n b it truyền đ i ch í nh xác là: P(message gử i đ i được nhận chính xác) = (1 - ber)n trong đó ber l à t ỉ số l ỗ i b it và n l à số bit của message. Các message truyền đ i đều có mộ t cờ l ỗi, cờ này sẽ được t h i ế t l ập kh i việc truyền message có l ỗi. Tỉ số dữ li ệu được tính theo đơn vị bit/s, và nó được sử dụng để tí nh thờ i gian để truyền mộ t gói tin. Kh i t ỉ số này được sử dụng, quá trình gử i message đ i trong mô hình sẽ t ương ứng vớ i v i ệc truyền bit đầu ti ên và message được tính l à đến nơ i sau kh i bên nhận đã nhận được b it cuố i cùng. A B Message gử i đ i truyền bị trễ Độ trễ đường t ruyền t A t B Message nhận được Hình I-2.3 - Truyền message OMNet++ Tran g 6 2.1.5. Tham số Các module có thể các tham số.Các tham số này có thể được đặ t g i á t rị trong các f i le NED hoặc các file cấu h ì nh ompnetpp.ini. Các tham số này có t hể được dùng để thay đổ i các thuộc tính của các module đơn g i ản hoặc dùng để biểu d i ễn cho t opo l ogy của mô h ì nh. Các tham số có t hể có k i ểu là chuỗi, số học, giá t rị logic hoặc cũng có t hể chứa cây dữ li ệu XML (XML data tree). Các biến kiểu số trong các biểu thức có thể nhận giá trị t ừ các tham số khác, gọ i hàm, sử dụng các biến ngẫu nhiên t ừ các nguồn phân tán hoặc nhận giá trị trực ti ếp được nhập vào bở i ngườ i sử dụng. Các tham số có k i ểu số có t hể được dùng để cấu h ì nh topology rấ t dễ dàng. Nằm t rong các module kế t hợp, các tham số này có t hể được dùng để chỉ ra số module con, số cổng giao ti ếp và cách các kế t nố i nộ i bộ được t ạo ra. 2.1.6. Phương pháp mô tả topology Ngườ i sử dụng dùng ngôn ngữ NED (Network Descr i ption) để mô t ả cấu t rúc của các mô hình 2.2. Lập trình thuật toán Các modu l e đơn giản có thể chứa các thuậ t toán như các hàm của C++. Sự li nh hoạ t và sức mạnh của C++, kế t hợp vớ i các thư viện mô phỏng của OMNeT++ t ạo đ i ều kiện dễ dàng cho ngườ i sử dụng. Các l ập trình viên mô phỏng có thể chọn l ựa v i ệc mô t ả theo sự kiện hay t heo ti ến t rình, có thể dễ dàng sử dụng những khái n i ệm của l ập trình hướng đố i t ượng (như đa hình, kế thừa) và thiế t kế các mẫu thử (pattern) để mở rộng chức năng của quá trình mô phỏng. Các đố i t ượng mô phỏng (message, module, queue ) được thể hiện qua các l ớp của C++. Mộ t số l ớp cơ bản trong thư viện mô phỏng của OMNeT++ : • Module, cổng, li ên kết • Các tham số • Message • Các l ớp Con t ainer (mảng, hàng đợi ) • Các l ớp Da t a Collection Các l ớp này có t hể được sử dụng như những công cụ cho phép ngườ i sử dụng có thể duyệ t qua t ấ t cả các đố i t ượng khi chạy t hử mô hình đồng thờ i h i ển thị thông tin về chúng như tên của đố i t ượng, tên l ớp, các biến t rạng thái và nộ i dung bên trong. Đặc đ i ểm này cũng cho phép t ạo ra các mô h ì nh mô phỏng có giao diện đồ hoạ (GUI) vớ i phần cấu trúc bên t rong được che đi. OMNet++ Tran g 7 2.3. Sử dụng OMNeT++ 2.3.1. Xây dựng và chạy thử các mô hình mô phỏng Mộ t mô hình OMNeT++ bao gồm những phần sau: • Ngôn ngữ mô t ả topology - NED (file có phần mở rộng .ned): mô t ả cấu trúc của module vớ i các tham số, các cổng Các file .ned có thể được v i ế t bằng bấ t kỳ bộ soạn t hảo hoặc sử dụng chương t r ì nh GNED có trong OMNeT++. • Định nghĩa cấu t rúc của các message (các file có phần mở rộng .msg): Ngườ i sử dụng có thể định nghĩa rấ t nh i ều k i ểu messsage và thêm các trường dữ li ệu cho chúng. OMNeT++ sẽ dịch những định nghĩa này sang các l ớp C++ đầy đủ. • Mã nguồn của các module đơn g i ản. Đây l à các f il e C++ vớ i phần mở rộng là .h hoặc .cc. Hệ thống mô phỏng cung cấp cho ta các thành phần sau : • Phần nhân mô phỏng. Phần này chứa code để quản l ý quá trình mô phỏng và các thư viện l ớp mô phỏng. Nó được viế t bằng C++, được b i ên dịch và được đặ t cùng dạng vớ i các file thư viện (các file có phần mở rộng là .a hoặc .lib). • Giao diện ngườ i sử dụng. Giao d i ện này được sử dụng khi thực h i ện quá trình mô phỏng, t ạo sự dễ dàng cho quá trình sửa l ỗi, b i ểu diễn (demons t rat i on) hoặc khi thực hiện mô phỏng theo t ừng khố i (batch execu ti on of simu l ations). Có mộ t vài kiểu giao diện t rong OMNeT++, t ấ t cả đều được viế t bằng C++, được biên dịch và đặ t cùng nhau trong các thư viện (các file có phần mở rộng là .a hoặc .lib). Thực h i ện mô phỏng và phân tích kết quả Các chương t r ì nh thực h i ện mô phỏng (the simulation executable) là các chương trình độc l ập, t ức là nó có thể chạy trên các máy khác không cài đặ t OMNeT++ hay các file mô hình t ương ứng. Kh i chương t rình khở i động, nó bắ t đầu đọc file cấu h ì nh (thông thường l à file omnetpp. i n i ). File này chứa các thiế t l ập để đ i ều khiển quá t rình mô phỏng thực hiện, các b i ến cho các tham số của mô h ì nh File cấu h ì nh cũng có thể được sử dụng để đ i ều khiển nh i ều quá trình mô phỏng, trong trường hợp đơn g i ản nhấ t là các quá t rình mô phỏng này sẽ được thực hiện l ần l ượ t bở i mộ t chương trình mô phỏng (simu l ation program). Đầu ra của quá trình mô phỏng là các file dữ li ệu. Các file này có thể là các file vector, các fi l e vô hướng hoặc các file của ngườ i sử dụng. OMNeT++ cung cấp mộ t công cụ đồ hoạ Plove để xem và vẽ ra nộ i dung của các file vector. Tuy nhiên chúng ta cũng nên hiểu rằng khó mà có thể xử lý đầy đủ các f il e kế t quả mà chỉ dùng riêng OMNeT++ ; các fi l e này đều l à các file có định dạng để có thể đọc được bở i các gó i xử l ý t oán học của các chương t rình như Ma tl ab hay Octave, hoặc có thể được đưa vào bảng tính của các chương trình như OpenOff i ce Ca l c, Gnumer i c hay M i crosof t Excel. Tẩ t cả các chương t r ì nh này đều có chức năng chuyên dụng t rong việc phân tí ch số hoá, vẽ biểu d i ễn (visualization) vượ t qua khả năng của OMNeT++. Các file vô hướng cũng có t hể được biểu d i ễn bằng công cụ Scalar. Nó có thể vẽ được các biểu đồ, các đồ thị dựa vào t ập hợp các toạ độ (x, y) và có thể xuấ t dữ li ệu vào clipboard để có thể sử dụng trong các chương trình khác nhằm đưa những phân tích chi ti ế t hơn. OMNet++ Tran g 8 Giao diện ngườ i sử dụng Mục đích chính của g i ao diện ngườ i sử dụng là che những phần phức t ạp bên t rong cấu trúc của các mô hình đố i vớ i ngườ i sử dụng, dễ dàng đ i ều kh i ển quá t rình mô phỏng, và cho phép ngườ i sử dụng có khả năng t hay đổ i các biến hay các đố i t ượng bên trong của mô h ì nh. Đ i ều này là rấ t quan trọng đố i vớ i pha phát t r i ển và sửa l ỗ i trong dự án. G i ao diện đồ hoạ cũng có thể được sử dụng để trình diễn hoạ t động của mô hình. Cùng mộ t mô h ì nh ngườ i sử dụng có t hể t rên nhiều giao diện khác nhau mà không cần phả i thay đổ i gì trong các file mô hình. Ngườ i sử dụng có thể kiểm t hử và sửa l ỗ i rấ t dễ dàng qua giao diện đồ hoạ, cuố i cùng có t hể chạy nó dựa t rên mộ t giao diện đơn giản và nhanh chóng có hỗ trợ thực hiện t heo khố i (batch execution). Các thư viện thành phần Các k i ểu module có thể được l ưu t ạ i những vị trí độc l ập vớ i chỗ mà chúng thực sự được sử dụng. Đặc đ i ểm này cung cấp cho ngườ i sử dụng khả nhóm các kiểu module l ạ i vớ i nhau và t ạo ra các t hư viện thành phần. Các chương trình mô phỏng độc l ập Các chương t r ì nh thực h i ện quá trình mô phỏng có thể được l ưu nh i ều l ần, không phụ thuộc vào các mô h ì nh, sử dụng cùng mộ t thiế t l ập cho các module đơn giản. Ngườ i sử dụng có thể chỉ ra trong file cấu h ì nh mô hình nào sẽ được chạy. Đ i ều này t ạo khả năng cho ngườ i sử dụng có thể xây dựng những chương t rình t hực hiện l ớn bao gồm nhiều quá tr ì nh mô phỏng, và phân phố i nó như mộ t công cụ mô phỏng độc l ập. Khả năng linh hoạ t của ngôn ngữ mô t ả topology cũng hỗ trợ cho hướng ti ếp cận này. 2.3.2. Hệ thống file Sau khi cài đặ t OMNe t ++, t hư mục omne t pp t rên hệ thống máy của bạn nên chứa các thư mục con dướ i đây. Hệ thống mô phỏng: omnetpp/ thư mục gốc của OMNeT++ bin/ các công cụ trong OMNeT++ (GNED, nedtool ) include/ các fi l e header cho mô hình mô phỏng li b / các fi l e thư viện bitmaps/ các biểu t ượng đồ hoạ doc/ các file hướng dẫn, readme manua l/ f i le hướng dẫn dạng HTML ti c t oc-tutor i a l/ g i ớ i th i ệu sử dụng OMNeT++ api / API tham ch i ếu dạng HTML nedxm l -ap i/ API t ham ch i ếu cho t hư viện NEDXML src / mã nguồn của tài li ệu src/ mã nguồn của OMNeT++ nedc / nedtoo l , trình biên dịch message sim / phần nhân mô phỏng parsim / các file dành cho việc thực h i ện phân t án netbu i lder/ các file dành cho việc đọc động các f il e NED envir/ mã nguồn cho giao d i ện ngườ i sử dụng cmdenv / giao d i ện ngườ i dùng dòng l ệnh OMNet++ Tran g 9 t kenv/ g i ao diện ngườ i sử dụng dựa trên Tc l /tk gned/ công cụ soạn thảo file NED plove/ công cụ vẽ và phân tích đầu ra dạng vector scalars/ công cụ vẽ và phân tích đầu ra dạng vô hướng nedxm l/ thư viện NEDXML utils/ các ti ện ích khác tes t/ bộ kiểm t hử lùi core / bộ kiểm t hử lùi cho thư viện mô phỏng distrib / bộ kiểm t hử lùi Các quá trình mô phỏng mẫu được chứa trong thư mục samples samples / thư mục chứa các mô hình mô phỏng mẫu aloha/ mô hình của giao thức A l oha cqn/ Closed Queue Network Thư mục contrib chứa các chương tr ì nh có thể kế t hợp vớ i OMNeT++ contrib / octave / script của Octave dùng để xử lý kế t quả emacs/ bộ đánh dấu cú pháp NED cho Emacs Ngoài ra bạn cũng có thể tìm t hấy các thư mục khác như msvc / , chứa các thành phần tí ch hợp cho Microsoft Visual C++ OMNet++ Tran g 10 3. NGÔN NGỮ NED 3.1 Tổng quan về NED NED được sử dụng để mô t ả t opology của mộ t mô h ì nh trong OMNeT++. NED sử dụng phương pháp mô t ả module hoá. Đ i ều này có nghĩa l à mộ t mạng có thể được mô t ả như mộ t t ập hợp các mô t ả thành phần (các kênh, các kiểu module đơn giản hay kế t hợp). Các kênh, các kiểu module đơn g i ản và kế t hợp được sử dụng để mô t ả mộ t mạng nào đó có thể được sử dụng l ạ i khi mô t ả mộ t mạng khác. Các file chứa mô t ả mạng t hường có phần mở rộng là .ned. Các file NED có thể được load động vào các chương trình mô phỏng, hay có thể được dịch sang C++ bằng bộ biên dịch của NED và được li ên kế t bên trong các chương t rình thực hiện. 3.1.1. Các thành phần của ngôn ngữ mô tả NED Mộ t fi l e l NED bao gồm các phần như sau: • Các chỉ dẫn i mport • Khai báo các kênh • Khai báo các modu l e đơn g i ản và kế t hợp • Khai báo mạng 3.1.2. Các từ khoá Ngườ i sử dụng cần phả i chú ý không sử dụng những t ừ khoá có sẵn của NED để đặ t tên cho các đố i t ượng khác. Các t ừ khoá cơ bản của NED bao gồm: i mport channel endchannel simple endsimp l e module endmodule error delay datarate const parameters gates submodules connections atesizes i f for do endfor network endnetwork nocheck ref ancestor t rue false li ke input numeric string bool char xm l xm l doc 3.1.3. Đặt tên Trong NED ngườ i sử dụng có thể đặ t tên cho các module, các kênh, các module con, các tham số, các cổng, các thuộc tí nh và hàm chức năng của kênh Các tên này có thể bao gồm các chữ cái ti ếng Anh, các chữ số và dấu gạch dướ i “_”. Tên luôn được đặ t bắ t đầu bằng chữ cá i hoặc dấu gạch dướ i . Trong t rường hợp muốn đặ t tên bắ t đầu bằng chữ số, bạn có thể sử dụng t hêm mộ t dấu gạch dướ i đặ t ở đầu, ví dụ như _3Com Nếu t ên bao gồm nhiều t ừ nên viế t hoa ở đầu mỗ i t ừ hoặc có thể sử dụng dấu gạch dưới. Tên của các module, kênh và mạng nên bắ t đầu bằng chữ cái in hoa còn tên của tham số, cổng và các module con nên bắ t đầu bằng chữ cá i thường. NED l à mộ t ngôn ngữ có phân biệ t hoa t hường. . OMNet++ Tran g 1 1. GIỚI THIỆU 1.1. OMNeT++ là gì? OMNeT++ l à viế t t ắ t của cụm t ừ Objective Modular Network Testbed in C++. OMNeT++ . được che đi. OMNet++ Tran g 7 2.3. Sử dụng OMNeT++ 2.3.1. Xây dựng và chạy thử các mô hình mô phỏng Mộ t mô hình OMNeT++ bao gồm . thể là các file vector, các fi l e vô hướng hoặc các file của ngườ i sử dụng. OMNeT++ cung cấp mộ t công cụ đồ hoạ Plove để xem và vẽ

Ngày đăng: 19/10/2014, 09:31

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan