<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
  <!ENTITY rfc6574 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6574.xml">
  <!ENTITY rfc7452 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7452.xml">
  <!ENTITY id.draft-ietf-asdf-sdf SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-asdf-sdf-16.xml">
  <!ENTITY id.draft-laari-asdf-relations SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-laari-asdf-relations-02.xml">
  <!ENTITY id.draft-bormann-asdf-sdftype-link SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-bormann-asdf-sdftype-link-01.xml">
]>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.6.10) -->
<rfc category="std" docName="draft-lee-asdf-digital-twin-00" ipr="trust200902">

  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  <!-- used by XSLT processors -->
  <!-- For a complete list and description of processing instructions (PIs),
   please see http://xml.resource.org/authoring/README.html. -->
  <!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
   (Here they are set differently than their defaults in xml2rfc v1.32) -->
  <?rfc strict="yes" ?>
  <!-- give errors regarding ID-nits and DTD validation -->
  <!-- control the table of contents (ToC) -->
  <?rfc toc="yes"?>
  <!-- generate a ToC -->
  <?rfc tocdepth="4"?>
  <!-- the number of levels of subsections in ToC. default: 3 -->
  <!-- control references -->
  <?rfc symrefs="yes"?>
  <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
  <?rfc sortrefs="no" ?>
  <!-- sort the reference entries alphabetically -->
  <!-- control vertical white space
   (using these PIs as follows is recommended by the RFC Editor) -->
  <?rfc compact="no" ?>
  <!-- do not start each main section on a new page -->
  <?rfc subcompact="no" ?>
  <!-- keep one blank line between list items -->
  <!-- end of list of popular I-D processing instructions -->

  <!-- ***** FRONT MATTER ***** -->
  <front> 
    <title abbrev="SDF for Digital Twin">Extended information of Semantic Definition Format (SDF) for Digital Twin</title>
    <seriesInfo name="Internet-Draft" value="draft-lee-asdf-digital-twin-00"/>

    <author fullname="Hyunjeong Lee" initials="HJ." surname="Lee">
        <organization abbrev="ETRI">Electronics and Telecommunications Research Institute</organization>
        <address>
            <postal>
                <street>218 Gajeong-ro, Yuseong-gu</street>
                <city>Daejeon</city>
                <region></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="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></region>
	       		<code>47340</code>
    	      	<country>South Korea</country>
        	</postal>
        	<phone>+82 51 890 1993</phone>
        	<email>joosang.youn@gmail.com</email>
      	</address>
    </author>
    <author fullname="Yong-Geun Hong" initials="Y-G" surname="Hong">
        <organization>Daejeon University</organization>
        <address>
            <postal>
                <street>62 Daehak-ro, Dong-gu</street>
                <street></street>
                <city>Daejeon</city>
                <region></region>
                <code>34520</code>
                <country>South Korea</country>
            </postal>         
            <phone>+82 42 280 4841</phone>
            <email>yonggeun.hong@gmail.com</email>
        </address>
    </author>
    <date day="23" month="October" year="2023"/>
    <area>ART</area>
    <workgroup>ASDF Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>An SDF specification can describe the definition of a Things, i.e., physical objects and their associated interactions and express the various information that be exchanged for the interactions. 
      Therefore, the SDF format can be used to define the behaviour of an object and its associated data model and interaction model in a digital twin system that has an object as a component. 
      In a digital twin system, interactions between physical and virtual objects, as well as interactions of objects existing in the different digital twin systems, are performed over a network, which is important to provide location information of objects during interactions. This document specifies the extension information of SDF to represent the location information of an objects.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Digital twin is a digital representation of an object of interest and may require different capabilities (e.g., synchronization, real-time support) according to the specific domain of application <xref target="Y.4600"/>. 
      Digital twin systems help organizations improve important functional objectives including real-time control, off-line analytics, predictive maintenance by modelling and simulating of objects in the real world. Therefore, it is important for a digital twin system to represent as much real-world information about the object as possible when digitally representing  the object.  A procedure for representing an observable Thing, as known as a physical asset or an object of interest, as a digital twin in a domain is as follows:</t>
      <t>
		<list style="symbols">
      <t>defining a purpose for expressing the observable object as a digital twin in the domain</t>
			<t>organizing data based on the roles of the observable object in the domain</t>				
			<t>configuring the observable object into the digital twin based on the data for the purposes</t>				
			<t>interworking with a digital twin of each of other domains in which the observable object performs a different role</t>				
			<t>synchronizing the observable object and the digital twin</t>				
		</list>
	  </t>
      <t>Nowadays, digital twin systems are applied in various domains  including medical, manufacturing, farm, transportation, etc. And a common format is needed to represent the objects in the domains as digital twins. An SDF specification <xref target="I-D.ietf-asdf-sdf"/> can be used for the purpose of digital representation of objects in a digital twin system. However, because the SDF specification only provides a basic model for digital representation, it cannot represent objects location information.  The location information of the object is the important information to digitally representation of the object. This document extends the basic SDF specification by adding a new keyword "location" to represent an object as a digital twin. This new keyword is needed to adequately represent the current location of the object, which is helpful for users to manage the domain efficiently.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This specification uses the terminology specified in <xref target="I-D.ietf-asdf-sdf"/> 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 title="SDF Location Extension for Digital Twin">
      <t>This section defines a new SDF Class Name Keyword, sdfLocation, that can be used to represent the location of an object as digital twin. The location definitions are on class-level, and describes the use of sdfLocation <xref target="I-D.laari-asdf-relations"/>.</t>
        <section title="Namespaces">
         <t>The SDF namespace block can be used to provide CURIE prefixes for external ontologies for use with sdfLocation extension. For example, in case of SAREF (Smart Applications REFerence ontology) ontology extension for buildings <xref target="saref4bldg"/>, we can use the following namespace definition:.</t>
         <sourcecode>
{
    "namespace": {
     "saref": "https://saref.etsi.org/saref4bldg/v1.1.2/" 
    }
}
</sourcecode>
       </section>  <!--section 3.1-->
        <section anchor="qualities-of-sdfLocation">
          <name>Qualities of sdfLocation</name>
          <t>This section defines the qualities of the sdfLocation. These qualities are used to define the potential type of the sdfLocation.</t>
          <table>
            <name> Qualities of sdfLocation </name>
            <thead>
                <tr>
                <th align="left">Quality</th>
                <th align="left">Type</th>
                <th align="left">Required</th>
                <th align="left">Description</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                <td align="left">locationType</td>
                <td align="left">string</td>
                <td align="left">yes</td>
                <td align="left">What kind of location these definitions have</td>
                </tr>
                <tr>
                <td align="left">target</td>
                <td align="left">string</td>
                <td align="left">no</td>
                <td align="left">Target model for the location</td>
                </tr>
                <tr>
                <td align="left">description</td>
                <td align="left">string</td>
                <td align="left">no</td>
                <td align="left">Description of the location</td>
                </tr>
                <tr>
                <td align="left">label</td>
                <td align="left">string</td>
                <td align="left">no</td>
                <td align="left">Short text describing the location</td>
                </tr>
                <tr>
                <td align="left">property</td>
                <td align="left">object</td>
                <td align="left">no</td>
                <td align="left">Additional properties for this location</td>
                </tr>
                <tr>
                <td align="left">$comment</td>
                <td align="left">string</td>
                <td align="left">no</td>
                <td align="left">Additional comments for implementors</td>
                </tr>
            </tbody>
          </table>
          <section title="locationType">
            <t>The locationType quality describes the type of location including geographical or relative information <xref target="ISO23247-3"/>. This can use different descriptions, such as GPS, postal address, relative location. The purpose of the locationType is to represent the current location of an sdfThing or an sdfObject. For example, the locationType can be defined as "218 Gajeong-ro, 7th building in ETRI, WorkUnit #3 in ETRI branch #2" and so on.</t>
          </section>
          <section title="target">
            <t>The "target" field defines to which definition or ontology term this definition with sdfLocation has a location to. For example, this can be #/sdfObject/location, when the target location of an object is defined in the same SDF model.</t>
            <sourcecode>
  "namespace": {
    "exont": "https://example.com/relationOntology",
    "saref": "https://saref.etsi.org/core/v3.1.1/"
  },
  sdfObject: {
    "Humidity": {
      "description": "Example Humidity object",
      "sdfProperty": {
        ...
      },
      "sdfLocation": {
        "postalAddr": {
            "locationType": "exont:postal-addr",
            "target": "saref:PostalAddress",
            "description": "address of object",
            "label":"postcode"
        }
      }
    }
  ...
  }
</sourcecode>
           </section> <!--section 3.2.1-->
           <section title="description">            
             <t>The "description" field defines the location.  For SDF version 1.1, the description is a string.</t>
           </section> <!--section 3.2.2-->
           <section title="label">            
             <t>Short text describing the location, similar to label quality in other SDF definitions.</t>
           </section> <!--section 3.2.3-->
        </section> <!--section 3.2-->
        <section title="Example location description with sdfType links">            
            <t>This extension allows you to describe location from the SDF model to various (SDF or other) definitions. For link data types for affordance, for example, for link properties that can be accessed and modified during runtime, the "sdfType for links" extension <xref target="I-D.bormann-asdf-sdftype-link"></xref> can be used instead. In the following example, we have a definition for location with the postal address format:</t>
            <sourcecode>   
  sdfObject: {
    "example-object": {
      "description": "example object",
      "sdfProperty": {
        ...
      },
      "sdfLocation": {
        "postalAddr": {
            "locationType": "exont:postal-addr",
            "target": "saref:PostalAddress",
            "description": "Postal address of a company", "218 Gajeong-ro ...",
            "label":"34129",
            "property":"company address"
        }
      }
    }
  ...
</sourcecode>
        </section> <!--section 3.3-->
    </section> <!--section 3-->
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section> <!--section 4-->
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section> <!--section 5-->
  </middle>

  <back>
  <references title="Normative References">
        <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.draft-ietf-asdf-sdf;
        &id.draft-laari-asdf-relations;

        <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>

        &id.draft-bormann-asdf-sdftype-link;

        <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 title="Informative References">
        <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>
  </back>
</rfc>
