Fast Network Simulation Setup (FNSS) is a toolchain allowing network researchers and engineers to simplify the process of setting up a network experiment scenario. It allows users to:
FNSS comprises acore library (written in Python) and a set of adapters. The core library provides all capabilities for generating the experiment scenario. The adapters allow users to export scenarios generated with the core library tons-2,ns-3,Mininet,Omnet++,Autonetkit andjFed as well other simulators or emulators through the Python core library itself or the providedJava andC++ libraries.
To use FNSS you would normally use the following workflow.
This section explains how to install the FNSS Python core library.
If you wish to use FNSS to deploy experiment scenarios in a C++ or a Java program or in the ns-3 simulator then you also need the relevant library, which you can download from the links further below.
The easiest way to install the core Python library is to download it and install it from thePython Package Index. To do so, you must havePython installed on your machine andpip
, which is a package manager for Python.
To install FNSS usingpip
, you just need to run the following command:
$ pip fnss
Depending on the configuration of your machine you may need to runpip
as superuser. Running this command will download the latest version of the FNSS core library and install it on your machine together with all required dependencies.
At this stage you are ready to use the Python core library. To use the Java or C++ APIs or the ns-3 adapters, please download the specific components that you need from the links below.
You can also run FNSS within a virtual machine.This repository contains scripts and documentation to set up a virtual machine with FNSS and all dependencies.
You can download the latest stable releases of the C++ and Java libraries and ns-3 adapter from the following links:
C++ library | tar.gz | zip |
Java library | tar.gz | zip |
ns-3 library | tar.gz | zip |
Here you can find links to browse documentation and examples of the various components of the FNSS toolchain. Documentation and examples are also included in the component packages that can be downloaded from the links above.
Component | Documentation | Examples |
---|---|---|
Core (Python) library | Browse | Browse |
C++ library | Browse | Browse |
Java library | Browse | Browse |
ns-3 library | Browse | Browse |
Further information about FNSS architecture and the models it implements can be found in this paper:
L. Saino, C. Cocora, G. Pavlou,A Toolchain for Simplifying Network Simulation Setup, inProceedings of the 6th International ICST Conference on Simulation Tools and Techniques (SIMUTOOLS ‘13), Cannes, France, March 2013 [PDF] [Slides]
You can also have a look atthese slides that were used for a tutorial on FNSS given at theAIMS 2014 conference.
Code contributions are very welcome. If you have code you wish to contribute, please open a pull request.
If you cite FNSS in your paper, please refer to the following publication:
L. Saino, C. Cocora, G. Pavlou,A Toolchain for Simplifying Network Simulation Setup, inProceedings of the 6th International ICST Conference on Simulation Tools and Techniques (SIMUTOOLS ‘13), Cannes, France, March 2013
@inproceedings{fnss, author = {Saino, Lorenzo and Cocora, Cosmin and Pavlou, George}, title = {A Toolchain for Simplifying Network Simulation Setup}, booktitle = {Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques}, series = {SIMUTOOLS '13}, year = {2013}, location = {Cannes, France}, numpages = {10}, publisher = {ICST}, address = {ICST, Brussels, Belgium, Belgium},}
For any information please contactLorenzo Saino.