Welcome to the SDON Simulator, an open-source venture into the future of networking! Our core focus is on simulating Software Defined Elastic Optical Networks (SD-EONs), a cutting-edge approach that promises to revolutionize how data is transmitted over optical fibers. But that's just the beginning. We envision the SDN Simulator as a versatile simulation framework that can evolve to simulate a wide array of networking paradigms, now including the integration of artificial intelligence to enhance network optimization, performance, and decision-making processes.
We need your insight and creativity! The true strength of open-source lies in community collaboration. Join us in pioneering the networks of tomorrow by contributing your unique simulations and features. Your expertise in AI and networking can help shape the future of this field.
- Ubuntu version 20.04+
- Fedora 37+
- Windows 11
- Python version 3.11+
To get started with the SDN Simulator, follow these steps to set up your environment:
-
Navigate to the desired directory you'd like to clone the repo to:
cd /your/desired/path
-
Clone the repository:
git clone [email protected]:SDNNetSim/SDON_simulator.git
-
Change into the project directory:
cd SDON_simulator
-
Install the required dependencies:
pip install -r requirements.txt
-
Navigate to the docs directory and generate the Sphinx documentation:
On Unix:
cd docs make html
On Windows:
cd docs .\make html
-
Finally, navigate to
_build/html/
and openindex.html
in a browser of your choice to view the documentation.
To maintain the quality and consistency of the codebase, we adhere to the following standards and guidelines:
- Commit Formatting: Follow the commit format specified here.
- Code Style: All code should follow the PEP 8 coding style guidelines.
- Versioning: Use the semantic versioning system for all git tags.
- Coding Guidelines: Adhere to the team's coding guidelines document.
- Unit Testing: Each unit test should follow the community unit testing guidelines.
This project is brought to you by the efforts of Arash Rezaee, Ryan McCann, Suvhasis Mukhopadhyay, Kojo Bempah, and Kimberly Tice. We welcome contributions from the community to help make this project even better!