<?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.39 (Ruby 3.2.2) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-cddl-2-draft-03" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="CDDL 2.0">CDDL 2.0 — a draft plan</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-2-draft-03"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>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>
    <date year="2023" month="August" day="27"/>
    <workgroup>CBOR Working group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 55?>

<t>The Concise Data Definition Language (CDDL) today is defined by
RFC 8610 and RFC 9165.
The latter (as well as some more application specific specifications
such as RFC 9090) have used the extension point provided in RFC 8610,
the control operator.</t>
      <t>As CDDL is used in larger projects, feature requirements become known
that cannot be easily mapped into this single extension point.
Hence, there is a need for evolution of the base CDDL specification
itself.</t>
      <t>The present document provides a roadmap towards a "CDDL 2.0".
It is based on draft-bormann-cbor-cddl-freezer, but is more selective
in what potential features it takes up and more detailed in their
discussion.
It is intended to serve as a basis for prototypical implementations of
CDDL 2.0.
What specific documents spawn from the present one or whether this
document is evolved into a single CDDL 2.0 specification.</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-cbor-cddl-2-draft/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cbor Working Group mailing list (<eref target="mailto:cbor@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cbor/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cbor/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cbor-wg/cddl-2"/>.</t>
    </note>
  </front>
  <middle>
    <?line 77?>

<section anchor="intro">
      <name>Introduction</name>
      <t>(Please see abstract.)</t>
      <t>Note that the existing extension point can be exercised for new
features in parallel to the work described here.
One such draft, <xref target="I-D.ietf-cbor-cddl-more-control"/>, is planned to form the first set of
specifications going forward from the CDDL-2 project together with <xref target="I-D.ietf-cbor-update-8610-grammar"/>.</t>
      <t>The rest of this introduction gives a rough overview over what could
be the development plan for CDDL 1.1, 2.0, 2.5.</t>
      <section anchor="s11">
        <name>CDDL 1.1 + 2 plan (standards track)</name>
        <ul spacing="normal">
          <li>Done before <strong>IETF 117</strong>: CDDL 1.1: <xref target="I-D.ietf-cbor-update-8610-grammar"/>, <em>Grammar</em> fixes:
Empty files (enabling CDDL 2), non-literal tags, errata fixes (implemented)</li>
          <li>Done before <strong>IETF 117</strong>: Parallel to CDDL 1.1: More <em>control</em> operators
<xref target="I-D.ietf-cbor-cddl-more-control"/>: Additional control operators, another iteration like RFC 9165 (implemented)</li>
          <li>Done before <strong>IETF 118</strong>: CDDL 2.0: <xref target="I-D.ietf-cbor-cddl-modules"/> (<tt>import</tt>/<tt>include</tt>
implemented; potentially further directives to be added)</li>
          <li>Done <strong>2024</strong>: CDDL 2.5: <xref target="anno"/> of the present document
("<em>annotations</em>", plus some functionality enabled by that).
The requirements are clear, the specific form this takes needs to be
worked out.
Enables, e.g., <xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/> (co-occurrence).</li>
        </ul>
      </section>
      <section anchor="s12">
        <name>Other documents</name>
        <t>Not on the main line of development, but important ancillary work:</t>
        <ul spacing="normal">
          <li>(Informational, Mid-2023): <xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/>:
CDDL-in-JSON format(s) for interchange of CDDL model information
between tools.</li>
          <li>(Informational, with <xref target="I-D.ietf-cbor-cddl-modules"/>): <xref target="I-D.bormann-cbor-rfc-cddl-models"/>
(builds standard collection of referenceable models).</li>
          <li>(BCP?): <xref target="I-D.bormann-cbor-draft-numbers"/>
(BCP for handling assigned numbers during draft stage)</li>
        </ul>
        <t>More explorative at this point:</t>
        <ul spacing="normal">
          <li>(Standards-Track?) The remaining <xref target="syntax"/> of this document:
application-oriented literals in CDDL; develop with <xref target="I-D.ietf-cbor-edn-literals"/>.</li>
          <li>(Informational or Standards-Track?): <xref target="I-D.bormann-cbor-cddl-csv"/> (using CDDL to
model CSV documents).</li>
        </ul>
      </section>
    </section>
    <section anchor="syntax">
      <name>Mending syntax deficits</name>
      <t>The previous content of this section formed the basis for <xref target="I-D.ietf-cbor-update-8610-grammar"/>,
except for <xref target="tagolit-ref"/>.</t>
      <section anchor="tagolit-ref">
        <name>Tag-oriented Literals</name>
        <t>Incomplete, see <xref target="tagolit"/>.</t>
      </section>
    </section>
    <section anchor="anno">
      <name>Processing model: Beyond Validation</name>
      <dl spacing="compact">
        <dt><em>Proposal Status</em>:</dt>
        <dd>
          <t>experiments with implementations ongoing</t>
        </dd>
        <dt><em>Compatibility</em>:</dt>
        <dd>
          <t>backwards compatible</t>
        </dd>
      </dl>
      <t>The basic (implicit) processing model for CDDL 1.0 applies a CDDL data
model to a data item and returns a Boolean that indicates whether the
data item matches that model ("<em>validation</em>").</t>
      <t><xref section="4" sectionFormat="of" target="RFC9165"/> extends this model with named "<em>features</em>".
A validation can indicate which features were used.
Validation could also be parameterized with information about what
features are allowed to be used, enabling variants (see <xref section="4" sectionFormat="of" target="RFC9165"/> and <xref target="useful"/> for examples).</t>
      <t>The <tt>cddl</tt> tool (<xref section="F" sectionFormat="of" target="RFC8610"/>) also supports experimental
forms of "annotating" a validated data item with information about
which rules were used to support validation, currently entirely based on the
information that is in a standard CDDL 1.0 data model.
This leads to a more general concept of "<em>annotation</em>", where the data
model specification supports "annotating" the validated instance by
optionally supplying information in the model.
(The annotated result is a special case of a "post-schema validation
instance" <xref target="PSVI"/>, here one where the data item itself is only
augmented, not changed, by the process.)</t>
      <t>Annotations could in turn provide input to further validation steps,
as is often done with Schematron validation in Relax-NG; with an
appropriate evaluation language this can be used for checking co-occurrence
constraints (<xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/>).</t>
      <t>Finally, annotations are a first step to <em>transformation</em>, i.e.,
describing how a validated data item should be interpreted as a
transformed data item by performing certain computations.
This generally requires even more support from an evaluation language,
simple transformations such as adding in default values may not need
much support though.</t>
      <t>At this time, existing experimental implementations do not lead to a
clear choice for what processing model enhancements should be in
CDDL 2.0.
This document proposes to continue the experimentation and document
good approaches.</t>
    </section>
    <section anchor="module-superstructure">
      <name>Module superstructure</name>
      <t>The previous content of this section formed the basis for <xref target="I-D.ietf-cbor-cddl-modules"/>.
Additional work might be started on the ideas outlined in the
subsections of this section.</t>
      <section anchor="cross-universe-references">
        <name>Cross-universe references</name>
        <t>See <xref target="cross"/>.
<!-- {Appendix A.2 of -cddl-2-draft}}. -->
        </t>
      </section>
      <section anchor="abnf-is-a-lot-like-cddl">
        <name>ABNF is a lot like CDDL</name>
        <t>Many of the constructs defined here for CDDL also could be used with
ABNF specifications.  ABNF would definitely benefit from a standard
way to import snippets from existing RFCs.
Since CDDL contains ABNF support (<xref section="3" sectionFormat="of" target="RFC9165"/>), it would be
natural to make some of the functionality discussed in this section
available for ABNF as well.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>(Insert new registry for application specific literals here, if adopted.)</t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <t>The security considerations of <xref target="RFC8610"/> apply.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="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"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <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="RFC9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed:,, and for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.bormann-cbor-cddl-freezer">
          <front>
            <title>A feature freezer for the Concise Data Definition Language (CDDL)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="11" month="March" year="2023"/>
            <abstract>
              <t>   In defining the Concise Data Definition Language (CDDL), some
   features have turned up that would be nice to have.  In the interest
   of completing this specification in a timely manner, the present
   document was started to collect nice-to-have features that did not
   make it into the first RFC for CDDL, RFC 8610, or the specifications
   exercising its extension points, such as RFC 9165.

   Significant parts of this draft have now moved over to the CDDL 2.0
   project, described in draft-bormann-cbor-cddl-2-draft.  The remaining
   items in this draft are not directly related to the CDDL 2.0 effort.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-freezer-11"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>Application-Oriented Literals in CBOR Extended Diagnostic Notation</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="23" month="July" year="2023"/>
            <abstract>
              <t>   The Concise Binary Object Representation, CBOR (RFC 8949), defines a
   "diagnostic notation" in order to be able to converse about CBOR data
   items without having to resort to binary data.

   This document specifies how to add application-oriented extensions to
   the diagnostic notation.  It then defines two such extensions for
   text representations of epoch-based date/times and of Constrained
   Resource Identifiers (draft-ietf-core-href).

   To facilitate tool interoperation, this document also specifies a
   formal ABNF definition for extended diagnostic notation (EDN) that
   accommodates application-oriented literals.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-02"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-update-8610-grammar">
          <front>
            <title>Updates to the CDDL grammar of RFC 8610</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="17" month="June" year="2023"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9165.  The latter has used the
   extension point provided in RFC 8610, the _control operator_.

   As CDDL is being used in larger projects, the need for corrections
   and additional features has become known that cannot be easily mapped
   into this single extension point.  Hence, there is a need for
   evolution of the base CDDL specification itself.

   The present document updates errata and makes other small fixes for
   the ABNF grammar defined for CDDL in RFC 8610.


   // Previous versions of the changes in this document were part of
   // draft-bormann-cbor-cddl-2-draft and previously draft-bormann-cbor-
   // cddl-freezer.  This submission extracts out those grammar changes
   // that are ready for publication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-update-8610-grammar-00"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-cddl-more-control">
          <front>
            <title>More Control Operators for CDDL</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="14" month="June" year="2023"/>
            <abstract>
              <t>   The Concise Data Definition Language (CDDL), standardized in RFC
   8610, provides "control operators" as its main language extension
   point.  RFCs have added to this extension point both in an
   application-specific and a more general way.

   The present document defines a number of additional generally
   application control operators for text conversion (Bytes, Integers,
   JSON), operations on text, and deterministic encoding.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-more-control-00"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-cddl-modules">
          <front>
            <title>CDDL Module Structure</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="17" month="June" year="2023"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9165.  The latter has used the
   extension point provided in RFC 8610, the _control operator_.

   As CDDL is being used in larger projects, the need for corrections
   and additional features has become known that cannot be easily mapped
   into this single extension point.  Hence, there is a need for
   evolution of the base CDDL specification itself.

   The present document defines a backward- and forward-compatible way
   to add a module structure to CDDL.


   // Previous versions of the changes in this document were part of
   // draft-bormann-cbor-cddl-2-draft and previously draft-bormann-cbor-
   // cddl-freezer.  This submission extracts out the functionality that
   // is ready for further WG work.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-modules-00"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-rfc-cddl-models">
          <front>
            <title>CDDL models for some existing RFCs</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="27" month="August" year="2023"/>
            <abstract>
              <t>   A number of CBOR- and JSON-based protocols have been defined before
   CDDL was standardized or widely used.

   This short draft records some CDDL definitions for such protocols,
   which could become part of a library of CDDL definitions available
   for use in CDDL2 processors.  It focuses on CDDL in (almost)
   published IETF RFCs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-rfc-cddl-models-02"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-draft-numbers">
          <front>
            <title>Managing CBOR numbers in Internet-Drafts</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>   CBOR-based protocols often make use of numbers allocated in a
   registry.  While developing the protocols, those numbers may not yet
   be available.  This impedes the generation of data models and
   examples that actually can be used by tools.

   This short draft proposes a common way to handle these situations,
   without any changes to existing tools.  Such changes are very well
   possible in the future, at which time this draft will be updated.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-01"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-cddl-csv">
          <front>
            <title>Using CDDL for CSVs</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="23" month="June" year="2023"/>
            <abstract>
              <t>   The Concise Data Definition Language (CDDL), standardized in RFC
   8610, is defined to provide data models for data shaped like JSON or
   CBOR.

   Another representation format that is quote popular is the CSV
   (Comma-Separated Values) file as defined by RFC 4180.

   The present document shows a way how to use CDDL to provide a data
   model for CSV files.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-csv-03"/>
        </reference>
        <reference anchor="useful" target="https://github.com/cbor-wg/cddl/wiki/Useful-CDDL">
          <front>
            <title>Useful CDDL</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PSVI" target="https://www.w3.org/XML/2002/05/psvi-use-cases">
          <front>
            <title>Use Cases for XML Schema PSVI API</title>
            <author>
              <organization/>
            </author>
            <date year="2002" month="June" day="24"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 223?>

<section anchor="fridge">
      <name>Fridge</name>
      <t>This appendix contains sections that may not make it to a 2.0, but
might be part of a followup.</t>
      <section anchor="tagolit">
        <name>Tag-oriented Literals</name>
        <dl spacing="compact">
          <dt><em>Proposal Status</em>:</dt>
          <dd>
            <t>rough idea, porting from EDN</t>
          </dd>
          <dt><em>Compatibility</em>:</dt>
          <dd>
            <t>backward (not forward)</t>
          </dd>
        </dl>
        <t>Some CBOR tags often would be most natural to use in a CDDL spec with a literal
syntax that is tailored to their semantics instead of their
serialization in CBOR.  There is currently no way to add such syntaxes, no
defined extension point either.</t>
        <t>The proposal
"Application-Oriented Literals in CBOR Extended Diagnostic Notation"
<xref target="I-D.ietf-cbor-edn-literals"/> defines application-oriented
literals, e.g., of the form</t>
        <ul empty="true">
          <li>
            <t>dt'2019-07-21T19:53Z'</t>
          </li>
        </ul>
        <t>for datetime items.  With additional considerations for unambiguous
syntax, a similar literal form could be included in CDDL.</t>
        <t>This proposal opens a name space for the prefix that indicates an
application specific literal.
A registry could be provided to make this name space a genuine
extension point.
(This is currently the production <tt>bsqual</tt> in <xref section="B" sectionFormat="of" target="RFC8610"/>.)</t>
        <t>The syntax provided in <xref target="I-D.ietf-cbor-edn-literals"/> does not
enable the use of CDDL types — it has the same flaw that is being
fixed for tag numbers in <xref section="3.2" sectionFormat="of" target="I-D.ietf-cbor-update-8610-grammar"/>.</t>
      </section>
      <section anchor="cross">
        <name>Cross-universe references</name>
        <t>Often, a CDDL specification needs to import from specifications in a
different language or platform.</t>
        <section anchor="iana-references">
          <name>IANA references</name>
          <t>In many cases, CDDL specifications make use of values that are
specified in IANA registries.  The <tt>.iana</tt> control operator can be
used to reference such a set of values.</t>
          <t>The reference needs to be able to point to a draft, the registry of
which has not been established yet, as well as to an established IANA registry.</t>
          <t>An example of such a usage might be:</t>
          <sourcecode type="CDDL"><![CDATA[
cose-algorithm = int .iana ["cose", "algorithms", "value"]
]]></sourcecode>
          <t>Unfortunately, the vocabulary employed in IANA registries has not been
designed for machine references.  In this case, the potential values
would come from applying the XPath expression</t>
          <sourcecode type="xpath"><![CDATA[
//iana:registry[@id='algorithms']/iana:record/iana:value
]]></sourcecode>
          <t>to <tt>https://www.iana.org/assignments/cose/cose.xml</tt>, plus some
filtering on the records returned that only leaves actual allocations.
Additional functionality may be needed for filtering with respect to other
columns of the registry record, e.g., <tt>&lt;capabilities&gt;</tt> in the case of
this example.</t>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
/Bc5s8q2LyYAAA==

-->

</rfc>
