<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.26 (Ruby 2.6.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-asdf-digital-twin-06" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="SDF modeling for digital twin">Semantic Definition Format (SDF) Modeling for Digital Twin</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-asdf-digital-twin-06"/>
    <author fullname="Hyunjeong Lee" role="editor" initials="H." surname="Lee">
      <organization abbrev="ETRI">Electronics and Telecommunications Research Institute</organization>
      <address>
        <postal>
          <street>218 Gajeong-ro, Yuseong-gu</street>
          <city>Daejeon</city>
          <region/>
          <code>34129</code>
          <country>South Korea</country>
        </postal>
        <phone>+82 42 860 1213</phone>
        <email>hjlee294@etri.re.kr</email>
      </address>
    </author>
    <author fullname="Jungha Hong" initials="J." surname="Hong">
      <organization abbrev="ETRI">Electronics and Telecommunications Research Institute</organization>
      <address>
        <postal>
          <street>218 Gajeong-ro, Yuseong-gu</street>
          <city>Daejeon</city>
          <region/>
          <code>34129</code>
          <country>South Korea</country>
        </postal>
        <phone>+82 42 860 0926</phone>
        <email>jhong@etri.re.kr</email>
      </address>
    </author>
    <area>ART</area>
    <workgroup>ASDF</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>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. </t>
    </abstract>
  </front>
  <middle>
    <!--section 1-->
    <section>
      <name>Introduction</name>
      <t>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<xref target="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.
      </t>
      <t>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 <xref target="RFC9880"/> can be used for modeling objects as digital twins.
      </t>
      <t>This document specifies the modeling and guidance on how to use SDF to represent objects as digital twins.
      </t>
    </section>
    <!--section 1-->

     <!--section 2-->
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This specification uses the terminology specified in <xref target="RFC9880"/>, in particular "Class Name Keyword", "Object", and "Affordance".</t>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
      "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
      "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <!--section 2-->

    <!--section 3-->
    <section>
      <name>SDF structure for digital twin</name>
      <t>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 <xref target="basic-arch-fig" format="default"/>,
        following the guidelines of <xref target="ISO23247-3"/>.</t>
        <t> 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.
        </t>
        <t> The digital twin layer is structured into three sublayers: the device communication sublayer,
            the digital twin sublayer, and the application sublayer.
        </t>
        <t> 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.
        </t>
        <t> 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.
        </t>
        <t>The Application sublayer presents the synchronized values of the digital twins to users
           to facilitate informed decision making.
      </t>
      <figure anchor="basic-arch-fig">
        <name>Basic Architecture of digital twin</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
        +---------------------------------------------+ - - - - - - - - - - -
        |            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
        |     +-------------+   +----------------+    |
        +---------------------------------------------+ - - - - - - - - - - -
        				]]></artwork>
      </figure>
    </section>
    <!--section 3-->

    <!--section 4-->
    <section>
      <name>Motivation and design rationale</name>
      <t>The document is based on the underlying structure defined in <xref target="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.
      </t>
      <t>Digital twin systems defined in <xref target="ISO23247-3"/> often have to describe virtual representations of various physical objects,
        including metadata, identity, contextual relationships, historical data, as well as device interfaces. </t>
      <section>
        <name>Introduction to sdfContext</name>
        <t>
          The <tt>sdfContext</tt> keyword defined in
          <xref target="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:
        </t>
        <ul spacing="normal">
          <li>
            <t>Identifier (e.g., UUID, URN)</t>
          </li>
          <li>
            <t>Location (e.g. site, zone, GPS tag)</t>
          </li>
          <li>
            <t>Owner (e.g., representative, manufacturer)</t>
          </li>
        </ul>
        <t>
          These fields can appear in both sdfObject and sdfThing contexts, follow the same structural pattern as sdfData, and are designed for scalability.
        </t>
      </section>
      <section>
        <name>Digital twin modeling using SDF elements</name>
        <t>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.</t>
        <t>The example mapping of digital twin attributes to SDF elements is shown in <xref target="digitaltwin2sdfthingqual"/>.
        </t>
        <table anchor="digitaltwin2sdfthingqual">
          <name>Digital twin modeling using elements of SDF model</name>
          <thead>
            <tr>
              <th align="left">Attribute</th>
              <th align="left">Recommended Mapping</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Identifier</td>
              <td align="left">sdfContext</td>
              <td align="left">Globally unique digital twin ID (e.g., URN)</td>
            </tr>
            <tr>
              <td align="left">Characteristic</td>
              <td align="left">sdfProperty or sdfData</td>
              <td align="left">General description or domain properties</td>
            </tr>
            <tr>
              <td align="left">Schedule</td>
              <td align="left">sdfEvent or sdfData</td>
              <td align="left">Time-based actions, availability, or maintenance</td>
            </tr>
            <tr>
              <td align="left">Status</td>
              <td align="left">sdfAction or sdfProperty</td>
              <td align="left">Actual or calculated operating conditions</td>
            </tr>
            <tr>
              <td align="left">Location</td>
              <td align="left">sdfContext</td>
              <td align="left">Physical or logical location information</td>
            </tr>
            <tr>
              <td align="left">Report</td>
              <td align="left">sdfData</td>
              <td align="left">Measurement summaries, analytics, or logs</td>
            </tr>
            <tr>
              <td align="left">owner</td>
              <td align="left">sdfContext</td>
              <td align="left">Organization or entity responsible for the digital twin</td>
            </tr>
            <tr>
              <td align="left">Relationship</td>
              <td align="left">sdfRelation</td>
              <td align="left">Inter-object/inter-twin relationships</td>
            </tr>
          </tbody>
        </table>
      </section> <!--section 4.2-->

      <section> <!--section 4.3-->
        <name>Relationship modeling</name>

        <t>
          The sdfRelation, defined in
          <xref target="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.
        </t>

        <t>
          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:
        </t>
        <ul spacing="normal">
          <li>
            <t>Physical relations (e.g., "inside", "next to")</t>
          </li>
          <li>
            <t>Functional relations (e.g., "controls", "is controlled by")</t>
          </li>
          <li>
            <t>Semantic relations (e.g., "similar to", "same as")</t>
          </li>
        </ul>
        <t>The sdfRelation definition can include the following fields as defined in <xref target="I-D.draft-laari-asdf-relations"/>:</t>
        <ul spacing="normal">
          <li>
            <t>relType: Specifies the type of relationship and may refer to a term defined in an external ontology (e.g., SAREF<xref target="saref4bldg"/>).</t>
          </li>
          <li>
            <t>target: Points to the SDF object or an external ontology term that is the target of the relationship.</t>
          </li>
          <li>
            <t>description: Provides a detailed textual explanation of the relationship.</t>
          </li>
          <li>
            <t>label: A short human-readable label for the relationship.</t>
          </li>
          <li>
            <t>property: Additional properties describing the relationship context.</t>
          </li>
          <li>
            <t>$comment: Optional properties including implementers notes.</t>
          </li>
        </ul>
        <t>An example of sdfRelation is shown in <xref target="example-sdfRelation"/>.
            The sdfProtocolMap in this example is described in <xref target="I-D.draft-ietf-asdf-nipc"/> and <xref target="I-D.draft-ietf-asdf-sdf-protocol-mapping"/></t>
        <figure anchor="example-sdfRelation">
          <name>An example of sdfRelation</name>
          <sourcecode type="json" name="example-sdfRelation.sdf.json"><![CDATA[
{
  "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"
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
        </figure>
      </section>
      <!--section 4.3-->
    </section>
      <!--section 4-->

      <section> <!--section 5 -->
        <name>Protocol considerations for digital twin realization</name>
        <section> <!--section 5.1-->
          <name>Motivation</name>
          <t>
            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 <xref target="I-D.draft-ietf-asdf-sdf-protocol-mapping"/>. </t>

       </section> <!--section 5.1-->

       <section> <!--section 5.2-->
         <name>Supported protocol types</name>
         <t>
          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.
          <xref target="Protocol-roles"/> 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.
         </t>

         <table anchor="Protocol-roles">
           <name>Example protocols and ecosystem technologies for digital twin realization</name>
           <thead>
             <tr>
               <th align="left">Protocol / technology</th>
               <th align="left">Role in digital twin</th>
               <th align="left">Characteristics</th>
             </tr>
           </thead>
           <tbody>
             <tr>
               <td align="left">MQTT</td>
               <td align="left">Sensor data publishing, event reporting</td>
               <td align="left">Lightweight, publish-subscribe, suitable for IoT</td>
             </tr>
             <tr>
               <td align="left">CoAP</td>
               <td align="left">Access to constrained devices</td>
               <td align="left">Compact REST-like communication and observe/notify support</td>
             </tr>
             <tr>
               <td align="left">BLE</td>
               <td align="left">Local data exchange and control for wearables or embedded devices</td>
               <td align="left">Low energy, short range communication using services and characteristics</td>
             </tr>
             <tr>
               <td align="left">Zigbee</td>
               <td align="left">Sensor data access, event reporting, and device control</td>
               <td align="left">Uses endpoints, clusters, attributes, and commands</td>
             </tr>
             <tr>
               <td align="left">Matter</td>
               <td align="left">Interoperable device monitoring and control, particularly for smart-home and smart-building devices</td>
               <td align="left">IP-based application layer using device types, endpoints, clusters, attributes, commands and events</td>
             </tr>
             <tr>
               <td align="left">BACnet</td>
               <td align="left">Building automation and HVAC monitoring/control</td>
               <td align="left">Widely used for building automation systems and exposes building-device objects and properties</td>
             </tr>
             <tr>
               <td align="left">KNX</td>
               <td align="left">Building control such as lighting, shading, and room automation</td>
               <td align="left">Widely deployed home and building control technology</td>
             </tr>
             <tr>
               <td align="left">HTTP/REST</td>
               <td align="left">Enterprise integration and cloud API</td>
               <td align="left">Widely supported application interfaces with comparatively higher overhead</td>
             </tr>
             <tr>
               <td align="left">WebSocket</td>
               <td align="left">Bi-directional low-latency updates</td>
               <td align="left">Useful for state synchronization and real-time commands</td>
             </tr>
             <tr>
               <td align="left">NIPC</td>
               <td align="left">Standardized control of non-IP devices</td>
              <td align="left">Applicable to industrial, legacy and isolated device environments</td>
             </tr>
           </tbody>
         </table>

       </section> <!--section 5.2-->

       <section> <!--section 5.3-->
           <name>Protocol binding in SDF</name>
           <t>
             To model the way digital twins communicate with their physical objects, <tt>sdfProtocolMap</tt> can be defined within the <tt>sdfProperty</tt>, <tt>sdfAction</tt> or <tt>sdfEvent</tt> levels.
             Each protocol entry can specify a communication topic, path, security mechanism, QoS settings, and timing parameters as shown in <xref target="XML-ProtocolBinding"/>.
           </t>

           <figure anchor="XML-ProtocolBinding">
             <name>An example of protocol binding </name>
             <sourcecode type="json" name="XML-healthcare.sdf.json">
             <![CDATA[
{
 "sdfProperty": {
   "temperature": {
     "type": "number",
     "unit": "Cel",
     "sdfProtocolMap": {
       "ble": {
         "serviceID": "00001809-0000-1000-8000-00805f9b34fb",
         "characteristicID": "00002a1c-0000-1000-8000-00805f9b34fb"
       }
     }
   }
 }
}
             ]]></sourcecode>
           </figure>
       </section> <!--section 5.3-->

       <section><!--section 5.4-->
           <name>QoS considerations</name>
              <t>
              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 <xref target="QoSLevel-itsUsage"/>.
             </t>

             <table anchor="QoSLevel-itsUsage">
               <name>Example MQTT QoS levels and recommended usage</name>
               <thead>
                 <tr>
                   <th align="left">QoS level</th>
                   <th align="left">Meaning</th>
                   <th align="left">Recommended Usage</th>
                 </tr>
               </thead>
               <tbody>
                 <tr>
                   <td align="left">0</td>
                   <td align="left">At most once (best effort)</td>
                   <td align="left">Periodic sensor data</td>
                 </tr>
                 <tr>
                   <td align="left">1</td>
                   <td align="left">At least once</td>
                   <td align="left">State updates, events</td>
                 </tr>
                 <tr>
                   <td align="left">2</td>
                   <td align="left">Exactly once</td>
                   <td align="left">Control command, AI action</td>
                 </tr>
               </tbody>
             </table>
           </section><!--section 5.4-->

             <section><!--section 5.5-->
                 <name>Security and access considerations</name>
                    <t>
                    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.</t>
              </section><!--section 5.5-->

              <section><!--section 5.6-->
                  <name>Implementation guidelines</name>
                     <t>
                       The protocol is essential to realizing the digital twin in operation, and it is recommended that the following considerations are taken into account:  </t>

                       <ul spacing="normal">
                         <li>
                           <t>Use protocol mapping appropriate for device classes and network environments</t>
                         </li>
                         <li>
                           <t>Provide both push-based (e.g., MQTT) and poll-based (e.g., HTTP) bindings, if applicable</t>
                         </li>
                         <li>
                           <t>Reuse standardized subject structures, UUIDs, or endpoint URIs to ensure interoperability</t>
                         </li>
                         <li>
                           <t>Avoid duplicate or conflicting bindings, and define protocol preferences via metadata if necessary.</t>
                         </li>
                       </ul>
               </section><!--section 5.6-->
      </section>
      <!--section 5 -->


  <section><!--section 6-->
      <name>Digital twin system in various domains</name>
      <section> <!--section 6.1-->
      <name>Overview</name>
      <t>
        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 <tt>sdfRelation</tt> are used to describe additional information such as the context of components,
        and the relationship between components (<tt>sdfRelation</tt>).
        The examples cover several domains, including marine systems, healthcare systems, smart buildings, and smart networks.
        This consistent modeling approach can support interoperability across applications.
      </t>
    </section> <!--section 6.1-->
      <section>
        <name>Marine system</name>
        <t>
            <xref target="Component-marine"/> describes an example of how a maritime vessel, referred to as <tt>Boat007</tt>, 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 <tt>sdfObjects</tt>,
            while the entire vessel is represented as a single <tt>sdfThing</tt> that groups these components together.
        </t>
        <t>
          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.
        </t>
        <t>
          This structure enables developers and systems integrators to:
        </t>
        <ul spacing="normal">
          <li>
            <t>Seamlessly capture and communicate the features and state of the device</t>
          </li>
          <li>
            <t>Consolidate operational data for real-time monitoring and analysis</t>
          </li>
          <li>
            <t>Standardized semantics enable interoperability with other domains.</t>
          </li>
        </ul>
        <table anchor="Component-marine">
          <name>Components and SDF elements of a marine system</name>
          <thead>
            <tr>
              <th align="left">Attribute</th>
              <th align="left">SDF element</th>
              <th align="left">Properties</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Boat007</td>
              <td align="left">sdfThing</td>
              <td align="left">label, vesselId, homePort; includes heater1, thermostat1, batterySensor1, and powerController1</td>
            </tr>
            <tr>
              <td align="left">Heater1</td>
              <td align="left">sdfObject</td>
              <td align="left">status, temperature, turnOn, turnOff</td>
            </tr>
            <tr>
              <td align="left">Thermostat1</td>
              <td align="left">sdfObject</td>
              <td align="left">setPoint, mode (sdfProperty)</td>
            </tr>
            <tr>
              <td align="left">Battery sensor1</td>
              <td align="left">sdfObject</td>
              <td align="left">chargeLevel, voltage, batteryToController</td>
            </tr>
            <tr>
              <td align="left">Power controller</td>
              <td align="left">sdfObject</td>
              <td align="left">connect, disconnect</td>
            </tr>
            <tr>
              <td align="left">Temp-to-Thermostat</td>
              <td align="left">sdfRelation</td>
              <td align="left">heater1 → thermostat1, relType: regulatedBy</td>
            </tr>
            <tr>
              <td align="left">Battery-to-powerController</td>
              <td align="left">sdfRelation</td>
              <td align="left">batterySensor1 → powerController1, relType: connectedTo</td>
            </tr>
            <tr>
              <td align="left">Context information</td>
              <td align="left">sdfContext</td>
              <td align="left">vesselId, homePort, manufacturer, model</td>
            </tr>
          </tbody>
        </table>
        <t>
          In the context of <tt>Boat007</tt>, shown in <xref target="XML-marine"/>, 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.
        </t>
        <figure anchor="XML-marine">
          <name>An example of marine system</name>
          <sourcecode type="json" name="XML-marine.sdf.json"><![CDATA[
{
  "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" }
          }
        }
      }
    }
  }
}
          ]]></sourcecode>
        </figure>
      </section>
      <!--section 6.2 -->

      <!--section 6.3 -->
       <section>
        <name>Healthcare system</name>
        <t>
           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 <xref target="Component-Healthcare"/>.
        </t>
        <table anchor="Component-Healthcare">
          <name>Components and SDF elements of a healthcare system</name>
          <thead>
            <tr>
              <th align="left">Attribute</th>
              <th align="left">SDF element</th>
              <th align="left">Properties</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Patient monitor</td>
              <td align="left">sdfThing</td>
              <td align="left">patientMonitor001 as a digital twin</td>
            </tr>
            <tr>
              <td align="left">ECG module</td>
              <td align="left">sdfObject</td>
              <td align="left">heartRate, rhythmType</td>
            </tr>
            <tr>
              <td align="left">Infusion pump</td>
              <td align="left">sdfObject</td>
              <td align="left">flowRate, volumeRemaining</td>
            </tr>
            <tr>
              <td align="left">Alert system</td>
              <td align="left">sdfObject</td>
              <td align="left">highHeartRateAlert</td>
            </tr>
            <tr>
              <td align="left">Context information</td>
              <td align="left">sdfContext</td>
              <td align="left">wardLocation, patientID, manufacturer, model, serialNumber</td>
            </tr>
            <tr>
              <td align="left">Relationship</td>
              <td align="left">sdfRelation</td>
              <td align="left">ECG to alertSystem (relType: monitoredBy)</td>
            </tr>
          </tbody>
        </table>
        <t>
           A digital twin example of a patient monitoring system with ECG and infusion pump components is illustrated in <xref target="XML-healthcare"/>.
           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.
        </t>
        <figure anchor="XML-healthcare">
          <name>An example of healthcare </name>
          <sourcecode type="json" name="XML-healthcare.sdf.json"><![CDATA[
{
  "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"
            }
          }
        }
      }
    }
  }
}
          ]]></sourcecode>
        </figure>
      </section>
      <!--section 6.3 -->

      <!--section 6.4 -->
      <section>
        <name>Smart building system</name>

        <t>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 <xref target="Matter"/>,
          BACnet-based HVAC <xref target="BACnet"/>, KNX-based shading <xref target="KNX"/>,
          CoAP environmental sensors, MQTT energy meters, and HTTP/REST-based building-management services.</t>
        <t>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.</t>
        <t>The components used in this example are summarized in <xref target="Component-SmartBuilding"/>.
        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.</t>

        <table anchor="Component-SmartBuilding">
          <name>Components and SDF elements of a smart building system</name>
          <thead>
            <tr>
              <th align="left">Building component</th>
              <th align="left">SDF element</th>
              <th align="left">Example information</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Building digital twin</td>
              <td align="left">sdfThing</td>
              <td align="left">building001 containing room and subsystem objects</td>
            </tr>
            <tr>
              <td align="left">Lighting system</td>
              <td align="left">sdfObject</td>
              <td align="left">powerState, brightness, setBrightness; implemented with Matter</td>
            </tr>
            <tr>
              <td align="left">HVAC system</td>
              <td align="left">sdfObject</td>
              <td align="left">temperatureSetPoint, operatingMode, setTemperature; implemented with BACnet</td></tr>
            <tr>
              <td align="left">Shading system</td>
              <td align="left">sdfObject</td>
              <td align="left">blindPosition, setBlindPosition; implemented with KNX</td></tr>
            <tr>
              <td align="left">Environmental sensor</td>
              <td align="left">sdfObject</td>
              <td align="left">temperature, CO2 concentration; implemented with CoAP</td></tr>
            <tr>
              <td align="left">Energy meter</td>
              <td align="left">sdfObject</td>
              <td align="left">powerConsumption; implemented with MQTT</td>
            </tr>
            <tr>
              <td align="left">Building context</td>
              <td align="left">sdfContext</td>
              <td align="left">buildingUse, roomNumber, floor, zone</td>
            </tr>
            <tr>
              <td align="left">Relationships</td>
              <td align="left">sdfRelation</td>
              <td align="left">locatedIn, controlsClimateOf, measuresPowerOf</td>
            </tr>
          </tbody>
        </table>
        <t><xref target="XML-SmartBuilding"/> 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.</t>
        <t>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.</t>
        <figure anchor="XML-SmartBuilding">
          <name>An example of a heterogeneous smart building system</name>
          <sourcecode type="json" name="XML-SmartBuilding.sdf.json"><![CDATA[
{
  "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"
            }
          }
        }

      }
    }
  }
}
            ]]></sourcecode>
        </figure>
      </section>
      <!--section 6.4 -->


      <!--section 6.5 -->
      <section>
        <name>Smart network system</name>
        <t>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.</t>
        <t>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.</t>
        <t>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.</t>
        <t>The SDF elements used in this example are summarized in <xref target="Component-SmartNetwork"/>.</t>
        <table anchor="Component-SmartNetwork">
          <name>Components and SDF elements of a smart network system</name>
          <thead><tr><th align="left">Attribute</th><th align="left">SDF element</th><th align="left">Example information</th></tr></thead>
          <tbody>
            <tr>
              <td align="left">Smart network system</td>
              <td align="left">sdfThing</td>
              <td align="left">smartNetwork001 containing the network-device and traffic twins</td></tr>
            <tr>
              <td align="left">Network-device twin</td>
              <td align="left">sdfObject</td>
              <td align="left">device identifier, operational state, utilization, latency</td></tr>
            <tr>
              <td align="left">Traffic twin</td>
              <td align="left">sdfObject</td>
              <td align="left">current traffic, traffic history, traffic pattern</td></tr>
              <tr>
                <td align="left">Current traffic information</td>
                <td align="left">sdfProperty</td>
                <td align="left">currentTraffic, packetRate</td>
              </tr>
              <tr>
                <td align="left">Twin association</td>
                <td align="left">sdfRelation</td>
                <td align="left">association of the traffic twin with the network-device twin</td>
              </tr>
            <tr>
              <td align="left">Prediction result</td>
              <td align="left">sdfProperty / sdfEvent</td>
              <td align="left">anomalyScore, abnormalSituationPredicted</td>
            </tr>
            <tr>
              <td align="left">Countermeasure interface</td>
              <td align="left">sdfAction</td>
              <td align="left">applyCountermeasure for a predicted abnormal situation</td>
            </tr>
          </tbody>
        </table>
        <t><xref target="SmartNetwork-Procedure"/> shows the conceptual processing sequence. The procedure is intentionally described at an architectural level; this document does not standardize a prediction algorithm.</t>
        <figure anchor="SmartNetwork-Procedure">
          <name>Digital twin-based prediction and response procedure for a smart network system</name>
          <artwork align="center"><![CDATA[
+-----------------------------------------------------------+
| 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       |
+-----------------------------------------------------------+
          ]]></artwork>
        </figure>
        <t><xref target="XML-SmartNetwork"/> provides an SDF representation of the entities and interfaces used by the example.</t>
        <figure anchor="XML-SmartNetwork">
          <name>An example of a smart network system</name>
          <sourcecode type="json" name="XML-SmartNetwork.sdf.json"><![CDATA[
{
  "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"
            }
          }
        }
      }
    }
  }
}
          ]]></sourcecode>
        </figure>
      </section>
      <!--section 6.5 -->

  </section>
    <!--section 6-->


    <!--section 7-->
    <section>
      <name>Requirements for implementing digital twins</name>

      <t>
        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
        <xref target="ISO23247-1"/>.
      </t>

      <ul spacing="normal">

        <li>
          <t>
            <strong>Purpose definition:</strong>
            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.
          </t>
        </li>

        <li>
          <t>
            <strong>Role-based data organization:</strong>
            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.
          </t>
        </li>

        <li>
          <t>
            <strong>Cross-domain digital twin information:</strong>
            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.
          </t>
        </li>

        <li>
          <t>
            <strong>Domain-specific digital twin configuration:</strong>
            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.
          </t>
        </li>

        <li>
          <t>
            <strong>Interworking among domain-specific digital twins:</strong>
            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.
          </t>
        </li>

        <li>
          <t>
            <strong>Synchronization with the observable object:</strong>
            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.
          </t>
        </li>

        <li>
          <t>
            <strong>Cross-domain state consistency:</strong>
            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.
          </t>
        </li>

      </ul>
    </section>
    <!--section 7-->

    <!--section 8-->
    <section>
      <name>Procedure for digital twin implementation</name>

      <section>
        <name>Overview</name>

        <t>
          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.
        </t>

        <t>
          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:
        </t>

        <ul spacing="normal">

          <li>
            <t>
              defining a purpose for expressing the observable object as a digital
              twin in the domain;
            </t>
          </li>

          <li>
            <t>
              collecting and organizing data according to the roles of the observable
              object in the domain;
            </t>
          </li>

          <li>
            <t>
              receiving information about digital twins of the same observable object
              that exist in other domains in which the observable object performs
              different roles;
            </t>
          </li>

          <li>
            <t>
              configuring the observable object as a digital twin based on the
              collected data, defined purpose, and role of the observable object
              in the domain;
            </t>
          </li>

          <li>
            <t>
              enabling interworking with digital twin systems in other domains in
              which the same observable object performs different roles;
            </t>
          </li>

          <li>
            <t>
              synchronizing the observable object and its corresponding digital twin;
            </t>
          </li>

          <li>
            <t>
              maintaining consistent shared state information among digital twins
              representing the same observable object across multiple domains.
            </t>
          </li>

        </ul>

        <t>
          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.
        </t>

      </section>

      <section>
        <name>Procedure</name>

        <t>
          The procedure for configuring and operating an observable object as a
          digital twin is described below.
        </t>

        <ul spacing="normal">

          <li>
            <t>
              <strong>Identifying and scoping the observable object:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Defining the purpose:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Organizing data based on roles:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Receiving cross-domain digital twin information:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Configuring a domain-specific digital twin:</strong>
              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.
            </t>

            <t>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Describing relationships:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Binding interfaces and communications:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Interworking among domain-specific digital twins:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Synchronizing the observable object and the digital twin:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Maintaining cross-domain state consistency:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Verification and compliance:</strong>
              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.
            </t>
          </li>

          <li>
            <t>
              <strong>Deployment and lifecycle management:</strong>
              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.
            </t>
          </li>

        </ul>

      </section>

    </section>
    <!--section 8-->

    <!--section 9 -->
    <section>
      <name>Security Considerations</name>

      <t>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.</t>
    </section>
    <!--section 9-->


    <section>
      <name>IANA Considerations</name>
      <!--section 10-->
      <t>This document has no IANA actions.</t>
    </section>
    <!--section 10-->
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="Y.4600">
          <front>
            <title>"Recommendation ITU-T Y.4600 (2022), Requirements and capabilities of a digital twin system for smart cities.</title>
            <author fullname="International Telecommunication Union"/>
            <date month="August" year="2022"/>
          </front>
        </reference>
        <!--&id.RFC9880;-->
        <reference anchor="RFC9880">
          <front>
            <title>Semantic Definition Format (SDF) for Data and Interactions of Things</title>
            <author fullname="Michael Koster" initials="M." surname="Koster">
              <organization>KTC Control AB</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Ari Keränen" initials="A." surname="Keränen">
              <organization>Ericsson</organization>
            </author>
            <date month="January" year="2026"/>
            <abstract>
              <t>The Semantic Definition Format (SDF) is a format for domain experts
                 to use in the creation and maintenance of data and interaction models
                 that describe Things, i.e., physical objects that are available for
                 interaction over a network.  An SDF specification describes
                 definitions of SDF Objects/SDF Things and their associated
                 interactions (Events, Actions, and Properties), as well as the Data
                 types for the information exchanged in those interactions.  Tools
                 convert this format to database formats and other serializations as
                 needed.
              </t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="9880"/>
          <seriesInfo name="DOI" value="10.17487/RFC9880"/>
        </reference>
        <!--  &id.draft-ietf-asdf-sdf-nonaffordance;-->
        <reference anchor="I-D.draft-ietf-asdf-sdf-nonaffordance">
          <front>
            <title>Semantic Definition Format (SDF) Extension for Non-Affordance Information</title>
            <author fullname="Jungha Hong" initials="J." surname="Hong">
              <organization>ETRI</organization>
            </author>
            <author fullname="Hyunjeong Lee" initials="H." surname="Lee">
              <organization>ETRI</organization>
            </author>
            <date day="16" month="September" year="2026"/>
            <abstract>
              <t>
                 This document describes an extension to the Semantic Definition
                 Format (SDF) for representing non-affordance information of Things,
                 such as physical, contextual, and descriptive metadata.  This
                 extension introduces a new class keyword, sdfContext, that enables
                 comprehensive modeling of Things and improves semantic clarity.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="I-D.draft-ietf-asdf-sdf-nonaffordance-05"/>
        </reference>
        <!--  &id.draft-laari-asdf-relations;-->
      <reference anchor="I-D.draft-laari-asdf-relations">
          <front>
            <title>Extended relation information for Semantic Definition Format (SDF)</title>
            <author fullname="Petri" initials="P." surname="Laari">
              <organization>Ericsson</organization>
            </author>
            <date day="28" month="January" year="2025"/>
            <abstract>
              <t>The Semantic Definition Format (SDF) base specification defines set
               of basic information elements that can be used for describing a large
               share of the existing data models from different ecosystems.  While
               these data models are typically very simple, such as basic sensors
               definitions, more complex models, and in particular bigger systems,
               benefit from ability to describe additional information on how
               different definitions relate to each other. This document specifies
               an extension to SDF for describing complex relationships in class
               level descriptions.  This specification does not consider instance-
               specific information.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="I-D.draft-laari-asdf-relations-04"/>
        </reference>
        <reference anchor="I-D.draft-ietf-asdf-nipc">
          <front>
            <title>An Application Layer Interface for Non-IP device control (NIPC)</title>
            <author fullname="Bart Brinckman" initials="B." surname="Brinckman">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Rohit Mohan" initials="R." surname="Mohan">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Braeden Sanford" initials="B." surname="Sanford">
              <organization>Philips</organization>
            </author>
            <date day="20" month="September" year="2025"/>
            <abstract>
              <t>This memo describes an API that allows applications to perform
              operations against a gateway serving one or more devices described by
              an SDF model.  The document describes RESTful application layer
              interface to perform operations on those devices, as well as a CBOR-
              based publish-subscribe interface for streaming data.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="I-D.draft-ietf-asdf-nipc-13"/>
        </reference>
        <reference anchor="I-D.draft-ietf-asdf-sdf-protocol-mapping">
          <front>
            <title>SDF Protocol Mapping</title>
            <author fullname="Rohit Mohan" initials="R." surname="Mohan">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Bart Brinckman" initials="B." surname="Brinckman">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Lorenzo Corneo" initials="L." surname="Corneo">
              <organization>Ericsson</organization>
            </author>
            <date day="27" month="August" year="2026"/>
            <abstract>
              <t>This document defines protocol mapping extensions for the Semantic
               Definition Format (SDF) to enable mapping of protocol-agnostic SDF
               affordances to protocol-specific operations.  The protocol mapping
               mechanism allows SDF models to specify how properties, actions, and
               events should be accessed using a specific protocol.  This document
               defines protocol mappings for Bluetooth Low Energy and Zigbee, and
               the mechanism can be extended to other protocols such as HTTP and
               CoAP. This document also describes a method to extend SCIM with an
               SDF model mapping.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="I-D.draft-ietf-asdf-sdf-protocol-mapping-11"/>
        </reference>
        <reference anchor="ISO23247-1" target="https://www.iso.org/standard/75066.html">
          <front>
            <title>Automation systems and integration Digital twin framework for manufacturing - Part 1: Overview and general principles, ISO 23247-1.</title>
            <author fullname="ISO" initials="" surname="">
                </author>
            <date month="October" year="2021"/>
          </front>
        </reference>
        <reference anchor="ISO23247-3" target="https://www.iso.org/standard/78744.html">
          <front>
            <title>Automation systems and integration Digital twin framework for manufacturing - Part 3: Digital representation of manufacturing elements, ISO 23247-3.</title>
            <author fullname="ISO" initials="" surname="">
                </author>
            <date month="October" year="2021"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.
      				  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.
      				  This document specifies an Internet Best Current Practices for the Internet Community,
                and requests discussion and suggestions for improvements.
              </t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications.
				  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="Matter">
          <front>
            <title>Matter Core Specification, Version 1.4</title>
            <author fullname="Connectivity Standards Alliance"/>
            <date month="November" year="2024"/>
          </front>
        </reference>
        <reference anchor="BACnet">
          <front>
            <title>ANSI/ASHRAE Standard 135-2024: BACnet - A Data Communication Protocol for Building Automation and Control Networks</title>
            <author fullname="ASHRAE"/>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="KNX">
          <front>
            <title>ISO/IEC 14543-3: Information technology - Home electronic system (HES) architecture - Part 3</title>
            <author fullname="ISO/IEC"/>
          </front>
        </reference>
        <reference anchor="saref4bldg" target="https://saref.etsi.org/saref4bldg">
          <front>
            <title>SAREF extension for building</title>
            <author initials="M." surname="Poveda-Villaln" fullname="Mara Poveda-Villaln"/>
            <author initials="R." surname="Garcia-Castro" fullname="Ral Garcia-Castro"/>
            <date year="2020" month="June" day="05"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This specification is based on work by the One Data Model group.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Joo-Sang Youn" initials="J-S" surname="Youn">
        <organization abbrev="Dong-eui Univ">DONG-EUI University</organization>
        <address>
          <postal>
            <street>176 Eomgwangno Busan_jin_gu</street>
            <city>Busan</city>
            <region/>
            <code>47340</code>
            <country>South Korea</country>
          </postal>
          <phone>+82 51 890 1993</phone>
          <email>joosang.youn@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Yong-Geun Hong" initials="Y-G" surname="Hong">
        <organization>Daejeon University</organization>
        <address>
          <postal>
            <street>62 Daehak-ro, Dong-gu</street>
            <street/>
            <city>Daejeon</city>
            <region/>
            <code>34520</code>
            <country>South Korea</country>
          </postal>
          <phone>+82 42 280 4841</phone>
          <email>yonggeun.hong@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
</rfc>
