
Digital Twin - DTDL
Digital Twin technology uses design, engineering, and IoT enabled sensors to collect and process data in ML models. It allows user to create and manage digital twin models.
Digital Twin Definition Language (DTDL)
Microsoft developed the Digital Twin Definition Language (DTDL) to help you create physical assets and systems in a standardized manner. It uses a variant of JSON. It allows you to link with JSON objects.
DTDL Metamodel Classes
Metamodel classes are used to describe the state and behavioral attributes of physical entities. It is a digital template that describes the structure and rules of how elements are associated with physical entity.
Property Metamodel Class
Property class enables you to represent elements that do not change the frequency. Lets understand simple property element for Vehicle.
"@type": "Property", "name": "vehicleNumber", "schema": "string"
Here, @type is used to define the kind of information. name is userdefined name element, schema is data type of the element.
DTDL Telemetry Metamodel Class
Telemetry class enables you to describe the data emitted by physical entity. For example, Vehicle telemetry elements like airLevel,liquidLevel etc.,
"@type": "Telemetry", "name": "airLevel", "schema":"integer"
DTDL Command Metamodel
Command class enables you to describe a function or operation performed by physical entity. Simple command model is defined below,
"@type": "Command", "name": "reboot", "request":{ "name":"rebootTime", "schema": "dateTime" } "response":{ "name":"scheduledTime", "schema": "dateTime" }
Here, CommandRequest describes the input to a command and CommandResponse describes the output from a command.
DTDL Relationship Metamodel
It is used to describe how physical entities are linked together. Simple Relationship model is defined below,
"@type": "Relationship", "name": "floor", "target": "dtmi:com:example:Floor;1"
DTDL Interface
An interface describes the contents of any digital twin. Interfaces are reusable and schema for components in another interface. Within an interface, complex schemas are defined for reusability across telemetry, properties and commands.
DTDL Array
Array describes a collection of data where each element is defined in the same schema. Also, the schema may be defined as primitive or complex schema. Simple example is defined below,
"@type": "Telemetry", "name": "fruits", "schema":{ "@type":"Array", "elementSchema": "string" }
A Digital Twin is a virtual representation of physical objects. These virtual models are used to digitally represent performance and design solutions to improve their physical counterparts.