Coder Social home page Coder Social logo

gabbage / fnss Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fnss/fnss

0.0 2.0 0.0 4.26 MB

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

Home Page: http://fnss.github.io

License: Other

Makefile 2.60% Python 41.16% Shell 0.18% C++ 46.12% C 0.12% Java 9.82%

fnss's Introduction

Fast Network Simulation Setup (FNSS)

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. The core library provides all capabilities for generating the experiment scenario. The adapters allow users to export scenarios generated with the core library to ns-2, ns-3, Mininet, Omnet++, Autonetkit and jFed as well other simulators or emulators through the Python core library itself or the provided Java and C++ libraries.

Project directory structure

The project files are organized in the following directories:

  • core: core Python library
  • cpp: C++ API
  • java: Java API
  • ns3: ns-3 API

How to use it

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 instructions included in the README files contained in the root directory of each subcomponent (core, cpp, java and ns3) or visit the FNSS website.

License

The core (Python), Java and C++ libraries are licensed under the term of BSD License. The ns-3 API is instead licensed under the terms of the GNU GPLv2 license.

Citing

If you cite FNSS in your paper, please refer to the following pubblication:

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.

fnss's People

Contributors

lorenzosaino avatar ccocora avatar gabbage avatar brucespang avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.