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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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