Hey all,
I'm trying to implement LEACH in NS-2.27. My OS is Ubuntu 7.04. I followed
the instructions which I summarized in
http://ranlog.blogspot.com/2007/04/ns-227leach-on-ubuntu-704-installation.html
.
But when running "leach_test", I got the following OTcl error:
invalid command name "Resource/Energy"
while executing
"Resource/Energy instproc setParams {args} {
$self instvar energyLevel_ alarmLevel_
set energyLevel_ [lindex $args 0]
set alarmLevel_ [lind..."
(file "/home/ran/ns-allinone-2.27/ns-2.27/mit/rca/resources/ns-
energy-resource.tcl" line 13)
invoked from within
"source.orig /home/ran/ns-allinone-2.27/ns-2.27/mit/rca/resources/ns-
energy-resource.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig [list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig [list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source $env(RCA_LIBRARY)/resources/ns-energy-resource.tcl"
(file "uamps.tcl" line 18)
I found there were no so called "Resource/Energy" class defined in the tcl
file, so I added a line of code in ~ns/mit/rca/resources/ns-
energy-resource.tcl:
Class Resource/Energy - superclass Resource
After this, I got this when running "leach_test" again:
uneven number of args
(Object init line 1)
invoked from within
"Resource/Energy init - superclass Resource"
(Class create line 1)
invoked from within
"Class create Resource/Energy - superclass Resource"
("eval" body line 1)
invoked from within
"eval [list $self] create [list $m] $args "
(procedure "Class" line 5)
(Class unknown line 5)
invoked from within
"Class Resource/Energy - superclass Resource"
(file "/home/ran/ns-allinone-2.27/ns-2.27/mit/rca/resources/ns-
energy-resource.tcl" line 11)
invoked from within
"source.orig /home/ran/ns-allinone-2.27/ns-2.27/mit/rca/resources/ns-
energy-resource.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig [list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig [list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source $env(RCA_LIBRARY)/resources/ns-energy-resource.tcl"
(file "uamps.tcl" line 18)
Could anybody give some thoughts on this? Has anyone ever encountered the
problem before?