Last Call Review of draft-ietf-cbor-cddl-05

Request Review of draft-ietf-cbor-cddl
Requested rev. no specific revision (document currently at 08)
Type Last Call Review
Team General Area Review Team (Gen-ART) (genart)
Deadline 2018-10-04
Requested 2018-09-20
Authors Henk Birkholz, Christoph Vigano, Carsten Bormann
Draft last updated 2018-09-28
Completed reviews Genart Last Call review of -05 by Ines Robles (diff)
Secdir Last Call review of -05 by Chris Lonvick (diff)
Assignment Reviewer Ines Robles 
State Completed
Review review-ietf-cbor-cddl-05-genart-lc-robles-2018-09-28
Reviewed rev. 05 (document currently at 08)
Review result Ready with Nits
Review completed: 2018-09-28


I am the assigned Gen-ART reviewer for this draft. The General Area
Review Team (Gen-ART) reviews all IETF documents being processed
by the IESG for the IETF Chair.  Please treat these comments just
like any other last call comments.

For more information, please see the FAQ at


Document: draft-ietf-cbor-cddl-05
Reviewer: Ines Robles
Review Date: 2018-09-28
IETF LC End Date: 2018-10-04
IESG Telechat date: Not scheduled for a telechat


I believe the draft is technically good. This document is well written and clear to understand.

The document proposes a notational convention named Concise data definition language (CDDL) to express Concise Binary Object Representation (CBOR) data structures. 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.

I have some minor questions. The document presents nits that should be solved before publication.

Major issues: Not found.

Minor issues: Not found.

Nits/editorial comments: 

1)-Abstract: It would be nice to expand CBOR the first time that it is mentioned.

2)-Section 2:  Page 8,  You mention anonymous group.
 Does it would be a good definition for an anonymous group?: “Lists of group_entries_  (between curly braces)that can be assigned to any type of composition (arrays, maps)”
3)- Section - Page 11: the ordering I think is ascendant, right? So, maybe, would it be nice to add “natural ordering relationship”?
question: is the following valid?:

	Take-off = {
		takeoffcounting= 10..0 ; Is it valid? Is it applicable?

4)- In this paragraph: “...When using a name as the left hand side of a range operator, use spacing as in
   "min .. max" to separate off the range operator...." 
=> Question: Is "min .. max" equivalent to "min” .. “max"?

5)- There are some mismatches between Appendix B and Appendix C:

	Appendix B: cddl = S 1*(rule S)
	Appendix C: cddl = S 1*rule

	Appendix B: 
 rule = typename [genericparm] S assignt S type
     	 / groupname [genericparm] S assigng S grpent

	Appendix C: 
  rule = typename [genericparm] S assignt S type S
        / groupname [genericparm] S assigng S grpent S

	Appendix B:    type = type1 *(S "/" S type1)
	Appendix C:    type = type1 S *("/" S type1 S)

	Appendix B:   group = grpchoice *(S "//" S grpchoice)
	Appendix C:   group = grpchoice S *("//" S grpchoice S)
	Appendix B:    grpchoice = *(grpent optcom)
	Appendix C:    grpchoice = *grpent

	Appendix B:    grpent = [occur S] [memberkey S] type
	Appendix C:    grpent = [occur S] [memberkey S] type optcom


	Appendix B:    / [occur S] groupname [genericarg]  ; preempted by above
	Appendix C:    / [occur S] groupname [genericarg] optcom ; preempted by above


	Appendix B:   / [occur S] "(" S group S ")"
	Appendix C:   / [occur S] "(" S group S ")" optcom

6)- It would be nice to expand I-JSON to ("Internet JSON") in page 54

Thank you for this document.