Some of the old ns-2 versions and even some very old ns-3 versions can only be installed on an older Linux variant because of the gcc and gcc-lib compatibility issues. Installing such old Linux variants under the latest hardware also raises a lot of issues related to driver components. In such cases, we may opt to install that old operating system using virtualization solutions such as “VirtualBox”, “VMware”, “Microsoft Virtual PC” etc.,.
This article explains the way of installing Aquasim and Aqua3D on an old Linux OS under VirtualBox. We choose to use 64bit Lubuntu 16.04-LTS as a guest OS because, it is a lightweight operating system that will need lower hardware resources to install and work.
Installing VirtualBox and Installing an old Linux under VirtualBox
The following article explains the way of installing VirtualBox and installing a old version of Linux under VirtualBox.
Installing an old Linux under VirtualBox and using Shared Folders.
Just following the above procedure “as it is” will install Lubuntu 16.04 LTS under VirtualBox and make it ready for our aqua-sim and aqua3D installations.
Installing Aqua-sim
One may follow the following procedure to install Aqua-sim.
Installing Aqua-Sim in Ubuntu 16.04 LTS – Underwater Sensor Network Simulation with ns-2
Of course, the original ns-2 version of Aqua-Sim-1.0 was once available at the following link:
http://ubinet.engr.uconn.edu/aqua_packages/Aqua-Sim-1.0.tgz
In fact, it was a modified version of ns-allinone-2.30 with functionalities to simulate underwater networks and protocols.
But the above link is dead – so obviously you can not download the original, official version of Aqua-Sim-1.0 using the above link. But if you search the internet, then you may find some links for downloading ns-2 version of Aqua-Sim. But the problem is, they may be a little bit altered version of the original version.
The following steps will explain the very secrets of installing the original, official version of Aqua-sim-1.0 on Linux
Downloading and Installing the Original version of Aqua-Sim-1.0
Extract Aqua-Sim under a folder
$ mkdir aquasim
$ cp /home/your_home/downloads/Aqua-Sim-1.0.tgz /home/your_home/aquasim
$ cd aquasim
$ tar -xvf Aqua-Sim-1.0.tgz
Installing all the components of ns-allinone-2.30 (the ns-allinone-2.30 with the aquasim)
$ ./install
Note: Even if you can see this final screen, the nam will not work because of the unsuccessful compilation of nam – we may ignore it; because we will only use aqua3D for UWSN visualization. Similarly, xgraph may also fail – we may ignore it; because we may use a better tool such as Gnuplot for plotting graphs.
Testing the good working of ns-2
$ ./ns
%
It means it is working good.
Installing Aqua3D
One may follow the following procedure to install Aqua3D.
Of course, the original ns-2 version of Aqua-3D was once available at the following link:
“http://ubinet.engr.uconn.edu/aqua_packages/Aqua3d-1.0.0-src.tgz
In fact, it was a 3D version of nam with functionalities to visualize 3D underwater networks
But the above link is dead – so obviously you can not download the original, official version of Aqua-3D using the above link. But if you search the internet, then you may find some other links for downloading ns-2 version of Aqua-3D. But the problem is, they may not be the original official version.
The following steps will explain the very secrets of installing the original official version of Aqua3D.
Extract “Aqua3d-1.0.0-src.tgz” under a folder
$ cp /home/your_home/downloads/ Aqua3d-1.0.0-src.tgz /home/your_home/
$ tar -xvf Aqua3d-1.0.0-src.tgz”
$ cd ./aqua3d-1.0.0-src
$ ls
Compile aqua3d from the source
$ ./make
Testing aqua3d by Running it
$ ./aqua3d
If we run the file aqua3d (shown in green color on the terminal), it will open a GUI much similar to the standard “nam” interface. But, this GUI is having 3D functionalities. The following screenshot shows the aqua3d GUI interface.
Running a UWSN Simulation and Visualizing it on Aqua3D
The Console output of a UWSN example simulation
The 3D Visualization output of the Above Example Simulation
Advantages of using the Source version of Aqua3D
While compiling aqua3D from the source, advanced users will have the freedom for modifying the source as per need and compile and get a customized version of aqua3D.
The following is one such example. Here, instead of using the standard spherical model to represent a UWSN node, we are using a simply created 3D drone model. So one can customize their UW-Drone model or even create a good 3D quadcopter model and use the Aqua3D to visualize a UAV/FANET simulation in a better way.
The final trick for running Aqua3D in an easy way
In case, if one still can not able to compile and run Aqua3D because of some unsolvable library dependency error, then one may follow the following steps to run a binary version of aqua3D. Since it is a binary version – so you can not modify the behaviour of this version of the software as mentioned above.
The following shows the GUI of the binary version of aqua3d
Conclusion
Just installing aqua-sim and aqua-3D is not an easy job. The reasons are :
(1) One can not install ns-2 on the latest Linux variants which will use a higher version of gcc by default.
(2) One can not install an ns-2 supporting, old version of Linux on the latest computing hardware because of the driver compatibility issues.
(3) Even under VirtualBox, without some fine information, a successful installation of aqua-sim and aqua-3D is not possible.
Future Scope for 3D UWSN Simulation using ns-3
A new version of aqua-sim called aqua-sim-NG is available as an extension/module for the new ns-3 simulator. But ns-3 does not have the support for visualizing 3D UWSN. But there is a third party software called NetSimulyzer 3D visualization tool that can be used to visualize the ns-3’s simulation output. For that, we have to add a NetSimulyzer-extension on ns-3.
The following are such possibilities of simulating and visualizing a 3D UWSN using ns-3+aqua-sim-NG+NetSimulyzer-extension+ NetSimulyzer 3D tool.
A simple, Mobile UWSN Simulation