All Projects → fnss → Fnss

fnss / Fnss

Licence: other
Fast creation and configuration of topologies, traffic matrices and event schedules for network experiments

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Fnss

Omnetpp primer
OMNeT++的仿真手册
Stars: ✭ 89 (-12.75%)
Mutual labels:  simulation
Black Hole
WebGL simulation of a Schwarzschild black hole
Stars: ✭ 94 (-7.84%)
Mutual labels:  simulation
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+9816.67%)
Mutual labels:  simulation
Psrealvehicle
Plugin for Unreal Engine 4 with simple force-driven vehicle simulation
Stars: ✭ 92 (-9.8%)
Mutual labels:  simulation
Scrimmage
Multi-Agent Robotics Simulator
Stars: ✭ 93 (-8.82%)
Mutual labels:  simulation
Dynare
This project has moved to https://git.dynare.org/Dynare/dynare
Stars: ✭ 96 (-5.88%)
Mutual labels:  simulation
Hand dapg
Repository to accompany RSS 2018 paper on dexterous hand manipulation
Stars: ✭ 88 (-13.73%)
Mutual labels:  simulation
Physics3d
A 3D physics engine
Stars: ✭ 101 (-0.98%)
Mutual labels:  simulation
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (+1198.04%)
Mutual labels:  simulation
Gym Ignition
Framework for developing OpenAI Gym robotics environments simulated with Ignition Gazebo
Stars: ✭ 97 (-4.9%)
Mutual labels:  simulation
Device Simulation Dotnet
IoT Simulation service
Stars: ✭ 93 (-8.82%)
Mutual labels:  simulation
Covid19 Sir
COVID-19 SIR model estimation
Stars: ✭ 94 (-7.84%)
Mutual labels:  simulation
Cosmic
A 𝒔𝒕𝒆𝒍𝒍𝒂𝒓 simulated 8-bit computer architecture
Stars: ✭ 97 (-4.9%)
Mutual labels:  simulation
Zelig
A statistical framework that serves as a common interface to a large range of models
Stars: ✭ 89 (-12.75%)
Mutual labels:  simulation
Colvars
Collective variables module for molecular simulation and analysis programs
Stars: ✭ 99 (-2.94%)
Mutual labels:  simulation
Flipviscosity3d
A basic free-surface liquid FLIP fluid simulator with viscosity
Stars: ✭ 88 (-13.73%)
Mutual labels:  simulation
Awesome Emulators Simulators
A curated list of software emulators and simulators of PCs, home computers, mainframes, consoles, robots and much more...
Stars: ✭ 94 (-7.84%)
Mutual labels:  simulation
Avr8js
Arduino (8-bit AVR) simulator, written in JavaScript and runs in the browser / Node.js
Stars: ✭ 102 (+0%)
Mutual labels:  simulation
Isocitysim
🌇 A simulation of a city using isometric tiles
Stars: ✭ 100 (-1.96%)
Mutual labels:  simulation
Covid19 scenarios
Models of COVID-19 outbreak trajectories and hospital demand
Stars: ✭ 1,355 (+1228.43%)
Mutual labels:  simulation

Fast Network Simulation Setup

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:

  • Parse a topology from a dataset or a topology generator or generate it according to a number of synthetic models
  • Configure links with capacity, weights, delays and buffer sizes
  • Deploy applications and protocol stacks on nodes
  • Generate traffic matrices
  • Generate event schedules
  • Deploy network and workload configuration to a number of simulators and emulators

FNSS comprises a core library, written in Python, and a set of adapters. This repository contains the core library, which provides all capabilities for generating experiment scenarios and to export them to ns-2, Mininet, Omnet++, Autonetkit and jFed. It can also be used in conjunction with the FNSS Java, C++ API or ns-3 libraries to import topologies, traffic matrices and event schedules in the desired target simulator or emulator. See the repositories fnss-java, fnss-cpp and fnss-ns3 for further information.

Workflow

The FNSS library comprises a core Python library, which also includes adapters for ns-2, Mininet and Autonetkit and libraries for ns-3 and Java and C++ simulators/emulators. The core Python library is needed for creating and configuring topologies, traffic matrices and event schedules. Such objects can then be used directly if you intend to use a Python simulator. Otherwise, they can be exported to ns-2, Autonetkit and Mininet or saved to XML files which can then be parsed by the ns-3, Java or C++ libraries. For detailed information on how to use each component of the toolchain, please refer to the fnss-java, fnss-cpp or fnss-ns3 repositories. or visit the FNSS website.

Installation

The easiest way to install the latest stable version of this library is via pip. First, ensure that you have Python installed on your machine with version (2.7.9+ or 3.4+). Then, from a shell run:

pip install --upgrade fnss

This will automatically pull the latest version and install all dependencies.

Usage

Once the package is successfully installed, you can start using FNSS straight away. Look at the documentation and examples for getting started. You can find the documentation online on Read The Docs.

FNSS also provides a mn-fnss which can be used to start Mininet with an FNSS-generated network topology. Open a shell and run the following command to get more information on how to use it.

mn-fnss --help

Development setup

If you wish to develop on FNSS run:

make install

This will download all development requirements and install FNSS in editable mode, which means that any change made to the source code will be immediately available by other libraries in the system without needing reinstallation.

You can run tests with:

make test

and build documentation with:

make doc

It is advisable to use virtualenv to create an isolated environment for working with FNSS before running make install.

Citing

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, in Proceedings 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},
}

Bug reports

If you wish to report a bug, please open an issue on the GitHub issue page. When reporting an issue, please try to provide a reproducible example of the problem, if possible.

Contributions

Any contributions to the project (either bug fixes or new features) are very much welcome. To submit your code, please send a pull request on the GitHub project page.

If you wish to contribute please try to follow these guidelines:

  • Write commit messages conforming to Git convention
  • If you are sending a fix to an open issue, feel free to send a pull request directly, but make sure to reference the issue ID that you are fixing in the commit message.
  • Think about writing test cases for your feature or bug fix, if relevant. If you can't, don't worry: send your code anyway.

License

The FNSS core library is released under the terms of the BSD License. See LICENSE.txt.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].