Tài liệu OMNet++

OMNet++  
1. GII THIU  
1.1. OMNeT++ là gì?  
OMNeT++  
l
à viết t  
à mộ ứng dng cung cp cho ngườ  
động ca mng. Mc đích ch  
t
ca cm  
t
Objective Modular Network Testbed in C++.  
sdng mô trường để tiến hành mô  
nh ca ng dng à mô phng hoạ động  
ca nó, OMNeT++ còn được  
p, các  
OMNeT++  
l
t
i
i
phng hoạ  
mng thông tin, tuy nh  
sdng trong nhiu  
mng k u hàng đợ  
t
í
l
t
iên do nh phcp và linh hot  
l
ĩnh vc khác như mô phng các hthng thông tin phc  
t
i
i
(queueing networks) hay các kiến rúc phn cng...  
t
OMNeT++ cung cp sn các thành phn  
thành phn này (còn được glà các modu  
đó được p hp thành nhng thành phn hay nhng mô hình  
ngôn ngbc cao (NED). OMNeT++ htrgiao d n đồ ho, ương ng vớ  
hình cu rúc ca nó đồng hphn nhân mô phng (simu ation kernel) và các  
module ca OMNeT++ cũng rddàng nhúng vào trong các ng dng khác.  
t
l
ương ng vcác mô hình thc  
e) được p trình theo ngôn ngC++, sau  
n hơn bng mộ  
các mô  
i
tế. Các  
i
l
t
l
i
l
t
i
t
i
t
t
i
l
t
1.2. Các thành phn chính ca OMNeT++  
Thư vin phn nhân mô phng (simulat  
i
on kerne  
l)  
Trình biên dch cho ngôn ngmô  
thình trng (topology description language)  
- NED (nedc)  
Trình biên  
t
p đồ ho(graphical ne  
t
work editor) cho các fi  
le NED (GNED)  
Giao din đồ hothc h  
mô phng (Tkenv)  
i
n mô phng, các liên kế bên trong các file thc hin  
t
Giao din dòng  
Công c(giao din đồ ho) vẽ đồ thkế  
Công c(giao din đồ ho) mô kế quvô hướng ở đầu ra (Scalars)  
l
nh  
t
hc hin mô phng (Cmdenv)  
t
quvec or ở đầu ra (Plove)  
t
t
t
Công ctài liu hoá các mô hình  
Các tin ích khác  
Các tài liu hướng dn, các ví dmô phng...  
1.3. ng dng  
OMNeT++  
là mt công cmô phng các hot động mng bng các module được thiết  
kế hướng đối tượng. OMNeT++ thường được sdng trong các ng dng chyếu  
như  
:
Mô hình hot động ca các mng thông tin  
Trang 1  
OMNet++  
Mô hình giao thc  
Mô hình hoá các mng k  
Mô h nh hoá các hthng đa bvi xlý (multiprocesser) hoc các hthng  
phn cng theo mô h nh phân tán khác (distribu ed hardware systems)  
Đánh giá kiến trúc phn cng  
Đánh giá hiu quhoạ động ca các hthng phc  
i
u hàng đợi  
ì
ì
t
t
tp...  
1.4. Mô hình trong OMNeT++  
Mộ  
Độ sâu ca ca các module  
dng có hbiu din các cu  
trúc mô hình. Các module trao đổ  
(message). Các message này có hcó cu trúc phc  
các message này heo hai cách, mt là gtrc tiếp  
mộ  
t
mô hình  
t
rong OMNeT++ bao gm các module  
ng nhau à không giớ  
rúc ogic ca các hthng trong  
thông tin vnhau thông qua vic gi  
l
ng nhau có cu  
hn, đ ều này cho phép ngườ  
hc ế bng các cu  
các message  
t
rúc phân cp.  
l
l
i
i
i
sử  
t
t
l
t
t
i
i
t
t
p tuý. Các module có thgử  
i
t
i
tớ  
i
địa chnhn, ha  
ni.  
i
là gử  
i
đ
i theo  
t
đường dn được định sn, thông qua các cng và các kế  
t
Các module có thcó các tham sca riêng nó. Các tham snày có thể được sdng  
để chnh sa các thuc tính ca modu e và để biu din cho topo ogy ca mô hình.  
l
l
Các module mc thp nhtrong cu trúc phân cp đóng gói các thuc tính. Các  
t
module này được coi là các module đơn gin, và chúng được  
C++ bng cách sdng các thư vin mô phng.  
l
p trình trong ngôn ngữ  
Trang 2  
OMNet++  
2. TNG QUAN  
2.1. Khái nim mô hình hoá  
OMNeT++ cung cp cho ngườ  
ca các hthng thc ế.  
i sdng nhng công chiu quả để tcu trúc  
t
Các modu  
Các modu  
Các modu  
l
l
l
e
l
ng nhau có cu trúc phân cp  
e là các đối tượng cthca các k  
e trao đổ thông tin bng các message qua các kênh  
i
u module  
i
Các tham sca module linh hoạ  
Ngôn ngtopology  
t
t
2.1.1. Cu trúc phân cp ca các module  
Mộ  
đổ  
cho mộ  
module hthng. Module này có thcha các module con, các module con cũng có  
thcha các module con ca riêng nó. Độ sâu phân cp đố vcác module là không  
gihn, đ ều này cho phép ngườ sdng có hddàng biu din mcu rúc ogic  
ca mhthng trong thc ế bng cu trúc phân cp ca OMNeT++.  
t
mô hình trong OMNeT++ cha các modu  
thông tin vnhau bng cách gcác message. Mỗ  
hthng mng. Modu e mc cao nhtrong cu trúc phân cp được gi l  
l
e
l
ng nhau có cu trúc phân cp, trao  
i
i
i
i
mô h nh này thường b u d n  
ì
i
i
t
l
t
à
i
i
i
i
i
t
t
t
l
t
t
Cu trúc ca mô h  
ình có thể được mô tbng ngôn ngNED ca OMNeT++  
module hthng  
module kế  
module đơn gin  
t
hp  
Hình I-2.1 - Các module đơn g  
e có thcha nhiu modu e con và được gọ  
module đơn g n là các module có cp thp nhtrong cu trúc phân cp. Các module  
đơn gin cha các thutoán ca mô hình. Ngườ sdng trin khai các module đơn  
hư vin mô phng ca OMNeT++.  
in và kết hp  
Các modu  
l
l
i
là module kết hp. Các  
i
t
t
i
gin bng ngôn ngC++, sdng các  
t
2.1.2. Kiu module  
Tấ  
t
ccác module dù là đơn g  
i
n hay phc  
t
p đều là các đối tượng cthca các  
sdng định nghĩa ra các k u  
kiu module. Trong khi mô  
t
các mô hình, ngườ  
i
i
Trang 3  
OMNet++  
module; các đối tượng cthca các kiu module này được sdng như các thành  
phn ca các kiu module phc  
t
p hơn. Cuố  
i
cùng, ngườ  
i
sdng  
to module hệ  
thng như mộ đối tượng cthca k  
t
i
u module đã được định nghĩa trước đó, tt  
cả  
các module ca mng đều là module con (hoc là con ca module con) ca module hệ  
thng.  
Kh  
i
mộ  
t
kiu module được sdng như mộ  
đó là mmodule đơn g n hay phc  
ách các module đơn gin ra thành nhiu module đơn gin được nhúng  
module kế hp, và ngược có thể ập hp các chc năng ca mmodule  
module đơn g n mà không nh hưởng g đến các kiu module đã  
sdng định nghĩa.  
t
khố  
i
dng sn (building block), skhông  
thphân biệ  
dng có  
trong mộ  
t
t
t
i
t
p. Đ ều này cho phép ngườ sử  
i
i
t
t
hể  
t
l
i
t
t
kế  
t
hp trong mộ  
t
i
ì
được ngườ  
i
Kiu module có thể được ưu trtrong mộ  
l
t
file riêng r. Đ  
iu này cho phép người sử  
dng có hnhóm các kiu module o ra mt  
t
l
i
t
thư vin thành phn  
2.1.3. Message, cng, liên kết  
Các modu  
dng khung (frame) hoc là các gói tin (packe  
message có thcó cu rúc phc p tuý. Các module đơn gin có  
message đ mcách trc tiếp đến vtrí nhn hoc gi theo mộ đường dn định sn  
thông qua các cng và các liên kết.  
l
e trao đổ  
i
thông tin bng vic gử  
i
các message. Trong thc  
) được truyn đi trong mng. Các  
hgcác  
tế, message có  
t
t
t
t
i
i
t
i
đ
t
“Thgian mô phng địa phương” (local simulation time) ca mộ  
khi module nhn được mmessage. Message có thể đến mmodule khác hoc  
đến cùng mmodule (message ca chính bn thân module - self-message được  
dùng để thc hin bộ định hi).  
i
t module tăng lên  
t
t
t
t
t
t
Cng (gate) là các giao tiếp vào ra ca module. Message được gử  
được nhn vào thông qua các cng vào.  
i đi qua các cng ra  
Mỗ  
đơn  
nố  
ca module con vớ  
i
kế  
t
nố  
i
(connection) hay còn gọ  
i
liên kế  
t
(link) được  
t
o bên trong mộ  
t
mc  
kế  
trong cu trúc phân cp ca các module: bên trong mộ  
t
module kế  
t
hp, mộ  
t
t
i
có  
t
hể được  
t
o ra g  
i
a các cng  
t
ương ng ca ha  
hp.  
i
module con, hoc gia cng  
i
cng ca module kế  
t
module cha  
module cha  
S1 S2  
S1  
S2  
module con kế  
t
nố  
i
vớ  
i
nhau  
module con kết ni vi module cha  
Hình I-2.2 - Các kết nố  
rúc phân cp ca mmô hình, các message thường di chuyn  
nvớ ểm bắ đầu và kế thúc là các module đơn gin. Tp các  
module đơn gin và đến mmodule đơn gin được glà route. Các  
hp hoạ động ging như các “cardboard box” trong mô h nh, “trong sut”  
trong vic chuyn tiếp các message gia các thành phn bên trong và thế gibên  
ngoà  
i
Tương ng vớ  
qua mt locác kế  
kế ni tmộ  
module kế  
i
cu  
t
t
t
t
i
i
đi  
t
t
t
i
đ
t
t
i
t
t
ì
i
i
.
Trang 4  
OMNet++  
2.1.4. Mô hình truyn gói tin  
Mộ  
mô h  
khác. Ba tham snày bao gm:  
t
kế  
t
nố  
i
có thcó ba  
t
ham số đặc trưng. Nhng tham snày rấ  
t thun tin cho các  
ì
nh mô phng mng thông tin nhưng không hu dng  
lm cho các kiu mô hình  
Độ trễ đường  
Tsbit, được tính bng số  
Tsdliu, được tính bng sbit/s.  
uchn. Giá rca các tham snày  
(hay còn gi là k u ca kênh t  
t
ruyn (propagation delay) tính bng s - giây.  
l
i
l
i/bit.  
Các tham snày  
ni, phthuc vào kiu ca liên kế  
là  
t
t
là khác nhau  
t
rên  
t
ng kế  
t
l
t
i
ruyn - channe  
type).  
Độ trễ đường  
t
ruyn là  
t
ng thờ  
i
gian đến ca message btrễ đ  
i
khi truyn qua kênh.  
à xác suấ  
ch nh xác  
Tsit nh hưởng đến quá trình truyn message qua kênh. Tsnày  
l
i
b
l
i
t
các bit btruyn sai. Do đó xác suấ  
t
để mộ  
t
message độ dà  
i
n bit truyn đ  
í
là:  
P(message gử  
trong đó ber số  
Các message truyn đ  
message có i.  
Tsdliu được tính theo đơn vbit/s, và nó được sdng để nh thờ  
truyn mgói tin. Khi tsnày được sdng, quá trình gmessage đ trong mô  
hình sẽ ương ng vớ ệc truyn bit đầu tiên và message được tính à đến nơ sau kh  
i
đ
i
được nhn chính xác) = (1 - ber)n  
it và n à sbit ca message.  
đều có mcờ ỗi, cnày sẽ được  
l
à
t
l
i  
b
l
i
t
l
thiết lp khi vic truyn  
l
i
gian để  
t
i
i
t
i
v
i
l
i
i
bên nhn đã nhn được bit cui cùng.  
A
B
tA  
tB  
Message gử  
i đi  
truyn btrễ  
Độ trễ đường truyn  
Message nhn được  
Hình I-2.3 - Truyn message  
Trang 5  
OMNet++  
2.1.5. Tham số  
Các module có thcác tham s.Các tham snày có thể được đặt giá trtrong các file  
NED hoc các file cu h  
ì
nh ompnetpp.ini.  
hể được dùng để thay đổ  
n cho opo ogy ca mô h  
u là chui, shc, giá  
liu XML (XML data tree). Các biến kiu strong các biu thc có thnhn giá trị  
các tham skhác, ghàm, sdng các biến ngu nhiên các ngun phân tán hoc  
nhn giá trtrc tiếp được nhp vào bngườ sdng.  
Các tham scó k u scó hể được dùng để cu h nh topology rấ  
các module kế hp, các tham snày có hể được dùng để chra smodule con, số  
cng giao tiếp và cách các kế nnbộ được o ra.  
Các tham snày có  
hoc dùng để biu d  
t
i
i
các thuc tính ca các module đơn g  
ình.  
in  
t
l
Các tham scó  
t
hcó k  
i
trlogic hoc cũng có thcha cây dữ  
t
i
t
i
i
i
t
ì
t ddàng. Nm trong  
t
t
t
i
i
t
2.1.6. Phương pháp mô ttopology  
Người sdng dùng ngôn ngNED (Network Description) để tcu trúc ca các  
mô hình  
2.2. Lp trình thut toán  
Các modu  
và sc mnh ca C++, kế  
kin ddàng cho ngườ sdng. Các  
theo skin hay heo tiến rình, có thddàng sdng nhng khái n  
l
e đơn gin có thcha các thuậ  
hp vcác thư vin mô phng ca OMNeT++  
p trình viên mô phng có thchn a v  
m ca  
kế các mu th(pattern) để mở  
t
toán như các hàm ca C++. Slinh hoạ  
o đ ều  
c mô  
p  
t
t
i
t
i
i
l
l
i
i
t
t
t
l
trình hướng đối tượng (như đa hình, kế tha) và thiế  
rng chc năng ca quá trình mô phng.  
t
Các đối tượng mô phng (message, module, queue...) được thhin qua các  
C++. Msố ớp cơ bn trong thư vin mô phng ca OMNeT++  
lp ca  
t
l
:
Module, cng, liên kết...  
Các tham số  
Message  
Các  
l
p Con  
p Da a Collection  
hể được sdng như nhng công ccho phép ngườ  
ccác đối tượng khi chy hmô hình đồng thờ ển ththông tin về  
chúng như tên ca đối tượng, tên p, các biến rng thái và ndung bên trong. Đặc  
m này cũng cho phép o ra các mô h  
phn cu trúc bên rong được che đi.  
tainer (mng, hàng đợi...)  
Các  
l
t
Các  
l
p này có  
qua  
t
i sdng có thể  
duyệ  
t
t
t
t
i hi  
i
l
t
đ
i
t
ì
nh mô phng có giao din đồ ho(GUI) vi  
t
Trang 6  
OMNet++  
2.3. Sdng OMNeT++  
2.3.1. Xây dng và chy thcác mô hình mô phng  
Mt mô hình OMNeT++ bao gm nhng phn sau:  
Ngôn ngmô  
ca module vớ  
t
i
topology - NED (file có phn mrng .ned): mô  
các tham s, các cng... Các file .ned có thể được v  
nh GNED có trong OMNeT++.  
tcu trúc  
i
ế
t
bng bấ  
t
kbson  
tho hoc sdng chương  
tr  
ì
Định nghĩa cu  
t
rúc ca các message (các file có phn mrng .msg): Ngườ  
sdng có thể định nghĩa rnh u k  
cho chúng. OMNeT++ sdch nhng định nghĩa này sang các  
i
t
i
iu messsage và thêm các trường dliu  
l
p C++ đầy đủ.  
Mã ngun ca các module đơn g  
là .h hoc .cc.  
in. Đây là các file C++ vi phn mrng  
Hthng mô phng cung cp cho ta các thành phn sau  
:
Phn nhân mô phng. Phn này cha code để qun  
các thư vin p mô phng. Nó được viế bng C++, được b  
đặ cùng dng vcác file thư vin (các file có phn mrng là .a hoc .lib).  
l
ý quá trình mô phng và  
l
t
i
ên dch và được  
t
i
Giao din ngườ  
mô phng,  
hoc khi thc hin mô phng theo  
Có mvài kiu giao din rong OMNeT++,  
cùng nhau trong các thư vin (các file có phn mrng  
i
sdng. Giao d  
i
n này được sdng khi thc h  
i, b u din (demons  
(batch execution of simu ations).  
cả đều được viế bng C++,  
i
n quá trình  
t
o sddàng cho quá trình sa  
ng khố  
l
i
t
rat on)  
i
t
i
l
t
t
t
t
t
được biên dch và đặ  
là .a hoc .lib).  
t
Thc h  
i
n mô phng và phân tích kết quả  
nh thc h n mô phng (the simulation executable) là các chương trình  
c là nó có thchy trên các máy khác không cài đặ OMNeT++ hay các file  
ương ng. Kh chương rình khở động, nó bắ đầu đọc file cu h nh (thông  
à file omnetpp. ). File này cha các thiết lp để đ ều khin quá rình mô  
phng thc hin, các b ến cho các tham sca mô h nh... File cu h nh cũng có thể  
được sdng để đ ều khin nh u quá trình mô phng, trong trường hp đơn g n  
chương trình  
Các chương  
độc p,  
mô hình  
thường  
tr  
ì
i
l
t
t
l
t
i
i
t
i
t
ì
n
i
i
t
i
ì
ì
i
i
i
nhấ  
t
là các quá  
trình mô phng này sẽ được thc hin ln lượt bi mt  
mô phng (simu  
lation program).  
Đầu ra ca quá trình mô phng là các file dliu. Các file này có thlà các file vector,  
các fi e vô hướng hoc các file ca ngườ sdng. OMNeT++ cung cp mcông cụ  
đồ hoPlove để xem và vra ndung ca các file vector. Tuy nhiên chúng ta cũng  
nên hiu rng khó mà có thxđầy đủ các file kế qumà chdùng riêng  
OMNeT++ các fi e này đều à các file có định dng để có thể đọc được bcác gó  
xoán hc ca các chương rình như Matlab hay Octave, hoc có thể được đưa  
vào bng tính ca các chương trình như OpenOff ce Ca c, Gnumer c hay M crosof  
Excel. Tccác chương nh này đều có chc năng chuyên dng rong vic phân  
ch shoá, vbiu d n (visualization) vượ qua khnăng ca OMNeT++.  
l
i
t
i
t
;
l
l
i
i
l
ý
t
t
i
l
i
i
t
t
tr  
ì
t
i
t
Các file vô hướng cũng có hể được biu d n bng công cScalar. Nó có thvẽ được  
các biu đồ, các đồ thda vào p hp các toạ độ (x, y) và có thxudliu vào  
clipboard để có thsdng trong các chương trình khác nhm đưa nhng phân tích  
chi ti hơn.  
t
i
t
t
ế
t
Trang 7  
OMNet++  
Giao din ngườ  
i
sdng  
ao din ngườ  
cu trúc ca các mô hình đố vngườ  
phng, và cho phép ngườ sdng có khnăng  
bên trong ca mô h nh. Đ ều này là rquan trng đố  
ao din đồ hocũng có thể được sdng để trình din hot  
Mc đích chính ca g  
i
i
sdng là che nhng phn phc  
sdng, ddàng đ ều kh n quá  
hay đổ các biến hay các đối tượng  
vpha phát n và sa  
động ca  
t
p bên  
trong  
i
i
i
i
i
trình mô  
i
i
t
i
ì
t
i
i
tr  
i
li  
trong dán. G  
i
mô hình.  
Cùng mộ  
cn phthay đổ  
rddàng qua giao din đồ ho, cuố  
t
mô h  
ì
i
nh ngườ  
gì trong các file mô hình. Ngườ  
cùng có hchy nó da  
heo kh(batch execution).  
i
sdng có  
t
hể  
t
rên nhiu giao din khác nhau mà không  
sdng có thkim hvà sa  
rên mgiao din đơn  
i
i
t
li  
t
i
t
t
t
gin và nhanh chóng có htrthc hin  
t
i
Các thư vin thành phn  
Các k  
được sdng. Đặc đ  
vnhau và o ra các t  
i
u module có thể được  
m này cung cp cho ngườ  
hư vin thành phn.  
l
ưu  
t
i
nhng vtrí độc  
lp vi chmà chúng thc sự  
i
i
sdng khnhóm các kiu module  
l
i
i
t
Các chương trình mô phng độc  
Các chương nh thc h n quá trình mô phng có thể được  
thuc vào các mô h nh, sdng cùng mthiết lp cho các module đơn gin. Ngườ  
sdng có thchra trong file cu h nh mô hình nào sẽ được chy. Đ ều này o khả  
năng cho ngườ sdng có thxây dng nhng chương rình hc hin n bao gm  
nhiu quá tr nh mô phng, và phân phnó như mcông cmô phng độc p. Khả  
năng linh hoca ngôn ngtopology cũng htrcho hướng tiếp cn này.  
lp  
tr  
ì
i
lưu nhiu ln, không phụ  
ì
t
i
ì
i
t
i
t
t
l
ì
i
t
l
t
t
2.3.2. Hthng file  
Sau khi cài đặ  
thư mc con dướ  
t
OMNe  
đây.  
t++, thư mc omnetpp trên hthng máy ca bn nên cha các  
i
Hthng mô phng:  
omnetpp/  
bin/  
thư mc gc ca OMNeT++  
các công ctrong OMNeT++ (GNED, nedtool...)  
include/  
lib/  
các fi  
các fi  
l
l
e header cho mô hình mô phng  
e thư vin  
bitmaps/  
doc/  
các biu  
các file hướng dn, readme...  
le hướng dn dng HTML  
th u sdng OMNeT++  
API tham ch  
API ham ch  
tượng đồ hoạ  
manual/  
ti  
api  
nedxm  
fi  
c
t
/
oc-tutor  
i
a
l/  
g
i
i
i
i
i
ếu dng HTML  
ếu cho hư vin NEDXML  
l
-api/  
t
t
src  
/
mã ngun ca tài liu  
mã ngun ca OMNeT++  
nedtoo , trình biên dch message  
src/  
nedc  
sim  
/
l
/
phn nhân mô phng  
parsim  
/
các file dành cho vic thc hin phân tán  
netbu lder/  
i
các file dành cho vic đọc động các file NED  
mã ngun cho giao d n ngườ sdng  
giao d n ngườ dùng dòng nh  
envir/  
cmdenv  
i
i
/
i
i
l
Trang 8  
OMNet++  
t
kenv/  
g
i
ao din ngườ  
i sdng da trên Tcl/tk  
gned/  
công cson tho file NED  
plove/  
scalars/  
nedxml/  
utils/  
công cvvà phân tích đầu ra dng vector  
công cvvà phân tích đầu ra dng vô hướng  
thư vin NEDXML  
các tin ích khác...  
test/  
bkim  
bkim  
bkim  
t
t
t
hlùi  
core  
distrib  
...  
/
hlùi cho thư vin mô phng  
hlùi  
/
Các quá trình mô phng mu được cha trong thư mc samples  
samples thư mc cha các mô hình mô phng mu  
/
aloha/  
mô hình ca giao thc Aloha  
cqn/  
Closed Queue Network  
...  
Thư mc contrib cha các chương trình có thkết hp vi OMNeT++  
contrib  
/
octave  
emacs/  
Ngoài ra bn cũng có thtìm  
ch hp cho Microsoft Visual C++...  
/
script ca Octave dùng để xlý kế  
bộ đánh du cú pháp NED cho Emacs  
t quả  
t
hy các thư mc khác như msvc  
/
, cha các thành phn  
Trang 9  
OMNet++  
3. NGÔN NGNED  
3.1 Tng quan vNED  
NED được sdng để mô  
dng phương pháp mô module hoá. Đ  
như mt tp hp các mô thành phn (các kênh, các kiu module đơn gin hay kế  
hp). Các kênh, các kiu module đơn g  
mng nào đó có thể được sdng khi mô  
t
t
opology ca mộ  
t
mô h  
ì
nh trong OMNeT++. NED sử  
t
i
u này có nghĩa  
l
à mmng có thể được mô  
t
t
t
t
t
in và kế hp được sdng để mô  
t
tmộ  
l
i
t
mt mng khác.  
Các file cha mô mng  
t
thường có phn mrng là .ned. Các file NED có thể được  
load động vào các chương trình mô phng, hay có thể được dch sang C++ bng bộ  
biên dch ca NED và được liên kế  
t
bên trong các chương  
trình thc hin.  
3.1.1. Các thành phn ca ngôn ngmô tNED  
Mộ  
t
fil  
el  
NED bao gm các phn như sau:  
Các chdn mport  
i
Khai báo các kênh  
Khai báo các modu  
Khai báo mng  
l
e đơn gin và kết hp  
3.1.2. Các tkhoá  
Ngườ  
i
sdng cn phả  
i
chú ý không sdng nhng  
t
khoá có sn ca NED để đặt  
tên cho các đối tượng khác. Các  
t
khoá cơ bn ca NED bao gm:  
e module endmodule error delay datarate  
f for do endfor network  
i
mport channel endchannel simple endsimp  
const parameters gates submodules connections atesizes  
endnetwork nocheck ref ancestor rue false like input numeric string bool char xm  
xm doc  
l
i
t
l
l
3.1.3. Đặt tên  
Trong NED người sdng có thể đặt tên cho các module, các kênh, các module con,  
các tham s, các cng, các thuc nh và hàm chc năng ca kênh... Các tên này có thể  
bao gm các chcái tiếng Anh, các chsvà du gch dướ “_”. Tên luôn được đặ  
bắ đầu bng chcá hoc du gch dướ . Trong rường hp mun đặ tên bắ đầu  
hêm mdu gch dướ đặ ở đầu, ví dnhư  
i
t
t
i
i
t
t
t
bng chs, bn có thsdng  
t
t
i
t
_3Com...  
Nếu  
dưới. Tên ca các module, kênh và mng nên bắ  
tham s, cng và các module con nên bắ đầu bng chcá  
t
ên bao gm nhiu  
t
nên viế  
t
hoa ở đầu mi thoc có thsdng du gch  
đầu bng chcái in hoa còn tên ca  
thường.  
t
t
i
NED à mngôn ngcó phân bihoa hường.  
l
t
t
t
Trang 10  
OMNet++  
3.1.4. Chú thích  
Các dòng chú thích có thể đặ  
pháp ca C++, các dòng chú th  
t
í
bấ  
ch trong NED bt  
t
kì vtrí nào trong file NED. Tương  
đầu bng du ‘//’.  
tnhư cú  
Chú  
t
hích trong NED có thể được sdng trong nhng công cụ ạo tài liu (document  
t
generator) như JavaDoc, Doxygen  
3.2. Các chdn import  
Tkhoá  
đã import, ngườ  
trong file mô ả đó.  
i
mport được sdng để thêm các khai báo trong các file mô  
tkhác. Sau khi  
i
sdng có hsdng ccác thành phn đã được định nghĩa  
t
tt  
t
Chú ý khi thêm mộ  
t
file mô  
fi e được thêm vào không có nghĩa là nó sẽ được dch kh  
sdng sphdch ccác file chkhông phchỉ  
t, chcó các thông tin khai báo được sdng. Cũng  
t
ương như vy khi mộ  
t
t
l
i
file cha nó được dch. Ngườ  
là file mc cao nht.  
i
i
t
t
i
Bn có thxác định mộ  
Ví dụ  
mport “ethenet”;  
Bn cũng có thsdng đường dn trong khi sdng  
bn sdng trình biên dch ca NED vi tham s-I để đặt tên cho thư mc cha các  
file mà bn mun mport.  
t file thêm vào mà có hoc không viết phn mrng.  
:
i
//import ethernet.ned  
t
khoá import hoc tt hơn là  
i
3.3. Khai báo các kênh  
Mộ  
t
định nghĩa kênh được dùng để xác định kiu kết ni. Tên ca kênh có thể được  
sdng sau đó trong file để  
t
o các liên kế vcác tham skhác.  
t
i
Cú pháp  
:
channel Tên kênh  
//...  
endchannel  
Ba tham scó thể được gán giá trị  
các tham snày đều là các tuchn: độ tr,  
thgian rtrên đường truyn được nh bng giây. Lỗ  
sut truyn sai mit trên đường truyn. Tc độ dliu  
rng băng thông ca kênh ruyn, được tính bng bit/s và được dùng để nh thờ  
tin. Các thuc tính có thxuhin theo bkthứ ự nào t  
t
rong phn thân ca đon mã khai báo kênh,  
c độ dliu (datarate). Độ trlà  
là ham số đặc trưng cho xác  
à tham số được nh bng độ  
tt cả  
l
i
t
i
t
i
t
t
b
l
t
i
gian  
rong  
truyn ca mộ  
t
gó  
i
t
t
t
khai báo.  
Giá  
Ví dụ  
channe  
delay 0.0018 // sec  
t
rca các  
tham s(thuc tính) nên là các hng s.  
:
l
LeasedLine  
Trang 11  
OMNet++  
error 1e-8  
datarate 128000 // bit/sec  
endchannel  
3.4. Khai báo các module đơn gin  
Các module đơn gin  
khác (có thlà các modu  
ước ên ca các module này được đặt tên bắ  
l
à các khố  
e kế hp). Các module được khai báo bng tên và theo quy  
đầu bng chcái in hoa.  
i chương trình được xây dng sn cho các module  
l
t
t
t
Các modu e đơn g n được khai báo thông qua các cng và các tham s.  
Cú pháp  
mple SimpleModuleName  
l
i
:
s
i
parameters:  
//...  
gates:  
//...  
endsimple  
3.4.1. Các tham sca module đơn gin  
Các tham slà các biến phthuc vào  
gin được sdng bcác hàm (hay còn được gọ  
e. Theo quy ước các tham ssẽ được đặt tên bt  
t
ng mô hình. Tham sca các module đơn  
là các hut toán ca module) khai  
đầu bng chữ  
i
i
t
báo trong chính modu  
l
i thường.  
Các tham số được khai báo bng cách li  
tham scó thlà kiu s(numeric), hng s(numeric const hay viế  
trlog c (bool), kiu chu(string) hoc xml. Khi tham skhông khai báo rõ kiu thì  
mc định k u ca tham số đó là numeric.  
t
kê tên sau  
tkhoá parameters. Kiu ca các  
t
gn à const), giá  
l
i
i
i
Ví dụ  
:
s
i
mple TrafficGen  
parameters:  
interarrivalTime,  
numOfMessages  
:
const,  
address  
gates: //...  
endsimp  
Các tham scó thể được gán giá trị  
khdng sn ca mkhkế hp  
: string;  
l
e
t
NED (khi các module được sdng như các  
i
t
i
t
l
n hơn) hoc file cu hình omnetpp.ini.  
t
Tham sngu nhiên và hng số  
Trang 12  
OMNet++  
Các tham scó kiu scó thể được đặ  
t
để trvmộ  
t
giá  
trngu nhiên theo dng  
phân phố  
Trong đa strường hp, các tham sthường chnhn g  
khở  
i đều (uniformly distributions) hoc các dng phân phi khác  
i
á trngu nhiên khi bắ  
gán, sau đó giá trnày được ginguyên. Khi đó các tham snày phả được kha  
báo là hng s- const. Kha báo mt tham slà cons th giá trca tham ssẽ được  
xác định mt ln duy nhkh bắ đầu hc h n mô phng và sau đó giá rị đó sẽ được  
co là hng s. (Chú ý OMNeT++ khuyến khích vic khai báo mtham sà const  
trnhng o sngu nhiên).  
t đầu  
i
i
i
i
t
ì
t
i
t
t
i
t
i
i
l
trường hp bn mun sdng chc năng  
t
Tham sXML  
Đôi khi các module cn đầu vào là nhng  
thông tin phc tp hơn khnăng mô tca  
các tham s, khi đó bn có thsdng mộ  
t file cu hình mrng. OMNeT++ có thể  
đọc và xlý các file này thông qua mtham scha tên ca file.  
t
Tcác phiên bn 3.0 trlên, XML được co là mdng chun cho các file cu hình  
và OMNeT++ cũng ch hp sn các công ccho phép ngườ sdng có hlàm vic  
được vcác file XML. OMNeT++ cha bphân ch cú pháp XML (XML parser),  
có khnăng đọc các file DTD, sdng bnhớ đệm để nhcác file (trong rường hp  
mfile XML được tham ch ếu nh u module nó scũng chphi load mt ln),  
cung cp cho ngườ sdng khnăng chn c các phn trong tài liu thông qua  
XPa h, hhin ndung ca file XML thông qua DOM.  
i
t
i
t
i
t
t
i
t
i
i
thì  
i
l
t
t
i
3.4.2. Các cng ca module đơn gin  
Cng là các đ  
module chính là các cng. OMNeT++ htrkiu kế  
có ha locng là cng vào và cng ra. Các message được gử  
cng vào. Theo quy ước, các cng được đặ tên bắ  
i
m kế  
t
nố  
i
ca module. Đ  
i
m bắ  
t
đầu và kế  
t
thúc mộ  
chiu (đơn công) do đó  
i tcng ra và được  
đầu bng chi  
t kết ni gia hai  
t
nmộ  
i
t
i
i
t
i đ  
nhn vào  
thường.  
t
t
Ở đây chúng ta có khái nim vcác vector cng trong đó mộ  
hp bao gm nhiu cng đơn.  
t vector cng là mt tp  
Cng được kha  
i
báo bng cách khai báo tên sau  
t
khoá gates. Cp du [] thhin  
đầu 0.  
mvector cng. Các thành phn ca mộ  
t
t
vector cng được đánh sbắ  
t
t
Ví dụ  
:
simple NetworkInterface  
parameters: //...  
gates:  
in: fromPort, fromH  
out: toPort, oHigherLayer  
endsimp  
igherLayer;  
t
;
l
e
simple RoutingUnit  
parameters: //...  
gates:  
in: output[];  
Trang 13  
OMNet++  
out: input[];  
endsimp  
Kích hước ca mộ  
ca mmô h nh có thcó các vector cng có kí  
le  
t
t
vector cng có thể được xác định sau do đó mỗ  
ch thước khác nhau.  
i đối tượng cthể  
t
ì
3.5. Khai báo module kết hp  
Module kế  
kiu module nào (đơn g  
Cũng g ng như các module đơn g  
t
hp là các module có thcha mộ  
n hay kế hp) đều có thể được dùng như là mộ  
n, các module kế hp cũng có các cng, các  
hể được sdng bkchnào mà các module đơn gin có  
t
hoc nh  
i
u các modu  
l
e con. Bấ  
t kỳ  
i
t
t
module con.  
i
i
t
tham svà chúng có  
thể được sdng.  
t
t
Hình  
bìa cng mà chúng ta có thgiu phn mô h  
bên trong nó. Không có các hành vi ch cc (active behaviour) nào liên quan đến các  
t
ượng hoá chúng ta có  
thể  
t
ưởng  
t
ượng các module kế  
t
hp g  
ing như các hp  
ì
nh mô phng và các cu  
t
rúc phc p  
t
module kế  
thành phn  
sn cho các modu  
t
hp - chúng chỉ đơn g  
n hơn để có thể được sdng như mộ  
e kế hp khác.  
i
n là mộ  
t
nhóm các module kế  
t
hp  
t
rong mộ  
t
l
t
mô hình hoc như mộ  
t
khố  
i
dng  
l
t
Theo quy ước, ên ca các module (bao gm ckiu module kế  
đầu bng chhoa.  
Các modu e con có thsdng các tham sca module cha. Các module con này có  
thkế nvnhau hoc/và kế nvmodule kế hp cha chúng.  
Vic kha báo các module kế hp cũng ương như khai báo các module đơn g  
Phn khai báo cũng bao gm các khoá parameters và gates, ngoà  
dng hêm hai tkhoá là submodules và connections.  
Cú pháp  
modu e Tên_modu  
t
t hp) đều được bt  
l
t
i
i
t
i
i
t
i
t
t
t
i
n.  
t
i ra nó còn sử  
t
:
l
le  
parameters:  
//...  
gates:  
//...  
submodules:  
//...  
connections  
//...  
:
endmodule  
Chú ý  
là tt ccác khai báo trên (parameters, gates, submodules, connections) chlà  
tuchn.  
Trang 14  
OMNet++  
3.5.1. Các tham svà cng ca module kết hp  
Các tham svà cng ca module kế  
t
hp cũng được kha  
i
báo và hoạ  
t động tương tự  
như các tham svà cng ca các module đơn g  
i
n.  
Các tham sca module kế hp có thể được sdng bở  
được dùng để khi to g rcho các tham sca các module con.  
Các tham scũng có thể được sdng để xác định cu trúc bên rong ca các modu  
kế hp: scác module con, k ch hước ca các vec or cng mkhác các tham snày  
cũng có thể được sdng để xác định các kế nbên rong module kế hp.  
Các tham số ảnh hưởng đến cu trúc bên trong ca module nên được khai báo là const  
để giá trca tham skhông thay đổ theo các n ruy nhp. Trái l nếu các tham số  
à các giá trngu nhiên, ngườ sdng có thscó các g á trkhác  
rong quá trình xlý ca module kế hp.  
t
i các module con và thường  
iá t  
t
le  
t
í
t
t
t
t
i
t
t
i
l
t
i  
được khai báo  
nhau mi ln  
l
i
i
t
ham số được truy nhp  
t
t
Ví dụ  
:
module Rou  
parameters:  
ter  
packetsPerSecond  
bufferS ze numeric,  
const;  
: numeric,  
i
:
numOfPorts  
gates:  
:
in: inputPort[];  
out: outputPort[];  
submodules: //...  
connections: //...  
endmodule  
3.5.2. Các module con  
Các module con được khai báo sau tkhoá submodules. Theo quy ước các module  
con được đặt tên bắ  
Các modu e con có thlà mộ  
dch NED phbiế được k u ca module do đó các module con phả  
sm hơn hoc được mport các f le NED khác.  
Ngườ sdng cũng có khnăng o ra các vector module con và kích thước ca  
vector này có thnhn vào giá rca mtham s. Khi khai báo các module con,  
bn cn phgán g á trcho các tham sca module và nếu k u module ương ng có  
sdng các vector cng bn phxác định cho nó mch thước cth.  
Ví dụ  
t
đầu vớ  
i
chcái thường.  
l
t
module đơn gin hoc mộ  
t
module kế  
t
hp. Trình biên  
i được khai báo  
i
t
i
i
t
i
i
t
t
t
t
i
i
i
t
th  
ì
i
t kí  
:
module Tên_Module_kết_hp  
//...  
submodules:  
Trang 15  
OMNet++  
tên_module_con_1: K  
parameters:  
//...  
i
i
u_Module_1  
u_Module_2  
gatesizes  
//...  
:
tên_module_con_2: K  
parameters:  
//...  
gatesizes  
//...  
:
endmodule  
Vector module  
Vec  
thể được b  
này có ththam ch  
được chp nhn.  
t
or module là mt tp hp (mộ  
u din bng mộ ểu thc đặ  
ếu đến các tham sca module. Giá tr0 cho scác module cũng  
t
mng) các module con. Kích thước ca vec  
t
or có  
i
t
b
i
t
trong cp du ngoc vuông ‘[]’. Biu  
thc  
i
Ví dụ  
:
module CompoundModule  
parameters:  
s
ize: const;  
submodules:  
submod1  
//...  
:
:
:
Node[3]  
submod2  
//...  
Node[size]  
Node[2*size+1]  
submod3  
//...  
endmodule  
3.5.3. Tham stên kiu module con  
Vic sdng tên ca các kiu module như các tham sto điu kin ddàng cho sử  
dng các module con. Ly v  
sánh skhác nhau g a các thuậ  
toán m đường cn thiế như các module đơn gin DistVecRoutingNode,  
AntNetRouting1Node, AntNetRouting2Node, ... Bn cũng đã o ra mtopology  
mng như mmodule kế hp glà RountingTestNetwork để phc vcho vic đánh  
giá hoạ động ca các thutoán. Hin RountingTestNetwork đang sdng thuậ  
toán Dis VecRoutingNode (tccác module con đều có k u này) và bn mun có  
í
d, cho rng mc đích ca quá trình mô phng là so  
i
t
toán m đường. Gisbn đã p trình các thuậ  
l
t
t
t
t
t
t
i
t
t
t
i
t
t
t
i
Trang 16  
OMNet++  
thchuyn đổ  
i
qua  
l
i
mộ  
t
cách ddàng gia các thut toán để tin  
l
i
cho vic đánh  
giá.  
Để thc h  
module Rou  
ca RoutingTestNe  
giá trca biến routingNodeType. Kh  
thay đổ các thut toán rên thông qua g  
“DistVectRoutingNode”, “AntNetRouting1Node” hoc “AntNetRouting2Node”.  
Trong trường hp giá trca tham slà sa (cha tên ca mkiu không n i) quá  
trình mô phng sbkhi bắ đầu chy - module type definition not found (khai báo  
i
n đ  
ingTestNetwork. Đồng thờ  
work không có kiu cố định, mà k  
đó mng mô phng ca bn có  
á trca tham snhư  
i
u này  
t
a có  
t
hsdng thêm mộ  
t
i
i
biến là routingNodeType cho  
báo cho NED các modu e con  
u ca các module này được  
hddàng  
t
i
bn cũng kha  
l
t
là  
i
t
i
t
i
i
t
t
t
l
i
t
kiu module không được m thy).  
Bên trong module RoutingTestNetwork, ta có thgán giá trcho các tham stiến  
hành kế  
ăng tính chính xác, đảm bo  
NED cn có sgiúp đỡ ừ bn. Bn có thkhai báo thêm mộ  
RoutingNode) và phả đảm bo chc chn rng ccác module định sdng  
t
nố  
i
vớ  
i
các module cha các thuậ  
ên ca tham svà cng mà bn sdng là chính xác,  
modu e (g stên là  
t toán m đường tương ng. Tuy nhiên để  
t
t
t
t
l
i
i
tt  
thông qua tham sroutingNodeType đều có các tham svà các cng ging như ca  
module RoutingNode.  
Cú pháp  
:
module RoutingTes  
parameters:  
tNetwork  
routingNodeType: string; // should hold the name  
// of an ex  
gates: //...  
isting module type  
submodules:  
node1  
node2  
//...  
:
:
routingNodeType like Rou  
routingNodeType like Rou  
t
ingNode;  
ingNode;  
t
connections nocheck  
:
node1.out0 --> node2.in0;  
//...  
endmodule  
Đon mã này nếu nhìn theo góc độ ca ngôn ngC++  
ca mt lp cơ s, Dis VecRoutingNode, AntNe Routing1Node là các  
p RoutingNode. Tham sroutingNodeType ương ng vcon rtrtớ  
t
h
ì
RoutingNode đóng vai trò  
p kế tha  
i lp cơ s.  
t
t
l
từ  
l
t
i
t
Module RoutingNode không cn được thc hin trong C++ bkhông có đối tượng cụ  
thnào ca nó được o ra, nó chỉ đơn thun được dùng để kim ra tính chính xác ca  
file NED. Mkhác, các module thc ssẽ được thay th(ví dnhư  
stVecRoutingNode, AntNetRouting1Node,...) skhông cn phkhai báo rong file  
NED.  
i
t
t
t
D
i
i
t
Trang 17  
OMNet++  
Tkhoá like cho phép bn to ra mt hcác module phc vcho cùng mt mc đích,  
có cùng g  
i
ao tiếp g  
ing nhau (có cùng các tham svà các cng) và sdng chúng  
thay thế nhau  
trong file NED.  
3.5.4. Gán giá trcho các tham sca các module con  
Có thgán giá trcho các tham sca các module con trong phn khai báo  
parameters ca các module con. Các  
như các hng shoc có thsdng ngay các  
hoc cũng có khgán bng mbiu thc.  
tham sca module con có thể được gán giá trị  
t
ham sca module kế  
t
hp cha nó,  
i
t
Không bbuc ham số đều phả  
t
t
t
ccác  
t
i
khở  
file cu h  
nh mô phng snhc bn. Tuy nhiên nếu  
nh, sddàng hơn cho v c sa cha giá trca các  
i
gán g  
iá tr. Giá trca tham scó thể  
nhn trong lúc thc h  
i
n hoc nhn  
t
ì
nh hoc trong  
trường hp giá trca  
tham skhông có trong file cu hình, quá trì  
các tham số để trong file cu h  
tham s.  
ì
i
Ví dụ  
:
module CompoundModule  
parameters:  
param1  
param2  
:
:
numeric,  
numeric,  
useParam1  
: bool;  
submodules:  
submodule1  
parameters:  
p1 = 10,  
: Node  
p2 = param1+param2,  
p3 = useParam1==  
//...  
true ? param1 : param2;  
endmodule  
Trong khi mô h  
tham số ương ng được gọ  
thsdng cú pháp như  
ì
nh hoạ  
t
động, các biu  
t
hc gán giá  
ra để gmộ  
sau submodule.parametername  
t
rvn được tính toán nếu các  
tham sca module con a có  
(hoc  
t
i
đến. Ngoà  
i
i
t
t
:
submodule[index].parametername).  
Tkhoá input  
Kh  
ngườ  
đầu thc h  
trình mô phng, bn có thsdng  
sdng có hth t lp thông báo nhp giá trhay đặt giá t  
i
mt tham skhông nhn g  
sdng sẽ được nhc để nhp g  
n. Tuy nhiên nếu bn mun chủ động nhp giá  
khoá input. Tkhoá inpu  
rmc định cho tham s.  
i
á
t
rtrc tiếp trong file NED hoc  
rcho tham skhi quá trình mô phng bắ  
rtham skhi bắ đầu quá  
cũng cho phép ngườ  
trong file cu hình,  
i
i
á
t
t
i
t
t
t
t
i
t
i
ế
Cú pháp  
:
parameters:  
Trang 18  
OMNet++  
numCPUs = input(10, "Number of processors?"), //giá trmc  
//định, du nhc  
processingTime = input(10ms), //thông báo nhp giá trị  
cacheSize = input;  
3.5.5. Khai báo kích thước ca các vector cng ca module con  
Kích  
t
hước ca các vector cng được khai báo bng  
t
khoá gatesizes. Kích thước này  
biu thc.  
có thể được khai báo như mộ  
t
hng s, mt tham shay mộ  
t
Ví dụ  
:
simple Node  
gates:  
in: inputs[];  
out: outputs[];  
endsimple  
module CompoundModule  
parameters:  
numPorts: const;  
submodules:  
node1  
gatesizes  
inputs[2], outputs[2];  
node2 Node  
gatesizes  
: Node  
:
:
:
inputs[numPorts], outputs[numPorts];  
//...  
endmodule  
gatesizes là không bắ  
cng nó sẽ được đặ bng 0. Mộ  
ssdng gate++ (“extend gate vector with a new gate” - vector cng mrng vớ  
mcng m). gate++ sẽ được trình by kĩ hơn trong phn Connection.  
t
buc, nếu bn mun bqua v  
i
c khai báo gatesizes cho vector  
t
t
lý do để bqua v c gán giá  
i
t
rcho ga esizes à bn  
t
l
i
t
i
3.5.6. Khai báo gatesizes và tham sđiu kin  
Kích  
thước ca vector cng và các tham strong module con thường được kha  
i
báo  
kèm thêm đ  
i
u kin.  
Ví dụ  
:
module Chain  
parameters: count: const;  
Trang 19  
OMNet++  
submodules:  
node : Node [count]  
parameters:  
position = "middle";  
parameters if index==0  
position = "beginn ng"  
:
i
;
parameters if index==coun  
position = "end";  
t-1:  
gatesizes  
in[2], out[2]  
gatesizes f index==0 || index==coun  
in[1], out[1]  
:
;
i
t-1:  
;
connections  
//...  
:
endmodule  
Chú ý các g  
xung dưới, nếu gp đ  
trmc định trước đó. Trong trường hp khai báo g  
i
á trmc định nên được khai báo đầu tiên bở  
u k n đúng thì các giá rị ương ng sẽ được chèn vào các giá  
á trmc định cucùng, g á trị  
rca mt trường hp đ ều kin đúng trước đó.  
i vì NED sduyt ttrên  
i
i
t t  
i
i
i
mc định scó thchèn vào giá  
t
i
3.5.7. Kết ni  
Các kế  
t ni chra cthcách các cng ca module kết hp giao tiếp vi các cng  
t
ương ng ca module con.  
Kế ncó thể được o ra gia ha  
(module kế hp) trc tiếp cha nó (trong mộ  
thể được o ra gia ha cng ca cùng mmodule kế  
NED không cho phép mkế nố đa cp (kế ngia ha  
trúc phân cp). Hn chế này làm ăng nh độc p và khnăng dùng  
module. Ngoài ra, hướng ca module cũng rtrong quan trng khi o kế  
thể ạo mkế ngia hai cng ra hoc gia ha nhau.  
NED chhtrkiu kế nmt-mdo đó mộ được sdng chxuấ  
hin mt ln trong mkế ni. K u kế ncũng có thể  
được o ra bng cách sdng các module đơn g rong đó các lung message được  
nhân đôi hoc được ghép thêm (duplica e message or merge message flows).  
Các kế nố được li kê sau khoá connect  
chm phy.  
Ví dụ  
t
i
t
i
module con hoc gia module con vớ  
sít trường hp, mkế  
hp). Đ ều này có nghĩa  
module xa nhau rong cu  
ca mỗ  
. Không  
i
t
module cha  
t
t
t
ncũng có  
i
t
i
t
t
i
là  
t
t
i
t
i
i
t
t
l
l
i  
i
t
t
t ni  
t
t
t
i
i
cng vào vớ  
i
t
i
t
t
cng riêng b  
i
t  
t
t
t
i
t
i
mt-nhiu và nhiu-mộ  
n  
t
t
i
t
t
t
i
t
t
i
ons và được phân tách vớ  
i
nhau bng du  
:
module CompoundModule  
parameters: //...  
gates: //...  
Trang 20  
Tải về để xem bản đầy đủ
pdf 82 trang Thùy Anh 27/04/2022 8380
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu OMNet++", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftai_lieu_omnet.pdf