An Extensible Simulator for Distributed Systems
Project description
ESDS: An Extensible Simulator For Distributed Systems and Cyber-Physical Systems
What is ESDS ?
It is a short learning curve and coarse-grain simulator for distributed systems. ESDS contains the building blocks for the simulation of Distributed Systems, Cyber-Physical Systems (CPS), Wireless Sensors Networks (WSN) etc. It is designed to improve the flexibility/faithfulness of nodes implementations and mitigate the learning curve compare to existing simulators.
ESDS is part of a research project. Studies and validation experiments are available online. For more details please visit http://todo.com.
Installation
> pip install esds
To ensure that esds is properly working and installed on your system, you can clone this repository, and run the simulation tests with one of the following scripts:
tests/run.sh
tests/run.py
Features
- Easy to use
- Small API
- Agent-based: node implementations are located in dedicated python files
- Wireless interferences detection (i.e not modelization)
- Node mobility (through dynamic updates of the network matrices)
- Node plugins (e.g: energy consumption)
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!
Simulation API
api.args
api.send(<int>,<data>,<size>,<dst>)
api.sendt(<int>,<data>,<size>,<dst>,<t>)
api.receive(<int>)
api.receivet(<int>,<t>)
api.wait(<t>)
api.wait_end()
api.log(<message>)
api.read(<register>)
api.turn_on()
api.turn_off()
- More detailed examples are available here:
Documentation
The documentation of ESDS is available in the user manual.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file esds-0.0.8.tar.gz
.
File metadata
- Download URL: esds-0.0.8.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bcf671d77af53acdbccc1cf57d24e9c70c036bfd85c626e5738068d1f27264f |
|
MD5 | caabc6774a831e4389a86a00b27f0324 |
|
BLAKE2b-256 | c62148161ede3d6712365321dc77618d06f1a4bd858c2e87d33855d5c9cb295f |
File details
Details for the file esds-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: esds-0.0.8-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 146bf599ed7aebf1be2bb4ccdc084e5b75772619aa0872e42f12e624e93231fd |
|
MD5 | 74b4348b6e849f80151f8f86983b90fc |
|
BLAKE2b-256 | b81dd7d3f6f9070a66c446a98bb9756d9376ae6eae8ad47d975ca547b96e4347 |