<?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.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-asdf-sdf-mapping-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="SDF Mapping">Semantic Definition Format (SDF): Mapping files</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-asdf-sdf-mapping-01"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann" role="editor">
      <organization ascii="Universitaet Bremen TZI">Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <author initials="J." surname="Romann" fullname="Jan Romann">
      <organization>Universität Bremen</organization>
      <address>
        <email>jan.romann@uni-bremen.de</email>
      </address>
    </author>
    <date year="2022" month="October" day="24"/>
    <area>Applications</area>
    <workgroup>ASDF</workgroup>
    <keyword>Internet-Draft</keyword>
    <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 in
the Internet of Things.  It was created as a common language for use
in the development of the One Data Model liaison organization (OneDM)
definitions.  Tools convert this format to database formats and other
serializations as needed.</t>
      <t>An SDF specification often needs to be augmented by additional
information that is specific to its use in a particular ecosystem or
application.
SDF mapping files provide a mechanism to represent this
augmentation.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-asdf-sdf-mapping/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        A Semantic Definition Format for Data and Interactions of Things (asdf) Working Group mailing list (<eref target="mailto:asdf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/asdf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/asdf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/sdf-mapping"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <!-- Just copying the abstract, for now... -->

<t>The Semantic Definition Format (SDF) is a format for domain experts to
use in the creation and maintenance of data and interaction models in
the Internet of Things.  It was created as a common language for use
in the development of the One Data Model liaison organization (OneDM)
definitions.  Tools convert this format to database formats and other
serializations as needed.</t>
      <t>An SDF specification often needs to be augmented by additional
information that is specific to its use in a particular ecosystem or
application.
SDF mapping files provide a mechanism to represent this
augmentation.</t>
      <section anchor="terminology-and-conventions">
        <name>Terminology and Conventions</name>
        <t>The definitions of <xref target="I-D.ietf-asdf-sdf"/> apply.</t>
        <!-- XXX -->

<t>The term "byte" is used in its now-customary sense as a synonym for
"octet".</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>
    <section anchor="overview">
      <name>Overview</name>
      <t>An SDF mapping file provides augmentation information for one or more
SDF definitions.
Its main contents is a map from SDF name references (<xref section="4.3" sectionFormat="of" target="I-D.ietf-asdf-sdf"/>) to a set of qualities.</t>
      <t>When processing the mapping file together with one or more SDF
definitions, these qualities are added to the SDF definition at the
referenced name, as in a merge-patch operation <xref target="RFC7396"/>.
Note that this is somewhat similar to the way sdfRef (<xref section="4.4" sectionFormat="of" target="I-D.ietf-asdf-sdf"/>) works, but in a
mapping file the arrows point in the inverse direction (from the
augmenter to the augmented).</t>
      <section anchor="example1">
        <name>Example Definition 1 (ecosystem: IPSO/OMA)</name>
        <t>An example for an SDF mapping file is given in <xref target="code-example1"/>.
This mapping file is meant to attach to an SDF specification published
by OneDM, and to add qualities relevant to the IPSO/OMA ecosystem.
<cref anchor="namespace-note"><br/>
Note that this example uses namespaces to identify elements of the
referenced specification(s), but has un-namespaced quality names.
These two kinds of namespaces are probably unrelated, and we may
need to add quality namespacing to SDF (independent of a potential
feature to add namespace references to definitions that are not
intended to go into the default namespace -- these are SDF
definition namespaces and not quality namespaces, which are one
meta-level higher).</cref></t>
        <ul spacing="normal">
          <li>Start of mapping file for certain OneDM playground models:</li>
        </ul>
        <figure anchor="code-example1">
          <name>A simple example of an SDF mapping file</name>
          <sourcecode type="json"><![CDATA[
{
  "info": {
    "title": "IPSO ID mapping"
  },
  "namespace": {
    "onedm": "https://onedm.org/models"
  },
  "defaultNamespace": "onedm",
  "map": {
    "#/sdfObject/Digital_Input": {
      "id": 3200
    },
    "#/sdfObject/Digital_Input/sdfProperty/Digital_Input_State": {
      "id": 5500
    },
    "#/sdfObject/Digital_Input/sdfProperty/Digital_Input_Counter": {
      "id": 5501
    }
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="example2">
        <name>Example Definition 2 (ecosystem: W3C WoT)</name>
        <t>This example shows a translation of a hypothetical W3C WoT Thing Model
into an SDF model plus a mapping file to catch Thing Model attributes
that don't currently have SDF qualities defined.
<cref anchor="td-note"><br/>
The example probably would be more useful with, say, protocol
bindings.
This is left for a future version of this example, and/or a
future specification that specifically addresses how to map Thing
Models into SDF.
<br/>
(There is also the separate requirement to transform a Thing Description
into the kind of information that can be represented in SDF plus
instance information, such as IP addresses or specific node
names.)
<br/>
Finally, namespaces are all wrong in this example.</cref></t>
        <ul spacing="normal">
          <li>The input: WoT Thing Model</li>
        </ul>
        <figure anchor="code-wot-input">
          <name>Input: WoT Thing Model</name>
          <sourcecode type="json"><![CDATA[
{
    "@context": ["http://www.w3.org/ns/td"],
    "@type" : "tm:ThingModel",
    "title": "Lamp Thing Model",
    "titles": {
      "en": "Lamp Thing Model",
      "de": "Thing Model für eine Lampe"
    },
    "properties": {
        "status": {
            "description": "Current status of the lamp",
            "descriptions": {
              "en": "Current status of the lamp",
              "de": "Aktueller Status der Lampe"
            },
            "type": "string",
            "readOnly": true
        }
    }
}
]]></sourcecode>
        </figure>
        <ul spacing="normal">
          <li>The output: SDF model</li>
        </ul>
        <figure anchor="code-wot-output1">
          <name>Output 1: SDF Model</name>
          <sourcecode type="json"><![CDATA[
{
  "info": {
    "title": "Lamp Thing Model"
  },
  "namespaces": {
    "wot": "http://www.w3.org/ns/td"
  },
  "defaultNamespace": "wot",
  "sdfObject": {
    "LampThingModel": {
      "label": "Lamp Thing Model",
      "sdfProperty": {
        "status": {
          "description": "Current status of the lamp",
          "writable": false,
          "type": "string"
        }
      }
    }
  }
}
]]></sourcecode>
        </figure>
        <ul spacing="normal">
          <li>The other output: SDF mapping file</li>
        </ul>
        <figure anchor="code-wot-output2">
          <name>Output 2: SDF Mapping File</name>
          <sourcecode type="json"><![CDATA[
{
  "info": {
    "title": "Lamp Thing Model: WoT TM mapping"
  },
  "namespace": {
    "wot": "http://www.w3.org/ns/td"
  },
  "defaultNamespace": "wot",
  "map": {
    "#/sdfObject/LampThingModel": {
      "titles": {
        "en": "Lamp Thing Model",
        "de": "Thing Model für eine Lampe"
      }
    },
    "#/sdfObject/LampThingModel/sdfProperty/status": {
      "descriptions": {
        "en": "Current status of the lamp",
        "de": "Aktueller Status der Lampe"
      }
    }
  }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="syntax">
      <name>Formal Syntax of SDF mapping files</name>
      <t>An SDF mapping file has three optional components that are taken
unchanged from SDF: The info block, the namespace declaration, and the
default namespace.
The mandatory fourth component, the "map", contains the mappings from
an SDF name reference (usually a namespace and a JSON pointer) to a
nested map providing a set of qualities to be merged in at the site
identified in the name reference.</t>
      <t><xref target="mapping-cddl"/> describes the syntax of SDF mapping files using CDDL <xref target="RFC8610"/>.</t>
      <figure anchor="mapping-cddl">
        <name>CDDL definition of SDF mapping file</name>
        <sourcecode type="cddl"><![CDATA[
start = sdf-mapping

sdf-mapping = {
 ; info will be required in most process policies, but omission is
 ; not a syntax error:
 ? info: sdfinfo                  
 ? namespace: named<text>
 ? defaultNamespace: text
 ? map: { * sdf-pointer => additionalqualities}
}

; we can't really be much more specific here:
additionalqualities = named<any>

; --------------------------------- import from SDF:

sdfinfo = {
 ? title: text
 ? version: text
 ? copyright: text
 ? license: text
 EXTENSION-POINT<"info-ext">
}

; Shortcut for a map that gives names to instances of X (has
; text keys and values of type X)
named<X> = { * text => X }

; only used in framework syntax:
EXTENSION-POINT<f> = ( * (text .feature f) => any ) 

sdf-pointer = text ; .regexp curie-regexp -- TO DO!
]]></sourcecode>
      </figure>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="media-type">
        <name>Media Type</name>
        <t>IANA is requested to add the following Media-Type to the "Media Types" registry.</t>
        <table align="left" anchor="new-media-types">
          <name>A media type for SDF mapping files</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Template</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">sdf-mapping+json</td>
              <td align="left">application/sdf-mapping+json</td>
              <td align="left">RFC XXXX, <xref target="media-type"/></td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="to-be-removed">RFC Editor: please replace RFC XXXX with this RFC number and remove this note.</cref></t>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>sdf-mapping+json</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary (JSON is UTF-8-encoded text)</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFC XXXX</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFC XXXX</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Tools for data and interaction modeling in the Internet of Things</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>A JSON Pointer fragment identifier may be used, as defined in
<xref section="6" sectionFormat="of" target="RFC6901"/>.</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>ASDF WG mailing list (asdf@ietf.org),
or IETF Applications and Real-Time Area (art@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t>no</t>
          </dd>
        </dl>
      </section>
      <section anchor="registries">
        <name>Registries</name>
        <t>(TBD: After future additions, check if we need any.)</t>
      </section>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>Some wider issues are discussed in <xref target="RFC8576"/>.</t>
      <t>(Specifics: TBD.)</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC6901" target="https://www.rfc-editor.org/info/rfc6901">
          <front>
            <title>JavaScript Object Notation (JSON) Pointer</title>
            <author fullname="P. Bryan" initials="P." role="editor" surname="Bryan">
              <organization/>
            </author>
            <author fullname="K. Zyp" initials="K." surname="Zyp">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <date month="April" year="2013"/>
            <abstract>
              <t>JSON Pointer defines a string syntax for identifying a specific value within a JavaScript Object Notation (JSON) document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6901"/>
          <seriesInfo name="DOI" value="10.17487/RFC6901"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC7396" target="https://www.rfc-editor.org/info/rfc7396">
          <front>
            <title>JSON Merge Patch</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <author fullname="J. Snell" initials="J." surname="Snell">
              <organization/>
            </author>
            <date month="October" year="2014"/>
            <abstract>
              <t>This specification defines the JSON merge patch format and processing rules.  The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7396"/>
          <seriesInfo name="DOI" value="10.17487/RFC7396"/>
        </reference>
        <reference anchor="I-D.ietf-asdf-sdf" target="https://www.ietf.org/archive/id/draft-ietf-asdf-sdf-12.txt">
          <front>
            <title>Semantic Definition Format (SDF) for Data and Interactions of Things</title>
            <author fullname="Michael Koster" initials="M." surname="Koster">
              <organization>PassiveLogic</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="30" month="June" year="2022"/>
            <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
   in the Internet of Things.  An SDF specification describes
   definitions of SDF Objects and their associated interactions (Events,
   Actions, 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.


   // A JSON format representation of SDF 1.0 was defined in version
   // (-00) of this document; version (-05) was designated as an
   // _implementation draft_, labeled SDF 1.1, at the IETF110 meeting of
   // the ASDF WG (2021-03-11).  The present version (-12) collects
   // smaller changes up to 2022-06-30.  It also removes deprecated
   // elements from SDF 1.0.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-asdf-sdf-12"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <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="RFC8576" target="https://www.rfc-editor.org/info/rfc8576">
          <front>
            <title>Internet of Things (IoT) Security: State of the Art and Challenges</title>
            <author fullname="O. Garcia-Morchon" initials="O." surname="Garcia-Morchon">
              <organization/>
            </author>
            <author fullname="S. Kumar" initials="S." surname="Kumar">
              <organization/>
            </author>
            <author fullname="M. Sethi" initials="M." surname="Sethi">
              <organization/>
            </author>
            <date month="April" year="2019"/>
            <abstract>
              <t>The Internet of Things (IoT) concept refers to the usage of standard Internet protocols to allow for human-to-thing and thing-to-thing communication.  The security needs for IoT systems are well recognized, and many standardization steps to provide security have been taken -- for example, the specification of the Constrained Application Protocol (CoAP) secured with Datagram Transport Layer Security (DTLS).  However, security challenges still exist, not only because there are some use cases that lack a suitable solution, but also because many IoT devices and systems have been designed and deployed with very limited security capabilities.  In this document, we first discuss the various stages in the lifecycle of a thing. Next, we document the security threats to a thing and the challenges that one might face to protect against these threats.  Lastly, we discuss the next steps needed to facilitate the deployment of secure IoT systems.  This document can be used by implementers and authors of IoT specifications as a reference for details about security considerations while documenting their specific security challenges, threat models, and mitigations.</t>
              <t>This document is a product of the IRTF Thing-to-Thing Research Group (T2TRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8576"/>
          <seriesInfo name="DOI" value="10.17487/RFC8576"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This draft is based on discussions in the Thing-to-Thing Research
Group (T2TRG) and the SDF working group.  Input for <xref target="example1"/> was provided by <contact fullname="Ari Keränen"/>.</t>
      <!--  LocalWords:  SDF namespace defaultNamespace instantiation OMA
 -->
<!--  LocalWords:  affordances ZigBee LWM OCF sdfObject sdfThing
 -->
<!--  LocalWords:  idempotency Thingness sdfProperty sdfEvent sdfRef
 -->
<!--  LocalWords:  namespaces sdfRequired Optionality sdfAction
 -->
<!--  LocalWords:  sdfProduct dereferenced dereferencing atomicity
 -->
<!--  LocalWords:  interworking
 -->

</section>
  </back>
  <!-- ##markdown-source:
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
8sEib6Zv4R4/FqGR16SbJP4FN0lTkswoAAA=

-->

</rfc>
