Understanding Azure Digital Twins And Digital Twin Definition Language
Last year, it is announced the general availability of the Azure Digital Twins platform. The associated open modelling language, Digital Twins Definition Language (DTDL), is a blank canvas that can…
Last year, it is announced the general availability of the Azure Digital Twins platform. The associated open modelling language, Digital Twins Definition Language (DTDL), is a blank canvas that can model any entity. It is therefore important to provide common domain-specific ontologies to bootstrap solution development and enable developers to quickly model and create sophisticated digital representations of connected environments like buildings, factories, farms, energy networks, railways, stadiums, and cities, then bring these entities to life within a live execution environment that integrates IoT and other data sources.
New to Digital Twin concept? Check “What is a Digital Twin?” for more.
What is Digital Twin Definition Language (DTDL)?
A key characteristic of Azure Digital Twins is the ability to define your own vocabulary and build your twin graph in the self-defined terms of your business. This capability is provided through user-provided models. You can think of models as nouns in a description of your world.
A model is similar to a class in an object-oriented programming language, defining a data shape for one particular concept in your real work environment. Models have names (such as Room or TemperatureSensor) and contain elements such as properties, telemetry/events, and commands that describe what this type of entity in your environment can do. Later, you will use these models to create digital twins that represent specific entities that meet this type of description.
Azure Digital Twins models are represented in the JSON-LD-based Digital Twin Definition Language (DTDL).
Twin type models can be written in any text editor. The DTDL language follows JSON syntax, so you should store models with the extension .json. Using the JSON extension will enable many programming text editors to provide basic syntax checking and highlighting for your DTDL documents.
What is an ontology?
The vocabulary of an Azure Digital Twins solution is defined using models, which describe the types of entities that exist in your environment.
Sometimes, when your solution is tied to a particular industry, it can be easier and more effective to start with a set of models for that industry that already exists, instead of authoring your own model set from scratch. These pre-existing model sets are called ontologies.
In general, an ontology is a set of models for a given domain—like a building structure, IoT system, smart city, the energy grid, web content, etc. Ontologies are often used as schemas for twin graphs, as they can enable:
- Harmonization of software components, documentation, query libraries, etc.
- Reduced investment in conceptual modelling and system development
- Easier data interoperability on a semantic level
- Best practice reuse, rather than starting from scratch or “reinventing the wheel”
Domain ontologies founded upon industry standards are a foundational catalyst to developing global-scale, interconnected solutions. Microsoft collaborates with customers, domain experts, and industry standards organizations to adapt existing industry data models and best practices to DTDL. The smart buildings ontology is based on RealEstateCore, ETSI CIM NGSI-LD data models defined under the Smart Data Models initiative. Later, releasing the energy grid ontology adapted from the Common Information Model (CIM), a global standard for energy grid assets management, power system operations modelling and physical energy commodity market. The CIM-based DTDL ontology provides a contextual understanding of data by identifying the properties, capabilities, and telemetry of various grid entities as well as the relationships between them. Power & Utilities customers and partners can leverage as well as extend this open-source repository for their solutions and contribute their learnings to the repository for others to benefit.