https://github.com/critical-infrastructure-systems-lab/dhalsim

Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft, CISPA, and iTrust

https://github.com/critical-infrastructure-systems-lab/dhalsim

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: acm.org
  • Committers with academic emails
    9 of 19 committers (47.4%) from academic institutions
  • Institutional organization owner
    Organization critical-infrastructure-systems-lab has institutional domain (people.sutd.edu.sg)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.2%) to scientific vocabulary

Keywords

cybersecurity simulation water-distribution
Last synced: 6 months ago · JSON representation

Repository

Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft, CISPA, and iTrust

Basic Info
  • Host: GitHub
  • Owner: Critical-Infrastructure-Systems-Lab
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 245 MB
Statistics
  • Stars: 48
  • Watchers: 8
  • Forks: 24
  • Open Issues: 3
  • Releases: 8
Topics
cybersecurity simulation water-distribution
Created almost 6 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

Digital HydrAuLic SIMulator (DHALSIM)

A Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft Department of Water Management, CISPA, and iTrust

DHALSIM uses the WNTR EPANET wrapper to simulate the behaviour of water distribution systems. In addition, DHALSIM uses Mininet and MiniCPS to emulate the behavior of industrial control system controlling a water distribution system. This means that in addition to physical data, DHALSIM can also provide network captures of the PLCs, SCADA server, and other network and industrial devices present in the a water distribution system.

DHALSIM was presented in the ICSS Workshop in ACSAC'20, with the paper: Co-Simulating Physical Processes and Network Data for High-Fidelity Cyber-Security Experiments

Two papers in the Journal of Water Resources Planning and Management explain in detail DHALSIM architecture, features, and capabilities: High-fidelity cyber and physical simulation of water distribution systems. I: Models and Data and High-fidelity cyber and physical simulation of water distribution systems. II: Enabling cyber-physical attack localization

Installation

In order to offer a simple installation we have included an installation script which will install DHALSIM on an Ubuntu 20.04 machine. This script is located in the root of the repository and can be run with ./install.sh.

Running

DHALSIM can be run using the command sudo dhalsim path/to/config.yaml.

Replacing the text between "< >" with the path to one example topology or your own configuration files. For example, for the anytown example, you'd use: sudo dhalsim <examples/anytown_topology/anytown_config.yaml>

Owner

  • Name: CRITICAL Infrastructure Systems Lab
  • Login: Critical-Infrastructure-Systems-Lab
  • Kind: organization
  • Email: stefano_galelli@sutd.edu.sg
  • Location: Singapore

Connecting climate | water | energy

GitHub Events

Total
  • Create event: 2
  • Release event: 1
  • Issues event: 4
  • Watch event: 9
  • Issue comment event: 4
  • Push event: 4
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 7
Last Year
  • Create event: 2
  • Release event: 1
  • Issues event: 4
  • Watch event: 9
  • Issue comment event: 4
  • Push event: 4
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 7

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 1,214
  • Total Committers: 19
  • Avg Commits per committer: 63.895
  • Development Distribution Score (DDS): 0.755
Past Year
  • Commits: 56
  • Committers: 4
  • Avg Commits per committer: 14.0
  • Development Distribution Score (DDS): 0.161
Top Committers
Name Email Commits
afmurillo a****9@g****m 298
Robert van Dijk r****0@s****l 221
Simcha Vos a****s@s****l 175
Luc Jonker l****r@s****l 150
Maarten Weyns m****s@s****l 129
Andrés F. Murillo a****o 119
Afmurillo a****o@s****g 44
Luc Jonker l****r@s****l 27
Maarten Weyns m****s@m****e 24
Mohammad-Ashrafi m****g@g****m 6
Luc Jonker l****k@g****m 5
Simcha Vos s****n@g****m 4
stefano-galelli s****i@s****g 3
NicolasOrjuela n****a@u****o 2
Daveonwave d****i@m****t 2
Riccardo Taormina r****a@g****m 2
Luc Jonker L****r@s****l 1
Simcha Vos 5****s 1
Nils Ole Tippenhauer n****i@g****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 14
  • Total pull requests: 32
  • Average time to close issues: 5 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 7
  • Total pull request authors: 5
  • Average comments per issue: 2.29
  • Average comments per pull request: 0.03
  • Merged pull requests: 32
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 7
  • Average time to close issues: 2 months
  • Average time to close pull requests: 17 days
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 5.0
  • Average comments per pull request: 0.14
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • afmurillo (6)
  • FedezT (3)
  • jhin-coder (2)
  • MuratCaganGogebakan (1)
  • thehoodbuddha (1)
  • GuilleChinarro (1)
  • theh2oweb (1)
  • JeroenLam (1)
  • JJ-ing (1)
  • gomitolof (1)
Pull Request Authors
  • afmurillo (32)
  • Daveonwave (1)
  • marcelopessoa1 (1)
  • Tuto96 (1)
  • robertdijk (1)
  • simchavos (1)
Top Labels
Issue Labels
toDo (3) invalid (1)
Pull Request Labels

Dependencies

requirements-dev.txt pypi
  • mininet * development
  • pytest * development
  • pyyaml * development
requirements.txt pypi
  • mininet *
  • pyyaml *
  • scapy *
setup.py pypi
  • PyYAML ==5.4.1
  • antlr4-python3-runtime ==4.7.2
  • fnfqueue *
  • matplotlib ==3.5.0
  • pandas ==1.3.4
  • progressbar2 *
  • pyyaml-include *
  • scapy *
  • schema *
  • wntr *