Tcl and OTcl Tutorial For NS2 - Procedures


Procedures are an essential component of Tcl and can be used to make programming ns simpler. As in any functional programming language, procedures can be used for repetitive tasks, or simply to logically break down the tasks in the program.Procedures are defined in Tcl as follows:
proc proc1 {} {
    puts "in procedure proc1"
This defines a procedure that takes no parameters and prints out "in procedure proc1". To call this procedure
can be used.A procedure with parameters can be defined as follows:
proc proc2 {parameter1} {
    puts "the value of parameter1 is $parameter1"
This procedure can be invoked as follows:
proc2 10
A procedure that returns a value can be defined as follows:
proc proc3 {min max} {
    set randomvar [rand $min $max]
    return $randomvar
This procedure generates a random variable and returns it to the calling function. This can be invoked as follows
set randomvar [proc3 0 1]
to obtain a uniform random value between 0 and 1.Sometimes it is necessary within a procedure to reference a variable that has global scope. This is the purpose of the global keyword. So, for example, in an ns script, the simulator object typically is called ns, and typically has global scope. So, it could be referenced in a procedure as follows:
proc proc4 {} {
    global ns
    $ns at 10.0 "exit 0"
A logical way to break down an ns script can be as follows:
set ns [new Simulator]
$ns run
where create_topologycreate_agentscreate_sources and create_recorders are all procedures.
Share this article :

+ comments + 5 comments

Post a Comment

Support : Ebin EPhrem | Ebin Ephrem | #Gabbarism
Copyright © 2011. Services | Embedded Support | Reviews | Virtual Technologys - All Rights Reserved
Template Created by Published by Ebin Ephrem
Proudly powered by Blogger