| Internet-Draft | SDF modeling for digital twin | October 2026 |
| Lee & Hong | Expires 17 April 2027 | [Page] |
This memo specifies SDF modeling for digital twins, i.e., digital twin systems, and their things. An SDF is a format that is used to create and maintain data and interaction, and to represent the various kinds of data that is exchanged for these interactions. The SDF format can be used to model the characteristics, behavior and interactions of things, i.e. physical objects, in digital twins that contain things as components.¶
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 17 April 2027.¶
Copyright (c) 2026 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 defined as a digital representation of an object of interest and may require different capabilities, for example, synchronization and real-time support, according to the specific domain of application[Y.4600]. Digital twins 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 to represent as much real-world information about the object as possible when digitally representing the object.¶
Digital twin technologies are applied in various domains, including manufacturing, energy, healthcare, agriculture, and transportation. A common format is therefore needed to represent objects in these domains as digital twins. SDF [RFC9880] can be used for modeling objects as digital twins.¶
This document specifies the modeling and guidance on how to use SDF to represent objects as digital twins.¶
This specification uses the terminology specified in [RFC9880], 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 describes SDF structure to represent a thing or an object as a digital twin. The architecture of a digital twin based on the SDF model is illustrated in Figure 1, following the guidelines of [ISO23247-3].¶
The physical layer comprises affordance and non-affordance objects. From the real-world objects, only those deemed relevant are selected for representation as digital twins.¶
The digital twin layer is structured into three sublayers: the device communication sublayer, the digital twin sublayer, and the application sublayer.¶
The device communication sublayer is responsible for monitoring and collecting data from both affordance and non-affordance objects. This sublayer provides the necessary data to synchronize the physical objects with their digital twin counterparts.¶
The digital twin sublayer ensures synchronization between the affordance and non-affordance objects and their respective digital twins using the data provided by the Device Communication Sublayer.¶
The Application sublayer presents the synchronized values of the digital twins to users to facilitate informed decision making.¶
+---------------------------------------------+ - - - - - - - - - - -
| Application sublayer |
| +----------+ +------+ +--------+ +--------+ |
| | Human | | HMI | | Apps | | Peers | |
| +----------+ +------+ +--------+ +--------+ |
+---------------------------------------------+
| Digital twin sublayer |
| +----------+ +-------------+ +------------+ |
| | Operation| | Application | | Resource | |
| | and | | and | | access and | |
| |management| | service | |interchange | |
| +----------+ +-------------+ +------------+ |
| +-----------------------------------------+ | Digital twin layer
| | Digital representation | |
| | +-------------+ +----------------+ | |
| | | Affordance | | Non-affordance | | |
| | | objects | | objects | | |
| | +-------------+ +----------------+ | |
| +-----------------------------------------+ |
+---------------------------------------------+
| Device communication sublayer |
| +-------------+ +----------------+ |
| | Data | | Object | |
| | collection | | control | |
| +-------------+ +----------------+ |
+---------------------------------------------+ - - - - - - - - - - -
| +-------------+ +----------------+ |
| | Affordance | | sdfContext | |
| | objects | | objects | | Physical layer
| +-------------+ +----------------+ |
+---------------------------------------------+ - - - - - - - - - - -
The document is based on the underlying structure defined in [RFC9880], which standardizes the semantic definition format (SDF) for representing IoT affordances. This specification provides a strong basis for representing individual devices and their features (sdfProperty, sdfAction, sdfEvent, etc.), but additional mechanisms are needed to address the unique requirements of digital twin modeling.¶
Digital twin systems defined in [ISO23247-3] often have to describe virtual representations of various physical objects, including metadata, identity, contextual relationships, historical data, as well as device interfaces.¶
The sdfContext keyword defined in
[I-D.draft-ietf-asdf-sdf-nonaffordance]
can be used to represent non-affordance or contextual information
that describes a device or component without implying direct interaction:¶
Identifier (e.g., UUID, URN)¶
Location (e.g. site, zone, GPS tag)¶
Owner (e.g., representative, manufacturer)¶
These fields can appear in both sdfObject and sdfThing contexts, follow the same structural pattern as sdfData, and are designed for scalability.¶
To support hierarchical representations (e.g., a boat composed of heater, GPS, and battery subsystems), this document encourages use of sdfThing to aggregate related sdfObject components, along with metadata.¶
The example mapping of digital twin attributes to SDF elements is shown in Table 1.¶
| Attribute | Recommended Mapping | Description |
|---|---|---|
| Identifier | sdfContext | Globally unique digital twin ID (e.g., URN) |
| Characteristic | sdfProperty or sdfData | General description or domain properties |
| Schedule | sdfEvent or sdfData | Time-based actions, availability, or maintenance |
| Status | sdfAction or sdfProperty | Actual or calculated operating conditions |
| Location | sdfContext | Physical or logical location information |
| Report | sdfData | Measurement summaries, analytics, or logs |
| owner | sdfContext | Organization or entity responsible for the digital twin |
| Relationship | sdfRelation | Inter-object/inter-twin relationships |
The sdfRelation, defined in [I-D.draft-laari-asdf-relations], is a structure for specifying logical or physical relationships between objects within an SDF model. If conventional sdfThing, sdfObject, and sdfProperty focus on defining the properties of individual digital twins, sdfRelation is a means of expressing interactions and structural links between them.¶
The sdfRelation keyword provides a mechanism for expressing logical, physical, functional, or semantic relationships between SDF definitions beyond simple containment or hierarchy. These relationships can include:¶
Physical relations (e.g., "inside", "next to")¶
Functional relations (e.g., "controls", "is controlled by")¶
Semantic relations (e.g., "similar to", "same as")¶
The sdfRelation definition can include the following fields as defined in [I-D.draft-laari-asdf-relations]:¶
relType: Specifies the type of relationship and may refer to a term defined in an external ontology (e.g., SAREF[saref4bldg]).¶
target: Points to the SDF object or an external ontology term that is the target of the relationship.¶
description: Provides a detailed textual explanation of the relationship.¶
label: A short human-readable label for the relationship.¶
property: Additional properties describing the relationship context.¶
$comment: Optional properties including implementers notes.¶
An example of sdfRelation is shown in Figure 2. The sdfProtocolMap in this example is described in [I-D.draft-ietf-asdf-nipc] and [I-D.draft-ietf-asdf-sdf-protocol-mapping]¶
{
"namespace": {
"saref": "https://saref.etsi.org/core/"
},
"sdfThing": {
"Room001": {
"description": "Contains lightbulb and thermostat",
"sdfObject": {
"lightbulb": {
"description": "A smart lightbulb",
"sdfProperty": {
"adjacent-node": {
"type": "object",
"sdfType": "link",
"sdfProtocolMap": {
"ble": {
"serviceID": "361c9c4f-22d7-4a1e-824b-8b61045a566a",
"characteristicID": "b7adf665-37c7-44be-8e1c-651a10573613"
}
}
}
},
"sdfRelation": {
"sameRoomAsThermostat": {
"relType": "saref:isLocatedIn",
"target": "#/sdfThing/Room001/sdfObject/thermostat",
"description": "This lightbulb is located in the same room as the thermostat.",
"label": "Located together"
}
}
},
"thermostat": {
"description": "A thermostat is in the same room as the lightbulb",
"sdfProperty": {
"adjacent-node": {
"type": "object",
"sdfType": "link"
}
}
}
}
}
}
}
Digital twins require continuous and reliable communication with physical objects. To support synchronization, monitoring, control, and event notification, appropriate network protocols should be selected and semantically bound to modeled elements in SDF structures. This clause outlines the main protocol types, roles in digital twin operations, and guidelines for representing these bindings using [I-D.draft-ietf-asdf-sdf-protocol-mapping].¶
Digital twin applications can use different protocols and ecosystem technologies depending on device capabilities, data volume, latency requirements, deployment environment, and application domain. The current SDF Protocol Mapping document defines mappings for BLE and Zigbee. Table 2 therefore lists examples of protocols and ecosystem technologies that can participate in a digital twin implementation; inclusion in the table does not imply that an SDF protocol mapping has been standardized for every entry.¶
| Protocol / technology | Role in digital twin | Characteristics |
|---|---|---|
| MQTT | Sensor data publishing, event reporting | Lightweight, publish-subscribe, suitable for IoT |
| CoAP | Access to constrained devices | Compact REST-like communication and observe/notify support |
| BLE | Local data exchange and control for wearables or embedded devices | Low energy, short range communication using services and characteristics |
| Zigbee | Sensor data access, event reporting, and device control | Uses endpoints, clusters, attributes, and commands |
| Matter | Interoperable device monitoring and control, particularly for smart-home and smart-building devices | IP-based application layer using device types, endpoints, clusters, attributes, commands and events |
| BACnet | Building automation and HVAC monitoring/control | Widely used for building automation systems and exposes building-device objects and properties |
| KNX | Building control such as lighting, shading, and room automation | Widely deployed home and building control technology |
| HTTP/REST | Enterprise integration and cloud API | Widely supported application interfaces with comparatively higher overhead |
| WebSocket | Bi-directional low-latency updates | Useful for state synchronization and real-time commands |
| NIPC | Standardized control of non-IP devices | Applicable to industrial, legacy and isolated device environments |
To model the way digital twins communicate with their physical objects, sdfProtocolMap can be defined within the sdfProperty, sdfAction or sdfEvent levels.
Each protocol entry can specify a communication topic, path, security mechanism, QoS settings, and timing parameters as shown in Figure 3.¶
{
"sdfProperty": {
"temperature": {
"type": "number",
"unit": "Cel",
"sdfProtocolMap": {
"ble": {
"serviceID": "00001809-0000-1000-8000-00805f9b34fb",
"characteristicID": "00002a1c-0000-1000-8000-00805f9b34fb"
}
}
}
}
}
Quality of service (QoS) settings define the reliability and frequency of data transfer between digital twins and physical objects. These settings are particularly important for telemetry (e.g., sdfProperty updates) and command response flows (e.g., sdfAction operations). For example, MQTT defines three QoS levels that can be selected according to the reliability requirements of digital twin data exchange, as shown in Table 3.¶
| QoS level | Meaning | Recommended Usage |
|---|---|---|
| 0 | At most once (best effort) | Periodic sensor data |
| 1 | At least once | State updates, events |
| 2 | Exactly once | Control command, AI action |
Protocol bindings used by a digital twin need to preserve the security properties of the underlying protocol and deployment. Implementations should use the authentication, authorization, confidentiality, integrity, and replay-protection mechanisms appropriate to the selected protocol. Access to SDF Properties, Actions, Events, and contextual information should be restricted according to the security policy of the digital twin system.¶
The protocol is essential to realizing the digital twin in operation, and it is recommended that the following considerations are taken into account:¶
Use protocol mapping appropriate for device classes and network environments¶
Provide both push-based (e.g., MQTT) and poll-based (e.g., HTTP) bindings, if applicable¶
Reuse standardized subject structures, UUIDs, or endpoint URIs to ensure interoperability¶
Avoid duplicate or conflicting bindings, and define protocol preferences via metadata if necessary.¶
Various examples are included to show how SDF-based digital twin models can be applied to real-world scenarios.
These examples show how to represent physical objects using SDF elements.
In addition, sdfContext and sdfRelation are used to describe additional information such as the context of components,
and the relationship between components (sdfRelation).
The examples cover several domains, including marine systems, healthcare systems, smart buildings, and smart networks.
This consistent modeling approach can support interoperability across applications.¶
Table 4 describes an example of how a maritime vessel, referred to as Boat007, can be
described as a digital twin using the SDF model.
In this example, individual physical parts such as heaters and batteries are treated as separate sdfObjects,
while the entire vessel is represented as a single sdfThing that groups these components together.¶
In a vessel modeled with SDF, each component is described using elements such as attributes, actions, and events. These elements are used to represent how the component behaves and what state it is in at a given time. The connections between components are also included in the model. For example, a battery may be linked to a controller, which helps show how different parts are related and interact with each other. This kind of representation makes it easier to follow the condition of devices over time. It also allows operational data to be used more effectively for monitoring, while keeping the model compatible with other systems built in a similar way.¶
This structure enables developers and systems integrators to:¶
Seamlessly capture and communicate the features and state of the device¶
Consolidate operational data for real-time monitoring and analysis¶
Standardized semantics enable interoperability with other domains.¶
| Attribute | SDF element | Properties |
|---|---|---|
| Boat007 | sdfThing | label, vesselId, homePort; includes heater1, thermostat1, batterySensor1, and powerController1 |
| Heater1 | sdfObject | status, temperature, turnOn, turnOff |
| Thermostat1 | sdfObject | setPoint, mode (sdfProperty) |
| Battery sensor1 | sdfObject | chargeLevel, voltage, batteryToController |
| Power controller | sdfObject | connect, disconnect |
| Temp-to-Thermostat | sdfRelation | heater1 → thermostat1, relType: regulatedBy |
| Battery-to-powerController | sdfRelation | batterySensor1 → powerController1, relType: connectedTo |
| Context information | sdfContext | vesselId, homePort, manufacturer, model |
In the context of Boat007, shown in Figure 4, such a digital twin can support various applications,
including predictive maintenance, energy optimization, and fleet-level coordination,
demonstrating the practicality and scalability of SDF-based Digital twin modeling
for mobility and transportation systems.¶
{
"namespace": {
"exrel": "https://example.com/sdf-relations#"
},
"sdfThing": {
"boat007": {
"label": "Boat #007",
"description": "Digital twin of a vessel with heater and battery subsystems",
"sdfContext": {
"vesselId": { "type": "string", "const": "boat007" },
"homePort": { "type": "string", "const": "port007" }
},
"sdfObject": {
"heater1": {
"sdfProperty": {
"status": { "type": "boolean" },
"temperature": { "type": "number", "unit": "Cel" }
},
"sdfAction": {
"turnOn": { "description": "Activate the heater" },
"turnOff": { "description": "Deactivate the heater" }
},
"sdfContext": {
"manufacturer": { "type": "string", "const": "HeaterTech Inc." },
"model": { "type": "string", "const": "HEATER-2025-V1" }
},
"sdfRelation": {
"temperatureControl": {
"target": "#/sdfThing/boat007/sdfObject/thermostat1",
"relType": "exrel:regulatedBy"
}
}
},
"thermostat1": {
"sdfProperty": {
"setPoint": { "type": "number", "unit": "Cel" },
"mode": { "type": "string" }
}
},
"batterySensor1": {
"sdfProperty": {
"chargeLevel": { "type": "number", "unit": "percent" },
"voltage": { "type": "number", "unit": "V" }
},
"sdfRelation": {
"batteryToController": {
"target": "#/sdfThing/boat007/sdfObject/powerController1",
"relType": "exrel:connectedTo"
}
}
},
"powerController1": {
"sdfAction": {
"connect": { "description": "Connect battery power" },
"disconnect": { "description": "Disconnect battery power" }
}
}
}
}
}
}
This case represents a digital twin for a patient health monitor system (patientMonitor001) assigned to a patient. The system reports real-time health properties while referencing contextual patient information with the components and elements shown in Table 5.¶
| Attribute | SDF element | Properties |
|---|---|---|
| Patient monitor | sdfThing | patientMonitor001 as a digital twin |
| ECG module | sdfObject | heartRate, rhythmType |
| Infusion pump | sdfObject | flowRate, volumeRemaining |
| Alert system | sdfObject | highHeartRateAlert |
| Context information | sdfContext | wardLocation, patientID, manufacturer, model, serialNumber |
| Relationship | sdfRelation | ECG to alertSystem (relType: monitoredBy) |
A digital twin example of a patient monitoring system with ECG and infusion pump components is illustrated in Figure 5. In this healthcare scenario, a biosensor measuring the heart rate is functionally connected to an alert system that emits a high-heart-rate warning, enabling real-time patient monitoring in medical environments.¶
{
"namespace": {
"exrel": "https://example.com/sdf-relations#"
},
"sdfThing": {
"patientMonitor001": {
"sdfContext": {
"wardLocation": { "type": "string", "const": "ICU-5A" },
"patientID": { "type": "string", "const": "PT123456" },
"manufacturer": { "type": "string", "const": "MediTech" },
"model": { "type": "string", "const": "IM-500" },
"serialNumber": { "type": "string", "const": "MT-IM500-00789" }
},
"sdfObject": {
"ecg": {
"sdfProperty": {
"heartRate": { "type": "number", "unit": "1/min" },
"rhythmType": { "type": "string" }
},
"sdfRelation": {
"monitoredByAlertSystem": {
"target": "#/sdfThing/patientMonitor001/sdfObject/alertSystem",
"relType": "exrel:monitoredBy"
}
}
},
"infusionPump": {
"sdfProperty": {
"flowRate": { "type": "number", "unit": "mL/h" },
"volumeRemaining": { "type": "number", "unit": "mL" }
}
},
"alertSystem": {
"sdfEvent": {
"highHeartRateAlert": {
"description": "Raised when the monitoring application detects a high heart rate"
}
}
}
}
}
}
}
This case illustrates the use of SDF as a common semantic layer for a smart-building digital twin whose devices and subsystems are implemented using different protocols and ecosystem technologies. A single building can contain, for example, Matter-based lighting [Matter], BACnet-based HVAC [BACnet], KNX-based shading [KNX], CoAP environmental sensors, MQTT energy meters, and HTTP/REST-based building-management services.¶
SDF does not replace these technologies. Instead, it provides a protocol-independent representation of what each component is, which Properties, Actions, and Events it exposes, which contextual information describes it, and how the components are related. This separation allows applications to interpret a heterogeneous building consistently even when the underlying implementations use different protocol-specific data models.¶
The components used in this example are summarized in Table 6. Protocol and ecosystem names are illustrative implementation information; except where a mapping is explicitly defined by the SDF Protocol Mapping specification, this example does not define a new SDF protocol mapping.¶
| Building component | SDF element | Example information |
|---|---|---|
| Building digital twin | sdfThing | building001 containing room and subsystem objects |
| Lighting system | sdfObject | powerState, brightness, setBrightness; implemented with Matter |
| HVAC system | sdfObject | temperatureSetPoint, operatingMode, setTemperature; implemented with BACnet |
| Shading system | sdfObject | blindPosition, setBlindPosition; implemented with KNX |
| Environmental sensor | sdfObject | temperature, CO2 concentration; implemented with CoAP |
| Energy meter | sdfObject | powerConsumption; implemented with MQTT |
| Building context | sdfContext | buildingUse, roomNumber, floor, zone |
| Relationships | sdfRelation | locatedIn, controlsClimateOf, measuresPowerOf |
Figure 6 shows an SDF representation of the heterogeneous building. The protocol-independent SDF model enables an application to determine, for example, that a sensor is located in Room101, an HVAC system controls the climate of that room, and an energy meter measures the HVAC power consumption, without requiring those systems to share the same native protocol.¶
The principal value of SDF in this scenario is semantic interoperability across heterogeneous device ecosystems. Device-specific communication and control remain the responsibility of the underlying protocols and protocol mappings.¶
{
"namespace": {
"exrel": "https://example.com/sdf-relations#"
},
"sdfThing": {
"building001": {
"description": "Digital twin of a heterogeneous smart building",
"sdfContext": {
"buildingUse": {
"type": "string",
"const": "office"
}
},
"sdfObject": {
"room101": {
"sdfContext": {
"roomNumber": {
"type": "string",
"const": "101"
},
"floor": {
"type": "integer",
"const": 1
},
"zone": {
"type": "string",
"const": "eastWing"
}
}
},
"lightingSystem": {
"description": "Lighting system implemented with Matter",
"sdfProperty": {
"powerState": {
"type": "boolean"
},
"brightness": {
"type": "integer",
"unit": "percent"
}
},
"sdfAction": {
"setBrightness": {
"sdfInputData": {
"type": "integer",
"unit": "percent"
}
}
},
"sdfRelation": {
"installedInRoom": {
"target": "#/sdfThing/building001/sdfObject/room101",
"relType": "exrel:locatedIn"
}
}
},
"hvacSystem": {
"description": "HVAC system implemented with BACnet",
"sdfProperty": {
"temperatureSetPoint": {
"type": "number",
"unit": "Cel"
},
"operatingMode": {
"type": "string"
}
},
"sdfAction": {
"setTemperature": {
"sdfInputData": {
"type": "number",
"unit": "Cel"
}
}
},
"sdfRelation": {
"controlsRoom": {
"target": "#/sdfThing/building001/sdfObject/room101",
"relType": "exrel:controlsClimateOf"
}
}
},
"shadingSystem": {
"description": "Shading system implemented with KNX",
"sdfProperty": {
"blindPosition": {
"type": "integer",
"unit": "percent",
"minimum": 0,
"maximum": 100,
"description": "Current blind position"
}
},
"sdfAction": {
"setBlindPosition": {
"description": "Sets the blind position",
"sdfInputData": {
"type": "integer",
"unit": "percent",
"minimum": 0,
"maximum": 100
}
}
},
"sdfRelation": {
"installedInRoom": {
"target": "#/sdfThing/building001/sdfObject/room101",
"relType": "exrel:locatedIn"
}
}
},
"environmentSensor": {
"description": "Environmental sensor implemented with CoAP",
"sdfProperty": {
"temperature": {
"type": "number",
"unit": "Cel"
},
"co2Concentration": {
"type": "number",
"unit": "ppm"
}
},
"sdfRelation": {
"sensorLocation": {
"target": "#/sdfThing/building001/sdfObject/room101",
"relType": "exrel:locatedIn"
}
}
},
"energyMeter": {
"description": "Energy meter implemented with MQTT",
"sdfProperty": {
"powerConsumption": {
"type": "number",
"unit": "W"
}
},
"sdfRelation": {
"measuresHVAC": {
"target": "#/sdfThing/building001/sdfObject/hvacSystem",
"relType": "exrel:measuresPowerOf"
}
}
}
}
}
}
}
This case illustrates a digital-twin-based smart network system that supports abnormal-situation prediction and response for a network device. The example distinguishes a digital twin corresponding to the network device from a digital twin corresponding to traffic information associated with that device.¶
During model preparation, the system obtains traffic information for the network device, generates digital twins corresponding respectively to the network device and the traffic information, and synchronizes current traffic information with the traffic-information twin. An analytics function can then train a prediction model using information represented by the synchronized twins.¶
During operation, the system obtains current traffic information and uses the trained prediction model together with the digital-twin state to predict an abnormal situation of the network device. If an abnormal situation is predicted, an application can determine a countermeasure appropriate to the predicted situation. Model training, inference, and countermeasure-selection algorithms are application functions; SDF is used to describe the digital-twin entities, their state, their relationships, and the interfaces through which prediction results or response actions are exposed.¶
The SDF elements used in this example are summarized in Table 7.¶
| Attribute | SDF element | Example information |
|---|---|---|
| Smart network system | sdfThing | smartNetwork001 containing the network-device and traffic twins |
| Network-device twin | sdfObject | device identifier, operational state, utilization, latency |
| Traffic twin | sdfObject | current traffic, traffic history, traffic pattern |
| Current traffic information | sdfProperty | currentTraffic, packetRate |
| Twin association | sdfRelation | association of the traffic twin with the network-device twin |
| Prediction result | sdfProperty / sdfEvent | anomalyScore, abnormalSituationPredicted |
| Countermeasure interface | sdfAction | applyCountermeasure for a predicted abnormal situation |
Figure 7 shows the conceptual processing sequence. The procedure is intentionally described at an architectural level; this document does not standardize a prediction algorithm.¶
+-----------------------------------------------------------+
| Obtain traffic information for a network device |
+-----------------------------------------------------------+
|
v
+-----------------------------------------------------------+
| Generate a network-device twin and a traffic twin |
+-----------------------------------------------------------+
|
v
+-----------------------------------------------------------+
| Synchronize current traffic information with traffic twin|
+-----------------------------------------------------------+
|
v
+-----------------------------------------------------------+
| Train a model using state represented by synchronized |
| digital twins |
+-----------------------------------------------------------+
|
v
+-----------------------------------------------------------+
| Obtain current traffic and predict an abnormal situation |
+-----------------------------------------------------------+
|
v
+-----------------------------------------------------------+
| If abnormal, determine and expose a countermeasure |
+-----------------------------------------------------------+
Figure 8 provides an SDF representation of the entities and interfaces used by the example.¶
{
"namespace": {
"exrel": "https://example.com/sdf-relations#"
},
"sdfThing": {
"smartNetwork001": {
"description": "Digital twin system for abnormal-situation prediction and response",
"sdfObject": {
"networkDeviceTwin": {
"sdfContext": {
"deviceId": { "type": "string", "const": "network-device-001" }
},
"sdfProperty": {
"operationalState": { "type": "string" },
"utilization": { "type": "number", "unit": "percent" },
"latency": { "type": "number", "unit": "ms" }
}
},
"trafficTwin": {
"sdfProperty": {
"currentTraffic": { "type": "number", "unit": "Mbit/s" },
"packetRate": { "type": "number", "unit": "1/s" },
"anomalyScore": { "type": "number", "minimum": 0, "maximum": 1 }
},
"sdfData": {
"trafficHistory": { "type": "array" },
"trafficPattern": { "type": "string" }
},
"sdfEvent": {
"abnormalSituationPredicted": {
"description": "Indicates that the analytics function predicts an abnormal situation"
}
},
"sdfAction": {
"applyCountermeasure": {
"description": "Applies a countermeasure selected by an application",
"sdfInputData": {
"type": "object",
"properties": {
"countermeasureId": { "type": "string" }
}
}
}
},
"sdfRelation": {
"associatedNetworkDevice": {
"target": "#/sdfThing/smartNetwork001/sdfObject/networkDeviceTwin",
"relType": "exrel:associatedWith"
}
}
}
}
}
}
}
A digital twin may be represented using an sdfThing or sdfObject containing elements such as sdfProperty, sdfAction, sdfEvent, sdfContext, and sdfRelation. When an observable object participates in multiple application domains, different digital twins of the same observable object may be configured according to the purpose and role of the object in each domain. The following implementation considerations are applied to SDF-based digital-twin representations, taking into account the general digital-twin principles described in [ISO23247-1].¶
Purpose definition: The purpose for representing an observable object as a digital twin should be defined for each application domain. The purpose determines which characteristics, behaviors, contextual information, and interactions of the observable object need to be represented.¶
Role-based data organization: Data associated with the observable object should be organized according to the role that the object performs in the domain. A role identifies the function or behavioral action performed by the observable object to achieve the defined purpose.¶
Cross-domain digital twin information: When the same observable object is represented by digital twins in multiple domains, information about the digital twins that exist in other domains should be available where necessary for interworking. The digital twins in different domains may represent different characteristics of the same observable object according to their respective purposes and roles.¶
Domain-specific digital twin configuration: An observable object may be configured as a digital twin using the data, purpose, and role defined for a particular domain. Consequently, digital twins representing the same observable object in different domains may expose different sdfProperties, sdfActions, sdfEvents, sdfContext information, or sdfRelations.¶
Interworking among domain-specific digital twins: A digital twin system should support interworking, where required, with digital twin systems in other domains in which the same observable object performs a different role. sdfRelation and other SDF mechanisms may be used to describe relationships among such digital-twin representations.¶
Synchronization with the observable object: The state of a digital twin should be synchronized with the state of the corresponding observable object at intervals appropriate to the application. Changes in relevant sdfProperties, sdfEvents, sdfActions, or contextual information should be reflected in the digital twin according to the synchronization requirements of the domain.¶
Cross-domain state consistency: When multiple digital twins represent the same observable object in different domains, information that represents a common state of the observable object should be maintained consistently among those digital twins. Domain-specific characteristics may remain different, while shared state information should be synchronized so that the digital twins do not represent conflicting states of the same observable object.¶
It is essential to define a consistent implementation procedure to support interoperability, scalability, and lifecycle management across digital twin systems. This section describes a step-by-step approach aligned with the Semantic Definition Format (SDF) model and its architecture.¶
When an observable object participates in multiple application domains, the same observable object may be represented by different digital twins according to the purpose and role of the object in each domain. The general procedure for representing and operating such digital twins is outlined as follows:¶
defining a purpose for expressing the observable object as a digital twin in the domain;¶
collecting and organizing data according to the roles of the observable object in the domain;¶
receiving information about digital twins of the same observable object that exist in other domains in which the observable object performs different roles;¶
configuring the observable object as a digital twin based on the collected data, defined purpose, and role of the observable object in the domain;¶
enabling interworking with digital twin systems in other domains in which the same observable object performs different roles;¶
synchronizing the observable object and its corresponding digital twin;¶
maintaining consistent shared state information among digital twins representing the same observable object across multiple domains.¶
A domain-specific digital twin may represent characteristics that differ from those represented by digital twins in other domains in order to support the purpose and role defined for the observable object in that domain. A role represents a function performed through one or more behavioral actions to achieve the defined purpose.¶
The procedure for configuring and operating an observable object as a digital twin is described below.¶
Identifying and scoping the observable object: The observable object to be represented as a digital twin is identified, and the scope of the digital representation is determined. A globally unique identifier, such as a URN or UUID, may be assigned to the observable object or its digital twin.¶
Defining the purpose: The purpose for expressing the observable object as a digital twin is defined for the application domain. The purpose determines which characteristics, behaviors, contextual information, and interactions need to be represented.¶
Organizing data based on roles: Data associated with the observable object is collected and organized according to the role that the object performs in the domain. The role represents a function performed through behavioral actions to achieve the defined purpose.¶
Receiving cross-domain digital twin information: When the same observable object is represented by digital twins in other domains, information about those digital twins should be obtained as necessary. Such information may include their purposes, roles, represented characteristics, contextual information, and shared state information.¶
Configuring a domain-specific digital twin: The observable object is represented using SDF structures such as sdfThing and sdfObject based on the collected data, defined purpose, and role. Affordances may be represented using sdfProperty, sdfAction, and sdfEvent, while contextual and descriptive information may be represented using sdfContext.¶
Digital twins representing the same observable object in different domains may contain different characteristics because each digital twin is configured according to the purpose and role defined in its respective domain.¶
Describing relationships: Relationships between the observable object, its components, and digital twins may be represented using sdfRelation. Relationships between digital twins of the same observable object in different domains may also be described where cross-domain interworking is required.¶
Binding interfaces and communications: SDF affordances may be associated with communication interfaces and protocols such as MQTT, CoAP, BLE, Zigbee, or other applicable technologies through protocol-specific mappings where available. This enables interaction between the SDF representation and physical or logical resources.¶
Interworking among domain-specific digital twins: A digital twin system may interwork with digital twin systems in other domains in which the same observable object performs different roles. Interworking can be used to exchange information needed to interpret shared state or coordinate domain-specific operations.¶
Synchronizing the observable object and the digital twin: Information obtained from the observable object is used to update the state of the corresponding digital twin. The synchronization interval and update mechanism depend on the requirements of the application and the characteristics of the observable object.¶
Maintaining cross-domain state consistency: When multiple domain-specific digital twins represent the same observable object, shared state information should be maintained consistently among those digital twins. Domain-specific characteristics may remain different, while information representing the common state of the observable object should be synchronized so that different digital twins do not represent conflicting states of the same observable object.¶
Verification and compliance: The resulting SDF representation should be validated against applicable syntax and semantic rules. Compliance with SDF specifications, profiles, and relevant domain-specific requirements should also be verified where applicable.¶
Deployment and lifecycle management: After verification, the digital twin may be deployed in a digital twin registry, edge system, or cloud environment. Version management, updates, audit information, and eventual deregistration should be managed throughout the lifecycle of the digital twin.¶
Only authorized users should have the authority to manage digital twins, sdfThings and sdfObjects. Also, secure communication and metadata integrity are essential when implementing digital twins. All context messages, including contextPatch and identityManifest, must be protected using appropriate authentication and authorization mechanisms.¶
This document has no IANA actions.¶
This specification is based on work by the One Data Model group.¶