Init ESDS repository

This commit is contained in:
Loic Guegan 2022-06-09 21:48:32 +02:00
commit c2e6aad09f
106 changed files with 2638 additions and 0 deletions

30
README.md Normal file
View file

@ -0,0 +1,30 @@
# ESDS: An Extensible Simulator For Distributed Systems and Cyber-Physical Systems
**What is ESDS ?**
It is a short learning curve and coarse-grain network simulator. It contains the essential building blocks for the simulation of *Cyber-Physical Systems* (CPS) and *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.
**What ESDS does not implements?**
- Network protocols (such as IP/TCP/UDP)
- Wireless physical layer models
- Routing algorithms
- And much more!
**Features:**
- The implementation of node behavior can be any python file that you have wrote
- Wireless interferences detection (not modelization)
- Simulation can be interrupted at constant intervals to perform custom actions (such as implement nodes mobility)
**Current API:**
- `api.args`
- `api.send(interface, data,size, dst)`
- `api.sendt(interface, data,size, dst,timeout)`
- `api.receive(interface)`
- `api.receivet(interface,timeout)`
- `api.clock()`
- `api.log(msg)`
- `api.wait(duration)`
- `api.turn_off(duration)`
- *More details in [example/sender.py](example/sender.py)*
**Documentation:** cf. `example/` and `tests/`