All Projects → sbaresearch → cps-twinning

sbaresearch / cps-twinning

Licence: MIT License
A Framework for Generating and Executing Digital Twins

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to cps-twinning

awesome-industry4.0
Curated list of Industry 4.0 research, popular events, open-source software projects and learning resources that are worth looking into!
Stars: ✭ 57 (+78.13%)
Mutual labels:  industrial-automation, digital-twin
plasmidtron
Assembling the cause of phenotypes and genotypes from NGS data
Stars: ✭ 27 (-15.62%)
Mutual labels:  research
mnist1d
A 1D analogue of the MNIST dataset for measuring spatial biases and answering "science of deep learning" questions.
Stars: ✭ 72 (+125%)
Mutual labels:  research
Awesome-Multi-Task-Learning
A list of multi-task learning papers and projects.
Stars: ✭ 230 (+618.75%)
Mutual labels:  research
adage
Data and code related to the paper "ADAGE-Based Integration of Publicly Available Pseudomonas aeruginosa..." Jie Tan, et al · mSystems · 2016
Stars: ✭ 61 (+90.63%)
Mutual labels:  research
roguelike-universe
Understanding game design inspiration of roguelike games via web scraping and network analysis.
Stars: ✭ 17 (-46.87%)
Mutual labels:  research
PhD
My PhD Papers and Presentations
Stars: ✭ 24 (-25%)
Mutual labels:  research
Reproducibilty-Challenge-ECANET
Unofficial Implementation of ECANets (CVPR 2020) for the Reproducibility Challenge 2020.
Stars: ✭ 27 (-15.62%)
Mutual labels:  research
TcUnit-Runner
Program that makes it possible to automate runs of TcUnit unit tests
Stars: ✭ 23 (-28.12%)
Mutual labels:  industrial-automation
CAM
macOS camera recording using ffmpeg
Stars: ✭ 43 (+34.38%)
Mutual labels:  research
saffrontree
SaffronTree: Reference free rapid phylogenetic tree construction from raw read data
Stars: ✭ 17 (-46.87%)
Mutual labels:  research
Mava
A library of multi-agent reinforcement learning components and systems
Stars: ✭ 355 (+1009.38%)
Mutual labels:  research
whitefield
Whitefield provides a simulation environment for wireless sensor networks by combining RF simulation provided by NS3 and network stack provided by popular IoT OSes such as Contiki/RIOT/OpenThread.
Stars: ✭ 70 (+118.75%)
Mutual labels:  simulation-environment
Main
Management materials and content
Stars: ✭ 32 (+0%)
Mutual labels:  research
mbsim
A multi-body simulation software
Stars: ✭ 22 (-31.25%)
Mutual labels:  simulation-environment
x86-Assembly-Reverse-Engineering
🛠 Knowledge about the topic of x86 assembly & disassembly 🛠
Stars: ✭ 27 (-15.62%)
Mutual labels:  research
backdoors101
Backdoors Framework for Deep Learning and Federated Learning. A light-weight tool to conduct your research on backdoors.
Stars: ✭ 181 (+465.63%)
Mutual labels:  research
cuda memtest
Fork of CUDA GPU memtest 👓
Stars: ✭ 68 (+112.5%)
Mutual labels:  research
IACR-eprint-mirror
Mirror of all PDFs from the IACR's eprint
Stars: ✭ 44 (+37.5%)
Mutual labels:  research
lips
📘 Lisk improvement proposals
Stars: ✭ 61 (+90.63%)
Mutual labels:  research

CPS Twinning

CPS Twinning is a framework for generating and executing digital twins that mirror cyber-physical systems (CPSs). This framework allows to automatically generate virtual environments for digital twins completely from specification. Ideally, artifacts that specify the correct behavior of a CPS have already been created during the production system engineering (PSE) process and will be maintained throughout the entire lifecycle. Standardized engineering data exchange formats, such as AutomationML (AML), may facilitate this process.

On top of CPS Twinning, multiple use cases can be implemented, ranging from behavior-specification-based intrusion detection to behavior learning & analytics.

Installation

CPS Twinning depends on Mininet-WiFi, MatIEC and CPS State Replication.

Mininet-WiFi

To install Mininet-WiFi, follow the instructions provided by the Mininet-WiFi installation guide. Note that CPS Twinning currently depends on a forked version of Mininet-WiFi.

MatIEC

First, install the MatIEC dependencies flex and bison. For example:

$ sudo apt-get update
$ sudo apt-get install flex
$ sudo apt-get install bison	

Then, clone the MatIEC repository and build the two transcompilers:

$ hg clone ssh://[email protected]/mjsousa/matiec
$ cd matiec
$ autoreconf -i
$ ./configure
$ make

After that, set the following environment variables:

$ export MATIEC_INCLUDE_PATH=/home/<user>/matiec/lib
$ export MATIEC_C_INCLUDE_PATH=/home/<user>/matiec/lib/C
$ export PATH=/home/<user>/matiec:$PATH

CPS State Replication

To install CPS State Replication, follow the instructions provided in the README.

CPS Twinning

Finally, clone this repository and install CPS Twinning:

$ git clone https://github.com/sbaresearch/cps-twinning.git
$ cd cps-twinning
$ virtualenv env
$ source env/bin/activate
(env)$ pip install -r requirements.txt
(env)$ pip install .

Usage

Now, to start CPS Twinning, run make twinning. The generation of digital twins from an AutomationML artifact can be initiated by executing twinning <path_to_aml>. An exemplary specification can be found at misc/specification/CandyFactory.aml.

Note that this project is only a proof of concept. As a consequence, there are currently many areas that need improvements. In particular, the functionality of the AutomationML parser is currently limited and may require manual adjustments.

How to Cite

If you use CPS Twinning in your research, please consider citing our CPSS '18 publication. Feel free to use the paper's BibTeX entry.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].