Table of Contents:
- Why Not Use Proprietary Digital Twin Software?
- Open Source Digital Twin Software & Tools
- Comparative Study on Open Source Digital Twin Platforms
Digital twin platforms are specialized software that allow the digitalization of a specific area or object in the real world. In other words, they create a simulation for the physical object.
This digitalization process later on allows performing various study, analysis and manipulation tasks on the properties of the data which was not possible of course on the real-world object.
It could be very beneficial for scientific research, and other industry-driven needs.
Why Not Use Proprietary Digital Twin Software?
The following issues could face you if you decide to use a proprietary service for this use case:
- Cost: Most proprietary digital twin software could charge you for monthly operations and the number of objects defined, which is not economical in the long run.
- Vendor lock-in: You are stuck with this vendor, their tools, data model and their formats. You can not easily migrate to other vendors or get 3rd-party support if you decide to drop them.
- Development limitation: With open source solutions, you can modify the digital twin tools according to your own needs and even fork them if you desire to. Of course, you can’t do that at all with proprietary solutions.
- Data Ownership: You own your entire stack if you use the open-source software alternatives in this sector. But if you use a proprietary solution, then your data will be hosted on someone else’s cloud and is not really your data. This could be both a security and privacy risk.
For all of these reasons combined, it is very much desired to use open-source digital twin software instead of proprietary ones like Azure Digital Twin and Ansys.
Open Source Digital Twin Software & Tools
Together, we will explore a list of open source digital twin platforms that you can use if you are going to have some work related to this sector.
1. Eclipse Ditto
Eclipse Ditto by the Eclipse Foundation is an open-source framework for making digital twins of IoT (Internet of Things) connected devices. It is suitable if you are making a digital twin for a large network of IoT devices and want to establish connectivity between them using clear API and JSON-based communications.
Those devices could be anything: A bunch of Rasberry Pi’s, cars, homemade devices or whatever electrical device that you want to connect to something else.
The software provides a web interface (like the above image) to manage devices and control them in the digital twin.
Licensed under the EPL2.0 license and written in Java, Eclipse Ditto also enjoys the following features:
- A long list of enterprise users and supporters, ensuring its stable development future.
- Clear and comprehensive documentation for all aspects of the software.
- Different SDKs in multiple programming languages for developing suitable clients, which include Python, Java, JavaScrpit and Go languages.
- Using MongoDB as a database server and Nginx as a reverse proxy.
2. Eclipse BaSyx
Also developed by the Eclipse Foundation, Eclipse BaSyx is an implementation of the Asset Administration Shell (AAS) for making digital twins for industrial processes.
It offers connectivity with machines using MQTT, OPC-UA, Fieldbus and PLC4X protocols.
It is suitable for usage in factories or manufacturing jobs where you might desire to connect your different production machines together under a unified communication platform so that you can manage them with ease. The following video explains its use case further:
The platform offers SDKs in the following languages: Java, Python, .NET (C#), C++ and Rust. It also has a web UI component to connect to the AAS (Asset Administrative Shell) and manage connected devices through it.
Eclipse BaSyx DataBridge is an additional module that allows connecting physical assets to the AAS with little technical expertise required so that the data coming out of these assets can, later on, be aggregated and monitored with integrated tools like Grafana Dashboard and others.
It’s worth mentioning that Eclipse is funded by the German Federal Ministry for Education and Research (BMBF). So its development is stable and won’t be going away anytime soon. This is not to mention the large list of enterprise partners behind it.
Some of Eclise BaSyx components are licensed under the EPL2.0 license while others are released under the MIT license. The GitHub profile of the project contains all source codes for all parts of the project.
3. Eclipse AASX Package Explorer
The Eclipse Foundation has a ton load of projects when it comes to Digital Twins. It is part of their umbrella project, for which they receive a lot of funding from various enterprises, named “Eclipse Digital Twin“.
Another project in this series is the Eclipse AASX Package Explorer. It is simpler than the previous solutions in the list, mainly because it is only a viewer/editor for digitalized assets written with Asset Administrative Shell (AAS) standard.
The software is written in C#, and features a REST API server when needed to allow data communications. The documentation is top-notch for it with the availability of a lot of screencasts explaining every aspect of the software.
4. Eclipse Semantic Modeling Framework
Part of the Eclipse family as you can expect, ESMF is a complete framework for the creation of digital twins in any industry. It features an editor, a data model, a couple of SDKs, a command-line-based validator and multiple serialization tools for working on data.
It uses its own data model named “Semantic Aspect Meta Model” (SAMM) to describe and create models that can be used later on for the creation of digital twin assets.
It is very well documented with its comprehensive documentation portal. So you won’t find trouble learning it if you have a decent enough knowledge in the field.
5. NOVA Asset Administration Shell
Developed by the NOVA School of Science and Technology in Portugal, NOVA Asset Administration Shell (NOVAAS) is an open-source editor for viewing AAS assets. It provides a simple web-based interface for dealing with the program, and hence, should work easily on any device.
The following lecture by its authors explains its architecture and why it was created. You can view the parts that interest you the most if you find it long to view it whole:
It is available for installation as a Docker image, so you can set it up in no time.
The software is released under the “European Union Public License” (EUPL) license, which is an OSI-compatible license.
Moving to a different domain, iTwin.js is a digital-twin tool for the creation and visualization of digital maps that correspond to real-world areas or objects. It is suitable for civil designers for city planning and digital twins.
Originally, iTwin is a premium service that requires a subscription to be used and accessed, but its core library (which is responsible for the whole system), iTwin.js, is open source and available for use by anyone.
7. DTCC Platform
Another platform for city planning and civil development is the “DTCC Platform”, which is part of the “Digital Twin Cities Centre” organization that promotes such types of tools.
It originates from Sweden, and the platform is funded by Sweden’s Innovation Agency Vinnova.
The GitHub repositories they offer are divided into smaller components that can be deployed on their own. There is a data model, visual builder, viewer and editor, and a set of other helpful addons and tools for the project.
All the project’s components are written in the Python programming language, and are released under the MIT license.
Sadly their documentation is not that well written, and there are a lot of missing aspects on how to use each of these components. It was released in late 2023, so it is a new project. Perhaps that’s why they are still missing on the documentation side.
You can see TerriaJS in action from the ready deployments on the websites of Australia National Map and NSW Spatial Digital Twin. From there, you can see some demo features of the map viewer tool in TerriaJS directly in your web browser.
Decent documentation of the library is available at: https://docs.terria.io/
For source code, you may check the project’s page on GitHub. All parts of the library are licensed under the Apache2.0 license.
INTO-CPS is a toolbox designed to help with the development of Cyber-Physical Systems (CPSs), which have many intricate parts like software controllers, mechanical pieces, and electrical circuits.
You first design the digital twin of the object/device you need, and then can use the software to run a simulation (or a set of simulations) on it according to your setup.
Here’s what INTO-CPS can do:
- Model individual components, called Functional Mock-up Units (FMUs).
- Run co-simulations.
- Evaluate the effects of various design choices.
- Test and validate FMUs.
- Connect simulations with real prototypes.
Additionally, this project provides a service called DTaaS (Digital twin as a service) which is written in TypeScript. You can deploy it on your own server to create digital twins online via the online platform:
Other parts of the toolchains they depend on are released under their collective GitHub profile.
10. CPS Twinning
CPS Twinning is a proof-of-concept framework for modelling CPS (Cyber-physical systems) assets. It generates virtual digital twins directly from an AutomationML (AML) specification file, and is still currently not released as a ready digital twin platform.
Still, it could be helpful for any hobbyists out there who want to try such types of frameworks according to their own needs.
The software is licensed under the MIT license.
Comparative Study on Open Source Digital Twin Platforms
The research paper titled “Survey on open-source digital twin frameworks–A casestudy approach” by Gil S. et al., which was published in January 2024, is what informed us about the topic of open-source digital twins and motivated us to publish about it.
In their study, researchers analyzed and compared these open-source digital twin platforms according to the suitable use case, and they tried to use some of them to implement one of these use cases and see which one was the most helpful one.
Apparently, the “INTO-CPS” platform was the finest for the industrial use case they tested.
Although making industrial simulations and digital twins is a very niche topic which requires a lot of expertise and dedication, we have found that there are so many open-source platforms and helpful tools in the market that can fulfill this sector.
Today, open source software are everywhere, in every sector and in every niche, and they are no longer lagging behind the competition with proprietary solutions which.
If you know about another software platform that should be in this list, then let us know in the commetns below.
FOSS Post is a high-quality online magazine about Linux and open source software. With a team of professional writers from all over the world, we bring you the latest articles, analysis and reviews related to open source.
Articles published with this account are written as a collaborative effort between writers. You can email us at [email protected]