Major refactoring:

- Create pip package
- Reorganized source code
This commit is contained in:
Loic Guegan 2022-06-14 17:13:46 +02:00
parent b6877cb81e
commit 7f13c95e16
37 changed files with 28 additions and 56 deletions

View file

@ -2,12 +2,15 @@
# ESDS: An Extensible Simulator For Distributed Systems and Cyber-Physical Systems
[![Dependency](https://img.shields.io/badge/Python-v3.10-blue)](https://www.python.org/) [![Pipeline](https://gitlab.com/manzerbredes/esds/badges/main/pipeline.svg)](https://gitlab.com/manzerbredes/esds/-/tree/main)
**What is ESDS ?**
### What is ESDS ?
It is a short learning curve and coarse-grain network simulator. It contains the essential building blocks for the simulation of *Distributed Systems*, *Cyber-Physical Systems* (CPS), *Wireless Sensors Networks* (WSN) scenarios. It was originally designed to improve node implementation flexibility/faithfulness and mitigate the learning curve compare to existing network simulators.
ESDS is part of a research project. Thus, studies and validation experiments are available online. For more details please visit http://todo.com.
**Features:**
### Installation
`> pip install esds`
### Features
- Easy to use
- Small API
- Agent-based: node implementations are in independant python files
@ -15,13 +18,13 @@ ESDS is part of a research project. Thus, studies and validation experiments are
- Custom node mobility (by updating the network matrix)
- Nodes plugins (e.g energy consumption)
**What ESDS does not implements (yet?) ?**
### What ESDS does not implements ?
- Network protocols (e.g IP/TCP/UDP)
- Wireless physical layer models (e.g Friis and Log-Distance models, modulation, RSSI)
- Routing algorithms (e.g Shortest path)
- And much more!
**Current API:**
### Simulation API
- `api.args`
- `api.send(<int>,<data>,<size>,<dst>)`
- `api.sendt(<int>,<data>,<size>,<dst>,<t>)`
@ -35,4 +38,5 @@ ESDS is part of a research project. Thus, studies and validation experiments are
- `api.turn_off()`
- *More details on the API in [example/sender.py](example/sender.py)*
**Documentation:** see `example/` and `tests/`
### Documentation
See `example/` and `tests/`