Thanks for the comments. See below!

On 2019. 02. 07. 16:32, Juergen Schoenwaelder wrote:
Hi,

I just stumbled across the terminology defined in
draft-ietf-netmod-yang-instance-file-format-01 and I have several
questions:

   Design time: A time during which a YANG model and the implementation
   behind it is created.  Sometimes in other documents this period is
   divided into design and implementation time.

Assuming that design time and implementation time are the same seems
to be odd. In the IETF, it is quite common that there is a significant
difference between design time and implementation time. So what is
mean here? Since the term is rarely used (I found two occurances),
perhaps clarify what is meant where this term is used and do not
introduce a new term. However, if the term is defined, then I suggest
that we use semantics that align with the common use of the term.
BALAZS: Following your suggestion I removed the term.
(I do not know if we really have a "common use". For me (Ericsson) anything from specification, to SW development to testing is considered design time.)


   Instance Data Set: A named set of data items that can be used as
   instance data in a YANG data tree.

Why do we need this term? How is this different from data tree defined
in RFC 7950?

BALAZS: Instance data set is more than just a data tree: it includes metadata and MAY include additional items
like XML attributes for implementation specific use. Also the validation rules are less strict as partial data sets are allowed.

   o  data tree: An instantiated tree of any data modeled with YANG,
      e.g., configuration data, state data, combined configuration and
      state data, RPC or action input, RPC or action output, or
      notification.

In which sense is this a 'named set'? Or is the intention here to
define a named set of YANG data trees? If a term is needed, would
'Instance Data' not be simpler and align better with Instance Data
File? Also note that 'instance data' is defined later as 'data that
could be stored in a datastore and whose syntax and semantics is
defined by YANG models'. So how does 'instance data' related to
'instance data set' and 'data tree'? Can we simplify things?

BALAZS: Instance data is used as a general term. "Instance data set" is a specific representation of instance data, that

  • has a specific format (XML or JSON)
  • must be decorated with specific meta data and
  • must have an identity (name + revision-date/timestamp)
  • has a specific scope (partial data sets are allowed)

Even for an unchanged data tree, you may record different instance data sets e.g. representing the same data tree at different times, thus signifying it has not changed.


   Target YANG Module: A YANG module for which the instance data set
   contains instance data, like ietf-yang-library in the examples.

I am not sure I like 'target'. It seems to me that instance data is
expected to conform to a schema defined by a collection of YANG
modules and you probably want to express that (but 'target' I find
misleading - data does not target a module).  Whatever we choose at
the end, we need to make sure that the terminology across related
documents (YANG, NMDA, YANG Library, ...) is consistent.

The leaf target-ptr triggers questions as well. If there is a choice
between two things, perhaps using a YANG choice is a more natural way
of expressing this than inventing special notations. I am also not
sure if it is a good idea to hardcode the name ietf-yang-library. Why
can I not just refer to any schema defining YANG modules? This way, we
have the freedom to create ietf-yang-library-2 if we ever want to. Do
implementations have to follow target-ptr arbitrarily deep? Do they
have to detect circular references (well they better do I guess).

BALAZS: Agreeing with you, it will be changed to choice. That also makes finding the
used method explicit. It also makes it easier to add new methods later.

I will make it possible to use other YANG modules.

Could you propose a better name instead of "target"? IMO the concept is needed. It could be called "target" or "instantiated" or "data-defining" or  ???
IMHO terms like "used", "referenced", "relevant" are to generic and used for too many ways.


/js

-- 
Balazs Lengyel                       Ericsson Hungary Ltd.
Senior Specialist
Mobile: +36-70-330-7909              email: [email protected] 

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to