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 :)                                          

Reply via email to