xgraph utility in Network Simulator 2

Xgraph is an X-Windows application that includes:
  • interactive plotting and graphing
  • animation and deritives
  • portability and bug fixes
So to plot the characteristics of NS2 parameters like throughput, end to end delay, packets information, etc can be plotted using xgraph
The successful installation of NS2 will install xgraph also along with it.
To run xgraph from a shell prompt: # xgraph filename.xg

inside TCL scripts, xgraph can be written like this
exec xgraph filename.xg -geometry 500x500
if there are more xgraph files then,
exec xgraph filename1.xg -geometry 500x500 &
exec xgraph filename2.xg -geometry 500x500 &
The ambersand is mandatory to popup all the graph windows, if & (ambersand) is not there, then only the last xgraph window will be popped up.

Sample xgraph file and its contents
/*** The xgraph file shows the information about the overhead with size of the network,
 Overhead is compared with four routing protocols like AODV, DSR, DSDV and NEAODV (my own algorithm)
the values are taken from various trace files.
To execute the following xgraph file, copy the following contents and save it as "example.xg" possibly (other formats also supported) and in the shell prompt # xgraph example.xg
TitleText: Overhead (Kbits/s) Vs Network Size
YUnitText: OverHead
XUnitText: Network Size (nodes)
"NEAODV"
200 100
400 350
600 800
800 1200

"AODV"
200 500
400 1600
600 2300
800 3700

"DSR"
200 100
400 320
600 400
800 600

"DSDV"
200 500
400 3700
600 6400
800 11600
Output window will be looking like this



Simple Examples in Javascript

document.write is a simple function used to display the content to the browser and it also embeds HTML tags inside it and renders as HTML tags.

<html>
<script type=text/javascript>
document.write("Hello How are you");
document.write("<h1> This is header 1 </h1>");
document.write("<p> This is a new paragraph </p>");
</script>
</html>

Installing NS2 under Ubuntu 9.10

  1. Download NS2 from the following Website, I tried version ns-allinone-2.34.tar.gz.
  2. Put the file under /home/pradeep/ (my user login is pradeep, you may try with your username)
  3. go the folder in the shell prompt by issuing the following command cd /home/pradeep/
  4. Since installation of NS2 simulator needs some autoconfigurationfiles which will need to be installed. To download those packages, justexecute the following commands $ sudo apt-get install build-essentialautoconf automake libxmu-dev
  5. it will take some time to download and install.
  6. Now execute the following steps so that NS2 will be installed $ tarzxvf ns-allinone-2.34.tar.gz $ cd ns-allinone-2.34 $ ./install
  7. You may get an error like libotcl.o error, to correct that execute, sudo apt-get install g++-4.3, once done, open the file otcl-1.13/Makefile.in, in line number 7 change 
  8. CC= @CC@ to CC= gcc-4.3, then again goto step 6
  9. After the above steps, NS2 will give the path information which needs to be set in the PATH variable
  10. Open the file .bashrc which is available under the folder/home/pradeep/ (if you try to install in root user /root/.bashrc). Usethe following command to open the .bashrc file $ gedit/home/pradeep/.bashrc
  11. edit the above file and set the following paths over there exportPATH=$PATH:/home/pradeep/ns-allinone-2.34/bin:/home/pradeep/ns-allinone-2.34/tcl8.4.18/unix:/home/pradeep/ns-allinone-2.34/tk8.4.18/unixexport LD_LIBRARY_PATH= /home/pradeep/ns-allinone-2.34/otcl-1.13,/home/pradeep/ns-allinone-2.34/lib
  12. Thats it!!! save the file, logout and login with the username.
  13. open the shell prompt and type $ ns (you will get a % indicatingthat the installation is working correctly) $ nam ( a window will beopened showing the network animator)

Validating a Textbox

<html>
<head>
<script type="text/javascript">
document.write("Validating a Text Box<BR>");
function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null || value=="")
    {
    alert(alerttxt);
    return false;
    }
  else
    {
    return true;
    }  }}
function validate_form(thisform)
{
with (thisform)
  {
  if (validate_required(email,"Email must be filled out!")==false)
  {
  email.focus();
  return false;}
  }
}
</script>
</head>
<body>
<form action="submit.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>
</html>

Detect Browser and its Parameters

<html>
<body>
<script type="text/javascript">
document.write("<p>Browser: ");
document.write(navigator.appName + "</p>");
document.write("<p>Browserversion: ");
document.write(navigator.appVersion + "</p>");
document.write("<p>Code: ");
document.write(navigator.appCodeName + "</p>");
document.write("<p>Platform: ");
document.write(navigator.platform + "</p>");
document.write("<p>Cookies enabled: ");
document.write(navigator.cookieEnabled + "</p>");
document.write("<p>Browser's user agent header: ");
document.write(navigator.userAgent + "</p>");
</script>
</body>
</html>

Browser Detect in Java Script

<html>
<head>
<script type="text/javascript">
function detectBrowser()
{
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);
if ((browser=="Netscape"||browser=="Microsoft Internet Explorer")
  && (version>=4))
  {
  alert("You are having a Recent Browser!");
  }
else
  {
  alert("It's time to upgrade your browser!");
  }
}
</script>
</head>
<body onload="detectBrowser()">
</body>
</html>

Alert, Confirm and Prompt in Javascript

 

<html>
<script type=text/javascript>
function alertFn()
{
alert("Welcome to my Website");
}
function confirmFn()
{
confirm("Please Select yes or no");
}

function promptFn()
{
prompt("Enter your Name", "Pradeepkumar");
}

</script>
<body onload="alertFn()">
<input type=button Value="Click" onclick="confirmFn()">
<input type=button value="Click Me" onclick="promptFn()">
</body>
</html>