<?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-rfc2629 version 1.5.17 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-asdf-sdf-mapping-00" category="std" consensus="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.11.1 -->
  <front>
    <title abbrev="SDF Mapping">Semantic Definition Format (SDF): Mapping files</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-asdf-sdf-mapping-00"/>
    <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="2021" month="November" day="07"/>
    <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>Discussion Venues</name>
      <t>Discussion of this document takes place on the
        asdf Working Group mailing list (asdf@ietf.org),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/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" numbered="true" toc="default">
      <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" numbered="true" toc="default">
        <name>Terminology and Conventions</name>
        <t>The definitions of <xref target="I-D.ietf-asdf-sdf" format="default"/> 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" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="overview" numbered="true" toc="default">
      <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" format="default"/>) 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" format="default"/>.
Note that this is somewhat similar to the way sdfRef (<xref section="4.4" sectionFormat="of" target="I-D.ietf-asdf-sdf" format="default"/>) works, but in a
mapping file the arrows point in the inverse direction (from the
augmenter to the augmented).</t>
      <section anchor="example1" numbered="true" toc="default">
        <name>Example Definition 1 (ecosystem: IPSO/OMA)</name>
        <t>An example for an SDF mapping file is given in <xref target="code-example1" format="default"/>.
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" numbered="true" toc="default">
        <name>Example Definition 2 (ecosystem: W3C WoT)</name>
        <t>This example shows a the 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" numbered="true" toc="default">
      <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
a 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" format="default"/> describes the syntax of SDF mapping files using CDDL <xref target="RFC8610" format="default"/>.</t>
      <figure anchor="mapping-cddl">
        <name>CDDL definition of SDF mapping file</name>
        <sourcecode type="cddl"><![CDATA[
start = sdf-mapping

sdf-mapping = {
 ? info: sdfinfo                  ; This will be required in most process policies, but not a syntax error
 ? 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 }

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

sdf-pointer = text ; .regexp curie-regexp -- TO DO!
]]></sourcecode>
      </figure>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="media-type" numbered="true" toc="default">
        <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" format="default"/></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" format="default"/> of RFC XXXX</t>
          </dd>
          <dt>
Interoperability considerations:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Published specification:  </dt>
          <dd>
            <t><xref target="media-type" format="default"/> 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" format="default"/>.</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" numbered="true" toc="default">
        <name>Registries</name>
        <t>(TBD: After future additions, check if we need any.)</t>
      </section>
    </section>
    <section anchor="seccons" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Some wider issues are discussed in <xref target="RFC8576" format="default"/>.</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-08.txt">
          <front>
            <title>Semantic Definition Format (SDF) for Data and Interactions of Things</title>
            <author fullname="Michael Koster">
              <organization>PassiveLogic</organization>
            </author>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <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.

   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.


   // 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 (-08) adds URIs as
   // alternative measurement unit names, is editorially more self-
   // contained, and uses updated xml2rfc conventions for its plain-text
   // rendering.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-asdf-sdf-08"/>
        </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" toc="default">
      <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" format="default"/> 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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
/eBCwZlpSl+s3X8sQqOgST9J/AMMPGupoigAAA==

-->

</rfc>
