esds


Nameesds JSON
Version 0.0.8 PyPI version JSON
download
home_pageNone
SummaryAn Extensible Simulator for Distributed Systems
upload_time2024-03-21 10:20:18
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords simulator distributed systems cyber-physical systems network wireless wired
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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 ?
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:
  - [example/sender.py](https://gitlab.com/manzerbredes/esds/-/blob/main/example/sender.py)
  - [example/receiver.py](https://gitlab.com/manzerbredes/esds/-/blob/main/example/receiver.py)

### Documentation
The documentation of ESDS is available in the [user manual](https://gitlab.com/manzerbredes/esds/-/blob/main/manual/manual.pdf).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "esds",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "simulator, distributed systems, cyber-physical, systems, network, wireless, wired",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/c6/21/48161ede3d6712365321dc77618d06f1a4bd858c2e87d33855d5c9cb295f/esds-0.0.8.tar.gz",
    "platform": null,
    "description": "\n# ESDS: An Extensible Simulator For Distributed Systems and Cyber-Physical Systems\n[![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)\n\n### What is ESDS ?\nIt 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. \n\nESDS is part of a research project. Studies and validation experiments are available online. For more details please visit http://todo.com.\n\n### Installation\n`> pip install esds`\n\nTo 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:\n- `tests/run.sh`\n- `tests/run.py`\n\n### Features\n- Easy to use\n- Small API\n- Agent-based: node implementations are located in dedicated python files\n- Wireless interferences detection (i.e not modelization)\n- Node mobility (through dynamic updates of the network matrices)\n- Node plugins (e.g: energy consumption)\n\n### What ESDS does not implements ?\n- Network protocols (e.g IP/TCP/UDP)\n- Wireless physical layer models (e.g: Friis and Log-Distance models, modulation, RSSI)\n- Routing algorithms (e.g: Shortest path)\n- And much more!\n\n### Simulation API\n- `api.args`\n- `api.send(<int>,<data>,<size>,<dst>)`\n- `api.sendt(<int>,<data>,<size>,<dst>,<t>)`\n- `api.receive(<int>)`\n- `api.receivet(<int>,<t>)`\n- `api.wait(<t>)`\n- `api.wait_end()`\n- `api.log(<message>)`\n- `api.read(<register>)`\n- `api.turn_on()`\n- `api.turn_off()`\n- More detailed examples are available here:\n  - [example/sender.py](https://gitlab.com/manzerbredes/esds/-/blob/main/example/sender.py)\n  - [example/receiver.py](https://gitlab.com/manzerbredes/esds/-/blob/main/example/receiver.py)\n\n### Documentation\nThe documentation of ESDS is available in the [user manual](https://gitlab.com/manzerbredes/esds/-/blob/main/manual/manual.pdf).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An Extensible Simulator for Distributed Systems",
    "version": "0.0.8",
    "project_urls": null,
    "split_keywords": [
        "simulator",
        " distributed systems",
        " cyber-physical",
        " systems",
        " network",
        " wireless",
        " wired"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b81dd7d3f6f9070a66c446a98bb9756d9376ae6eae8ad47d975ca547b96e4347",
                "md5": "74b4348b6e849f80151f8f86983b90fc",
                "sha256": "146bf599ed7aebf1be2bb4ccdc084e5b75772619aa0872e42f12e624e93231fd"
            },
            "downloads": -1,
            "filename": "esds-0.0.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "74b4348b6e849f80151f8f86983b90fc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 23396,
            "upload_time": "2024-03-21T10:20:16",
            "upload_time_iso_8601": "2024-03-21T10:20:16.884334Z",
            "url": "https://files.pythonhosted.org/packages/b8/1d/d7d3f6f9070a66c446a98bb9756d9376ae6eae8ad47d975ca547b96e4347/esds-0.0.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c62148161ede3d6712365321dc77618d06f1a4bd858c2e87d33855d5c9cb295f",
                "md5": "caabc6774a831e4389a86a00b27f0324",
                "sha256": "8bcf671d77af53acdbccc1cf57d24e9c70c036bfd85c626e5738068d1f27264f"
            },
            "downloads": -1,
            "filename": "esds-0.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "caabc6774a831e4389a86a00b27f0324",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 21267,
            "upload_time": "2024-03-21T10:20:18",
            "upload_time_iso_8601": "2024-03-21T10:20:18.661986Z",
            "url": "https://files.pythonhosted.org/packages/c6/21/48161ede3d6712365321dc77618d06f1a4bd858c2e87d33855d5c9cb295f/esds-0.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-21 10:20:18",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "esds"
}
        
Elapsed time: 0.29963s