Desperate for help.. (NS-2.34)
Zakaria Derder <[email protected]>
| Newsgroups | gmane.network.simulator.isi |
|---|---|
| Message-ID | <[email protected]> |
Hello,I'm having trouble with a tcl script for AntNet in WSNs. i tried a simple topology of 3 nodes. It seems like it's working (in NAM) but the file containing the routing table (rtable.txt) is generated empty. i don't know if there's something wrong with my TCL script or my C++ code for AntNet protocol. I have tried before this AntNet in wired network and it worked fine, generating trace files and full routing table at each node. Can anybody help me? Here's my TCL script:
# A 100-node example for ad-hoc simulation with AODV
# Define optionsset val(chan) Channel/WirelessChannel ;# channel typeset val(prop) Propagation/TwoRayGround ;# radio-propagation modelset val(netif) Phy/WirelessPhy ;# network interface type
set val(mac) Mac/802_11 ;# MAC typeset val(ifq) Queue/DropTail/PriQueue ;# interface queue typeset val(ll) LL ;# link layer typeset val(ant) Antenna/OmniAntenna ;# antenna modelset val(ifqlen) 50 ;# max packet in ifqset val(nn) 3 ;# number of mobilenodesset val(rp) Antnet ;# routing protocolset val(x) 500 ;# X dimension of topographyset val(y) 400 ;# Y dimension of topographyset val(stop) 15 ;# time of simulation end
set ns [new Simulator]set tracefd [open testAntNet.tr w]set namtrace [open testAntNet.nam w]
$ns trace-all $tracefd$ns namtrace-all-wireless $namtrace $val(x) $val(y)
# set up topography objectset topo [new Topography]
$topo load_flatgrid $val(x) $val(y)
create-god $val(nn)
## Create nn mobilenodes [$val(nn)] and attach them to the channel.#
# configure the nodes $ns node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -channelType $val(chan) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace OFF \ -movementTrace ON
for {set i 0} {$i < $val(nn) } { incr i } { set node_($i) [$ns node] $node_($i) set X_ [ expr 10+round(rand()*480) ] $node_($i) set Y_ [ expr 10+round(rand()*380) ] $node_($i) set Z_ 0.0 }
#Create Antnet agentsfor {set i 0} {$i < $val(nn)} {incr i} { set na($i) [ new Agent/Antnet $i]}
#Attach each node with Antnet agentfor {set i 0} {$i < $val(nn)} {incr i} { $ns attach-agent $node_($i) $na($i)}
# Set parameters and start timefor {set i 0} {$i < $val(nn)} {incr i} { $na($i) set num_nodes_ $val(nn) $na($i) set timer_ant_ 0.03 $na($i) set r_factor_ 0.05 $ns at 2.0 "$na($i) start"}
# Define node initial position in namfor {set i 0} {$i < $val(nn)} { incr i } {# 30 defines the node size for nam$ns initial_node_pos $node_($i) 30}
# Telling nodes when the simulation endsfor {set i 0} {$i < $val(nn) } { incr i } { $ns at $val(stop) "$node_($i) reset";}
#Print routing tables generated by AntNetfor {set i 0} {$i < $val(nn)} {incr i} { $ns at 13.0 "$na($i) print_rtable"}
# ending nam and the simulation$ns at $val(stop) "$ns nam-end-wireless $val(stop)"$ns at $val(stop) "stop"$ns at 15.0 "puts \"end simulation\" ; $ns halt"proc stop {} { global ns tracefd namtrace $ns flush-trace close $tracefd close $namtrace}
$ns run
Please help me out, thank you :)