The Digital Twin as a Service (DTaaS) software is useful to create and run digital twins. The digital twins that are running can be used as service by other users. These users need not be members of the DTaaS software platform itself.
There is an overview of the software available for:
- General users - overview slides and overview video, feature walkthrough
- Developers - slides and video.
There is also a research paper draft if you are interested in reading the scientific roadmap for this software.
This is a mono repo containing code for both the web client and the microservices code base. Only the web client and library microservice components are functional at present. Everything else is a work-in-progress.
The software comes with documentation for administrators and users. You are welcome to open an issue if there is a suggestion on improving the documentation.
The software can be installed either on
Ubuntu Server 22.04 Operating System or
on vagrant virtual machine(s).
The installation instructions and scripts in deploy/
should help you get started.
If you face any issues,
please open an
issue.
Some of the services like InfluxDB
require a dedicated hostname.
Thus successful installation of these services
is dependent on your ability to use
multiple hostnames for different services.
There are dedicated installation scripts
for services in script/
.
The rest of the information on this page is aimed at current and potential contributors to DTaaS software development.
To install the development environment, run
bash script/env.sh
There is a script to download all the docker containers used in the project. You can download them using
bash script/docker.sh
CAVEAT: The docker images are large and are likely to consume about 5GB of bandwidth and 15GB of space. You will have to download the docker images on a really good network.
Before you make commits, please install the git hooks provided in the repository.
bash script/configure-git-hooks.sh
This will ensure that your commits are formatted
correctly and that the unittests pass before you
push your changes.
Be aware that the tests take a long time to run.
If you want to skip the tests or formatting,
you can use the --no-verify
flag
on git commit
or git push
.
The application uses Træfik and ML Workspace open-source components. It is possible to run jupyterlab notebooks, Grafana servers, InfluxDB and RabbitMQ as part of the DTaaS software.
This software is owned by The INTO-CPS Association and is available under the INTO-CPS License.
The DTaaS software platform uses Træfik, ML Workspace, Grafana, InfluxDB and RabbitMQ open-source components. These software components have their own licenses.