[Ns-developers] UAN-WOSS framework code review

Federico Guerra fedwar82 at yahoo.it
Mon Oct 14 12:18:38 PDT 2013

Dear all,
the UAN-WOSS framework is ready for code review:

A special thanks to Andrea Sacco for helping me in the development phase!

Brief description of the WOSS library
The WOSS framework http://telecom.dei.unipd.it/ns/woss/ 
is a multi-threaded C++ framework that allows the integration 
of any existing underwater channel simulator that expects environmental
data as input and provides as output a channel realization. 
Currently, WOSS integrates the Bellhop ray-tracing program. 
Thanks to its automation the user only has to specify the location in the world 
and the time where the simulation should take place. 
This is done by setting the simulated date and the wanted 
latitude and longitude of every node involved. 
The simulator automatically handles the rest (see technical description). 

The UAN-WOSS framework introduces
- some wrapper classes in order to plug into WOSS:
  - NS3 random generator class
  - NS3 simulation time class
  - NS3 mobility concept
  - NS3 UAN Pdp class
- a new channel that calculates the attenuation from WOSS output
- a new propagation that provides the power delay profile (UanPdp) taken from WOSS
- a new waypoint mobility model based on geographic coordinates
- a new set of position allocators based on geographic coordinates
- a new helper useful for:
  - configuring the WOSS framework
  - convert geographic coordinates to Cartesian coordinates (Vector) and vice versa
- a basic example
- a basic test

Changes made to NS3
- a small change to the current waypoint model (some vars pushed from private to protected)
- some new functionality added to UAN
- the new feature will be installed only by waf switches

How to compile/test the feature
1) install bellhop and put the binary path in the $PATH environment;
2) install the NETCDF library if you want to use the WOSS environmental databases;
3) install WOSS, with multithread support (mandatory). NS2 and NSMIRACLE support are optional. NETCDF support must be installed based on step 2)
4) for more info on 1), 2) and 3) please see http://telecom.dei.unipd.it/ns/woss/doxygen/installation.html
5) compile NS3 with UAN-WOSS support enabled. Run:
./waf -d debug --enable-tests --enable-examples --with-woss-source=<woss_source_path> --with-woss-library=<woss_lib_path> --with-netcdf-lib=<netcdf_installed_lib_path> --with-netcdf-include=<netcdf_installed_include_path> configure

 a) --with-woss-source=<woss_source_path> is mandatory
 b) --with-woss-library=<woss_lib_path> is mandatory
 c) --with-netcdf-lib=<netcdf_installed_lib_path> is optional (see step 2 )
 d) --with-netcdf-include=<netcdf_installed_include_path> is optional (see step 2 )

More information about the Ns-developers mailing list