Digital Twins: Eclipse Ditto
Mar 02 2017
The concept of a "digital twin" has been making popping up in the industry thanks to industrial giant GE. The concept is pretty simple - basically a twin is referring to a cloud-based model of a real-world physical asset.
The implications of this is that you are able to expose and interact with the inner workings of the device and its surrounding systems in real-time. This also provides the ability to introduce parameters against the model to improve its efficiency, etc before you deploy the changes in the real world.
Ditto addresses the following aspects in its scope:
By exposing a unified resource-based API to interact with devices, the complexity of different device types and how devices are connected can be abstracted away. The device can then be turned inot a service and used in other services.
- State management for Digital Twins
Differ between reported (last known), desired (target) and current state (live) of devices, including support for synchronization and publishing of state changes.
- Organize your set of Digital Twins
Support finding and selecting sets of Digital Twins by providing search functionality on meta data and state data. That data is automatically indexed by Ditto which leads to fast search responses provided by the search API, even when there are millions of devices to search in.
The Ditto project augments several of the other Eclipse IoT projects.
- Eclipse Hono for the message exchange with devices
- Eclipse Vorto for the modeling of device structures reflected by the Digital Twins
- Eclipse Hawkbit for rolling out software updates based on meta-data of the Digital Twins
- Eclipse Kapua as integration framework as easy quick-start for end-to-end IoT solutions leveraging the Digital Twins approach
The initial project contributions are set to go live in Q2 of this year with several microservices bundled as Docker images..
More details can be found on the Ditto project page.
+ Definition of a simple "Digital Twin State Management Protocol" using JSON for command- and events-based interaction with devices
+ Authorization/Access control at device API enforcing that only allowed individuals may read/write
+ Out-of-box integration with Eclipse Hono for communication with devices using standard or custom device protocols