mirror of
https://gitlab.com/manzerbredes/esds.git
synced 2025-04-06 01:56:27 +02:00
31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
![]() |
|
||
|
# 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/`
|