summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-06-14 17:13:46 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2022-06-14 17:13:46 +0200
commit7f13c95e16a802d0706e9f5a6d5d845d7fd67631 (patch)
tree65cb3c0faec397cb1b06894645d060514f6b242d
parentb6877cb81e56c3991d0dbcf9fa579f627a4c2a29 (diff)
Major refactoring:
- Create pip package - Reorganized source code
-rw-r--r--.gitignore2
-rw-r--r--README.md14
-rw-r--r--esds/__init__.py3
-rw-r--r--esds/esds.py (renamed from esds.py)0
-rw-r--r--esds/plugins/__init__.py (renamed from plugins/__init__.py)0
-rw-r--r--esds/plugins/node_plugin.py (renamed from plugins/node_plugin.py)0
-rw-r--r--esds/plugins/operating_states.py (renamed from plugins/operating_states.py)0
-rw-r--r--esds/plugins/power_states.py (renamed from plugins/power_states.py)0
-rw-r--r--esds/plugins/wireless_area.py (renamed from plugins/wireless_area.py)0
-rwxr-xr-xexample/simulator.py1
-rw-r--r--pyproject.toml3
-rw-r--r--setup.cfg11
-rwxr-xr-xtests/hidden_node_2s1r/simulator.py2
-rwxr-xr-xtests/mobility_eth0_bandwidth_1s1r/simulator.py2
-rwxr-xr-xtests/mobility_eth0_bandwidth_2s1r/simulator.py2
-rwxr-xr-xtests/mobility_eth0_latency_1s1r/simulator.py2
-rwxr-xr-xtests/mobility_eth0_latency_2s1r/simulator.py2
-rwxr-xr-xtests/mobility_wlan0_bandwidth_1s1r/simulator.py2
-rwxr-xr-xtests/mobility_wlan0_latency_1s1r/simulator.py2
-rwxr-xr-xtests/simple_breakpoints_auto_1n/simulator.py2
-rwxr-xr-xtests/simple_breakpoints_manual_1n/simulator.py2
-rwxr-xr-xtests/simple_breakpoints_manual_no_callback_1n/simulator.py2
-rwxr-xr-xtests/simple_log_5n/simulator.py2
-rwxr-xr-xtests/simple_read_clock_2n/simulator.py2
-rwxr-xr-xtests/simple_read_eth0_ncom_2s1r/simulator.py2
-rwxr-xr-xtests/simple_read_wlan0_ncom_2s1r/simulator.py2
-rwxr-xr-xtests/simple_receivet_eth0_1s1r/simulator.py2
-rwxr-xr-xtests/simple_send_4interfaces_1s2r/simulator.py2
-rwxr-xr-xtests/simple_send_eth0_1s1r/simulator.py2
-rwxr-xr-xtests/simple_send_eth0_2s1r/simulator.py2
-rwxr-xr-xtests/simple_send_eth0_3s1r/simulator.py2
-rwxr-xr-xtests/simple_send_wlan0_1s2r/simulator.py2
-rwxr-xr-xtests/simple_send_wlan0_2s1r/simulator.py2
-rwxr-xr-xtests/simple_sendt_eth0_1s1r/simulator.py2
-rwxr-xr-xtests/simple_sendt_wlan0_1s2r/simulator.py2
-rwxr-xr-xtests/simple_wait_2n/simulator.py2
-rwxr-xr-xtests/simple_wait_end_3n/simulator.py2
37 files changed, 28 insertions, 56 deletions
diff --git a/.gitignore b/.gitignore
index aabeefd..4bd1f01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
__pycache__
esds.debug
+dist
+esds.egg* \ No newline at end of file
diff --git a/README.md b/README.md
index 44af7d6..88b03c0 100644
--- a/README.md
+++ b/README.md
@@ -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/`
diff --git a/esds/__init__.py b/esds/__init__.py
new file mode 100644
index 0000000..bee183e
--- /dev/null
+++ b/esds/__init__.py
@@ -0,0 +1,3 @@
+__all__ = ["simulator", "plugins"]
+
+from esds.esds import Simulator
diff --git a/esds.py b/esds/esds.py
index 148c205..148c205 100644
--- a/esds.py
+++ b/esds/esds.py
diff --git a/plugins/__init__.py b/esds/plugins/__init__.py
index abb734a..abb734a 100644
--- a/plugins/__init__.py
+++ b/esds/plugins/__init__.py
diff --git a/plugins/node_plugin.py b/esds/plugins/node_plugin.py
index 325ff8a..325ff8a 100644
--- a/plugins/node_plugin.py
+++ b/esds/plugins/node_plugin.py
diff --git a/plugins/operating_states.py b/esds/plugins/operating_states.py
index 400aa1b..400aa1b 100644
--- a/plugins/operating_states.py
+++ b/esds/plugins/operating_states.py
diff --git a/plugins/power_states.py b/esds/plugins/power_states.py
index be3d085..be3d085 100644
--- a/plugins/power_states.py
+++ b/esds/plugins/power_states.py
diff --git a/plugins/wireless_area.py b/esds/plugins/wireless_area.py
index 958d4ba..958d4ba 100644
--- a/plugins/wireless_area.py
+++ b/esds/plugins/wireless_area.py
diff --git a/example/simulator.py b/example/simulator.py
index aa8df54..12b7caa 100755
--- a/example/simulator.py
+++ b/example/simulator.py
@@ -2,7 +2,6 @@
# Load ESDS
import sys
-sys.path.append("../")
import esds
# Use numpy to construct bandwidth and latencies matrix
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..7fd26b9
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools"]
+build-backend = "setuptools.build_meta" \ No newline at end of file
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..72e943a
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,11 @@
+[metadata]
+name = esds
+version = 0.0.1
+author = Loic Guegan
+maintainer = Loic Guegan
+description = Extensible Simulator of Distributed Systems
+keywords = simulator, distributed systems, cyber-physical systems, network, wireless, wired
+license = GNU LGPLv3
+
+[options]
+install_requires = numpy >= 1.22.4
diff --git a/tests/hidden_node_2s1r/simulator.py b/tests/hidden_node_2s1r/simulator.py
index 4042e65..c8dd094 100755
--- a/tests/hidden_node_2s1r/simulator.py
+++ b/tests/hidden_node_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/mobility_eth0_bandwidth_1s1r/simulator.py b/tests/mobility_eth0_bandwidth_1s1r/simulator.py
index 986a863..396c79e 100755
--- a/tests/mobility_eth0_bandwidth_1s1r/simulator.py
+++ b/tests/mobility_eth0_bandwidth_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/mobility_eth0_bandwidth_2s1r/simulator.py b/tests/mobility_eth0_bandwidth_2s1r/simulator.py
index 261000c..ed58854 100755
--- a/tests/mobility_eth0_bandwidth_2s1r/simulator.py
+++ b/tests/mobility_eth0_bandwidth_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/mobility_eth0_latency_1s1r/simulator.py b/tests/mobility_eth0_latency_1s1r/simulator.py
index bdb5d19..b03c5bc 100755
--- a/tests/mobility_eth0_latency_1s1r/simulator.py
+++ b/tests/mobility_eth0_latency_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/mobility_eth0_latency_2s1r/simulator.py b/tests/mobility_eth0_latency_2s1r/simulator.py
index 9ed6d40..05dfee8 100755
--- a/tests/mobility_eth0_latency_2s1r/simulator.py
+++ b/tests/mobility_eth0_latency_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/mobility_wlan0_bandwidth_1s1r/simulator.py b/tests/mobility_wlan0_bandwidth_1s1r/simulator.py
index 3f9dcf7..3826713 100755
--- a/tests/mobility_wlan0_bandwidth_1s1r/simulator.py
+++ b/tests/mobility_wlan0_bandwidth_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/mobility_wlan0_latency_1s1r/simulator.py b/tests/mobility_wlan0_latency_1s1r/simulator.py
index f2a51f9..c28bf15 100755
--- a/tests/mobility_wlan0_latency_1s1r/simulator.py
+++ b/tests/mobility_wlan0_latency_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_breakpoints_auto_1n/simulator.py b/tests/simple_breakpoints_auto_1n/simulator.py
index 69da116..ac24a03 100755
--- a/tests/simple_breakpoints_auto_1n/simulator.py
+++ b/tests/simple_breakpoints_auto_1n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_breakpoints_manual_1n/simulator.py b/tests/simple_breakpoints_manual_1n/simulator.py
index 22e79fd..dd12ed3 100755
--- a/tests/simple_breakpoints_manual_1n/simulator.py
+++ b/tests/simple_breakpoints_manual_1n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_breakpoints_manual_no_callback_1n/simulator.py b/tests/simple_breakpoints_manual_no_callback_1n/simulator.py
index fbd8c49..fe4b491 100755
--- a/tests/simple_breakpoints_manual_no_callback_1n/simulator.py
+++ b/tests/simple_breakpoints_manual_no_callback_1n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_log_5n/simulator.py b/tests/simple_log_5n/simulator.py
index 749b699..d9346cd 100755
--- a/tests/simple_log_5n/simulator.py
+++ b/tests/simple_log_5n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_read_clock_2n/simulator.py b/tests/simple_read_clock_2n/simulator.py
index 1df5ae6..fc0e80d 100755
--- a/tests/simple_read_clock_2n/simulator.py
+++ b/tests/simple_read_clock_2n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_read_eth0_ncom_2s1r/simulator.py b/tests/simple_read_eth0_ncom_2s1r/simulator.py
index ac6fac7..85a0671 100755
--- a/tests/simple_read_eth0_ncom_2s1r/simulator.py
+++ b/tests/simple_read_eth0_ncom_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_read_wlan0_ncom_2s1r/simulator.py b/tests/simple_read_wlan0_ncom_2s1r/simulator.py
index ac6fac7..85a0671 100755
--- a/tests/simple_read_wlan0_ncom_2s1r/simulator.py
+++ b/tests/simple_read_wlan0_ncom_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_receivet_eth0_1s1r/simulator.py b/tests/simple_receivet_eth0_1s1r/simulator.py
index 40c5afa..7c3e389 100755
--- a/tests/simple_receivet_eth0_1s1r/simulator.py
+++ b/tests/simple_receivet_eth0_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_send_4interfaces_1s2r/simulator.py b/tests/simple_send_4interfaces_1s2r/simulator.py
index 9b35760..f7ebbf6 100755
--- a/tests/simple_send_4interfaces_1s2r/simulator.py
+++ b/tests/simple_send_4interfaces_1s2r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_send_eth0_1s1r/simulator.py b/tests/simple_send_eth0_1s1r/simulator.py
index 7156d78..ae5bbea 100755
--- a/tests/simple_send_eth0_1s1r/simulator.py
+++ b/tests/simple_send_eth0_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_send_eth0_2s1r/simulator.py b/tests/simple_send_eth0_2s1r/simulator.py
index 58d181d..4cce1d0 100755
--- a/tests/simple_send_eth0_2s1r/simulator.py
+++ b/tests/simple_send_eth0_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_send_eth0_3s1r/simulator.py b/tests/simple_send_eth0_3s1r/simulator.py
index 5b40961..84c0de0 100755
--- a/tests/simple_send_eth0_3s1r/simulator.py
+++ b/tests/simple_send_eth0_3s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_send_wlan0_1s2r/simulator.py b/tests/simple_send_wlan0_1s2r/simulator.py
index 3f007ba..e721a93 100755
--- a/tests/simple_send_wlan0_1s2r/simulator.py
+++ b/tests/simple_send_wlan0_1s2r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_send_wlan0_2s1r/simulator.py b/tests/simple_send_wlan0_2s1r/simulator.py
index 58d181d..4cce1d0 100755
--- a/tests/simple_send_wlan0_2s1r/simulator.py
+++ b/tests/simple_send_wlan0_2s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_sendt_eth0_1s1r/simulator.py b/tests/simple_sendt_eth0_1s1r/simulator.py
index 7156d78..ae5bbea 100755
--- a/tests/simple_sendt_eth0_1s1r/simulator.py
+++ b/tests/simple_sendt_eth0_1s1r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_sendt_wlan0_1s2r/simulator.py b/tests/simple_sendt_wlan0_1s2r/simulator.py
index 3f007ba..e721a93 100755
--- a/tests/simple_sendt_wlan0_1s2r/simulator.py
+++ b/tests/simple_sendt_wlan0_1s2r/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_wait_2n/simulator.py b/tests/simple_wait_2n/simulator.py
index 1df5ae6..fc0e80d 100755
--- a/tests/simple_wait_2n/simulator.py
+++ b/tests/simple_wait_2n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np
diff --git a/tests/simple_wait_end_3n/simulator.py b/tests/simple_wait_end_3n/simulator.py
index 5bc3c61..4d1763e 100755
--- a/tests/simple_wait_end_3n/simulator.py
+++ b/tests/simple_wait_end_3n/simulator.py
@@ -1,8 +1,6 @@
#!/usr/bin/env python
# Load ESDS
-import sys
-sys.path.append("../../")
import esds
import numpy as np