# 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(,,,)` - `api.sendt(,,,,)` - `api.receive()` - `api.receivet(,)` - `api.wait()` - `api.wait_end()` - `api.log()` - `api.read()` - `api.turn_on()` - `api.turn_off()` - *More details in [example/sender.py](example/sender.py)* **Documentation:** cf. `example/` and `tests/`