Create a Digital Twin
The first step in digital twin creation is to use the available assets in your workspace. If you have assets / files in your computer that need to be available in the DTaaS workspace, then please follow the instructions provided in library assets.
There are dependencies among the library assets. These dependencies are shown below.
A digital twin can only be created by linking the assets in a meaningful way. This relationship can be expressed using a mathematical equation:
where D denotes data, M denotes models, F denotes functions, T denotes tools, denotes DT configuration and is a symbolic notation for a digital twin itself. The expression denotes composition of DT from D,M,T and F assets. The indicates zero or one more instances of an asset and indicates one or more instances of an asset.
The DT configuration specifies the relevant assets to use, the potential parameters to be set for these assets. If a DT needs to use RabbitMQ, InfluxDB like services supported by the platform, the DT configuration needs to have access credentials for these services.
This kind of generic DT definition is based on the DT examples seen in the wild. You are at liberty to deviate from this definition of DT. The only requirement is the ability to run the DT from either commandline or desktop.
Tip
If you are stepping into the world of Digital Twins, you might not have distinct digital twin assets. You are likely to have one directory of everything in which you run your digital twin. In such a case we recommend that you upload this monolithic digital twin into digital twin/your_digital_twin_name directory.
Example
The Examples repository contains a co-simulation setup for mass spring damper. The complete details on this example are available on github.
This example illustrates the potential of using co-simulation for digital twins.
The file system contents for this example are:
The workspace/data/mass-spring-damper/
contains input
and output
data for the mass-spring-damper digital twin.
The two FMU models needed for this digital twin are in models/
directory.
The co-simulation digital twin needs Maestro co-simulation orchestrator. Since this is a reusable asset for all the co-simulation based DTs, the tool has been placed in common/tools/
directory.
The actual digital twin configuration is specified in digital twins/mass-spring-damper
directory. The co-simulation configuration is specified in two json files, namely cosim.json
and time.json
. A small explanation of digital twin for its users can be placed in digital twins/mass-spring-damper/README.md
.
The launch program for this digital twin is in digital twins/mass-spring-damper/lifecycle/execute
. This launch program runs the co-simulation digital twin. The co-simulation runs till completion and then ends. The programs in digital twins/mass-spring-damper/lifecycle
are responsible for lifecycle management of this digital twin. The lifecycle page provides more explanation on these programs.
Execution of a Digital Twin
A frequent question arises on the run time characteristics of a digital twin. The natural intuition is to say that a digital twin must operate as long as its physical twin is in operation. If a digital twin runs for a finite time and then ends, can it be called a digital twin?
The answer is a resounding YES. The Industry 4.0 usecases seen among SMEs have digital twins that run for a finite time. These digital twins are often run at the discretion of the user.
You can run this digital twin by
- Go to Workbench tools page of the DTaaS website and open VNC Desktop. This opens a new tab in your browser
- A page with VNC Desktop and a connect button comes up. Click on Connect. You are now connected to the Linux Desktop of your workspace.
- Open a Terminal (black rectangular icon in the top left region of your tab) and type the following commands.
- Download the example files
- Open a file browser and copy the files from this uncompressed folder into your workspace folder (
/workspace
). Make sure that the file placement matches the one given above. - Go to the digital twin directory and run
The last command executes the mass-spring-damper digital twin and stores the co-simulation output in
data/mass-spring-damper/output
.