Internet-Draft | SDF for Digital Twin | September 2024 |
Lee, et al. | Expires 6 March 2025 | [Page] |
An SDF specification can describe the definition of Things, i.e., physical objects and their associated interactions, and express the various information that is exchanged for these interactions. Therefore, the SDF format can be used to define the behavior of an object and its associated data model and interaction model in a digital twin system that includes the object as a component. In a digital twin system, interactions between physical and virtual objects, as well as interactions of objects existing in different digital twin systems, are performed over a network, making it important to provide location information of objects during interactions. This document specifies the extension of SDF to represent the location information of objects.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 6 March 2025.¶
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
A digital twin is a digital representation of an object of interest and may require different capabilities (e.g., synchronization, real-time support) according to the specific domain of application. [Y.4600]. Digital twin systems help organizations improve important functional objectives, including real-time control, off-line analytics, and predictive maintenance, by modeling and simulating objects in the real world. Therefore, it is important for a digital twin system to represent as much real-world information about the object as possible when digitally representing the object. A procedure for representing an observable Thing, as known as a physical asset or an object of interest, as a digital twin in a domain is as follows:¶
defining a purpose for expressing the observable object as a digital twin in the domain¶
organizing data based on the roles of the observable object in the domain¶
configuring the observable object into the digital twin based on the data for the purposes¶
interworking with a digital twin of each of other domains in which the observable object performs a different role¶
synchronizing the observable object and the digital twin¶
Nowadays, digital twin systems are applied in various domains including medical, manufacturing, farm, transportation, etc. And a common format is needed to represent the objects in the domains as digital twins. An SDF specification [I-D.ietf-asdf-sdf] can be used for the purpose of digital representation of objects in a digital twin system. However, because the SDF specification only provides a basic model for digital representation, it cannot represent objects location information.¶
The location information of the object is the important information to digitally representation of the object. This document extends the basic SDF specification by adding a new keyword "location" to represent an object as a digital twin. This new keyword is needed to adequately represent the current location of the object, which is helpful for users to manage the domain efficiently.¶
This specification uses the terminology specified in [I-D.ietf-asdf-sdf] in particular "Class Name Keyword", "Object", and "Affordance".¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This section defines a new SDF Class Name Keyword, sdfLocation, that can be used to represent the location of a thing or an object as a digital twin. The location definitions are at the class level and describe the use of sdfLocation. [I-D.ietf-laari-asdf-relations].¶
The SDF language uses seven predefined Class Name Keywords, including sdfLocation, for modeling connected Things, as illustrated in Figure 1. The sdfLocation is a new Class Name Keyword and is used to describe physical or logical location of sdfThing or sdfObject.¶
The sdfLocation is described using conventional GPS coordinates or postal addresses for physical locations, which enable extensive reuse and interoperability. The sdfLocation is also described by strings or integers for relative locations. For example, in a boat model, a specific sdfObjects, such as a heater, can be described as being on a "boat" using GPS coordinates or in a "specific location on the boat" using relative locations.¶
The SDF namespace block can be used to provide CURIE prefixes for external ontologies for use with sdfLocation extension. For example, in case of SAREF (Smart Applications REFerence ontology) ontology extension for buildings [saref4bldg], we can use the following namespace definition:.¶
{ "namespace": { "saref": "https://saref.etsi.org/saref4bldg/v1.1.2/" } }¶
This section defines the qualities of the sdfLocation. These qualities are used to define the potential type of the sdfLocation. A named definition entry in an sdfProperty may be associated with some protocol affordance to enable the application to obtain the location of sdfThing or sdfObject.¶
Quality | Type | Required | Description |
---|---|---|---|
locationType | string | yes | What kind of location these definitions have |
target | string | no | Target model for the location |
description | string | no | Description of the location |
label | string | no | Short text describing the location |
property | object | no | Additional properties for this location |
$comment | string | no | Additional comments for implementors |
The locationType quality describes the type of location including geographical or relative information [ISO23247-3]. This can use different descriptions, such as GPS, postal address, relative location. The purpose of the locationType is to represent the current location of an sdfThing or an sdfObject. For example, the locationType can be defined as "218 Gajeong-ro, 7th building in ETRI, WorkUnit #3 in ETRI branch #2" and so on.¶
The "target" field defines to which definition or ontology term this definition with sdfLocation has a location to. For example, this can be #/sdfObject/location, when the target location of an object is defined in the same SDF model.¶
"namespace": { "exont": "https://example.com/relationOntology", "saref": "https://saref.etsi.org/core/v3.1.1/" }, sdfObject: { "Humidity": { "description": "Example Humidity object", "sdfProperty": { ... }, "sdfLocation": { "postalAddr": { "locationType": "exont:postal-addr", "target": "saref:PostalAddress", "description": "address of object", "label":"postcode" } } } ... }¶
The "description" field specifies the location, which is represented as a string.¶
The "label" field is a short text describing the location, similar to the label quality in other SDF definitions.¶
This extension allows you to describe location from the SDF model to various (SDF or other) definitions. For link data types for affordance, for example, for link properties that can be accessed and modified during runtime, the "sdfType for links" extension [I-D.bormann-asdf-sdftype-link] can be used instead. In the following example, we have a definition for location with the postal address format:¶
sdfObject: { "example-object": { "description": "example object", "sdfProperty": { ... }, "sdfLocation": { "postalAddr": { "locationType": "exont:postal-addr", "target": "saref:PostalAddress", "description": "Postal address of a company", "218 Gajeong-ro ...", "label":"34129", "property":"company address" } } } ...¶
This description allows you to describe location of sdfThing or sdfObject with geographical information.¶
sdfObject: { "sdfLocation": { "sdfData": { "geoLocation" : { "latitude": "string", "longitude": "string" "altitude": "string" } ... "Boat_#1": { "latitude": "35.5188233791372", "longitude": "129.37308376484913", "altitude": "0.0" } } } }¶
This description allows you to describe location of sdfThing or sdfObject with relative information including geographical information.¶
sdfObject: { "sdfLocation": { "sdfData": { "geoLocation" : { "latitude": "string", "longitude": "string" "altitude": "string" } "relativeLocation" : { "relative-x": "integer", "relative-y": "integer" "relative-z": "integer" "unit":"cm" } ... "Boat_#1": { "latitude": "35.5188233791372", "longitude": "129.37308376484913", "altitude": "0.0" } "Heater_A_in_the_Boat_#1": { "latitude": "35.5188233791372", "longitude": "129.37308376484913", "altitude": "0.0" "relative-x": "7215", "relative-y": "1324" "relative-z": "217" } } } }¶
A digital twin is a partial representation of an sdfThing or sdfObject including characteristics such as sdfProperty, sdfData, and sdfLocation[ISO23247-1]. By representing sdfThing and sdfObject as digital twins, changes that have occurred and require appropriate action can be quickly detected and controlled. The requirements defined in [ISO23247-1] can be applied to represent sdfThings and sdfObjects as digital twins.¶
Data related to sdfThing and sdfObject, such as sdfProperty, sdfData, and sdfLocation, should be collected from IP and non-IP devices.¶
The collected data needs to be analyzed to understand the state of sdfThing and sdfObject.¶
The sdfThings and sdfObjects should contain data that uniquely identifies them as digital twins.¶
The sdfThings and sdfObjects should be represented as digital twins with appropriate levels of detail and accuracy, depending on the application.¶
The sdfThings and sdfObjects should be synchronized with their digital twins in real-time as appropriate for the application. Newly added or removed sdfThings and sdfObjects should be recognized and reflected in the digital twin.¶
Only authorized users should have the authority to manage sdfThings and sdfObjects.¶
This document has no IANA actions.¶