Skip to main content

An Extensible Simulator for Distributed Systems

Project description

ESDS: An Extensible Simulator For Distributed Systems and Cyber-Physical Systems

Dependency Pipeline

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

esds-0.0.8.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

esds-0.0.8-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

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

Hashes for esds-0.0.8.tar.gz
Algorithm Hash digest
SHA256 8bcf671d77af53acdbccc1cf57d24e9c70c036bfd85c626e5738068d1f27264f
MD5 caabc6774a831e4389a86a00b27f0324
BLAKE2b-256 c62148161ede3d6712365321dc77618d06f1a4bd858c2e87d33855d5c9cb295f

See more details on using hashes here.

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

Hashes for esds-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 146bf599ed7aebf1be2bb4ccdc084e5b75772619aa0872e42f12e624e93231fd
MD5 74b4348b6e849f80151f8f86983b90fc
BLAKE2b-256 b81dd7d3f6f9070a66c446a98bb9756d9376ae6eae8ad47d975ca547b96e4347

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page