summaryrefslogtreecommitdiff
path: root/README.md
blob: 5ad4a8eaeef892182106bccafc13210edb2600fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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/`