Re: analysis of YANG vs. RELAX NG
Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Wed, 28 November 2007 08:39 UTC
Return-path: <discuss-bounces@apps.ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxIRo-0002r6-U0; Wed, 28 Nov 2007 03:39:08 -0500
Received: from discuss by megatron.ietf.org with local (Exim 4.43) id 1IxIRn-0002qB-BK for discuss-confirm+ok@megatron.ietf.org; Wed, 28 Nov 2007 03:39:07 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxIRh-0002pF-IF for discuss@apps.ietf.org; Wed, 28 Nov 2007 03:39:01 -0500
Received: from hermes.jacobs-university.de ([212.201.44.23]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IxIRg-0006sz-JN for discuss@apps.ietf.org; Wed, 28 Nov 2007 03:39:01 -0500
Received: from localhost (demetrius.jacobs-university.de [212.201.44.32]) by hermes.jacobs-university.de (Postfix) with ESMTP id 21F0F8A1B1; Wed, 28 Nov 2007 09:39:00 +0100 (CET)
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id 30598-07-2; Wed, 28 Nov 2007 09:38:54 +0100 (CET)
Received: from elstar.local (elstar.iuhb02.iu-bremen.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 4A8F68A1AE; Wed, 28 Nov 2007 09:38:52 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 9BE033F7C3C; Wed, 28 Nov 2007 09:38:52 +0100 (CET)
Date: Wed, 28 Nov 2007 09:38:52 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Lisa Dusseault <lisa@osafoundation.org>
Subject: Re: analysis of YANG vs. RELAX NG
Message-ID: <20071128083852.GB28685@elstar.local>
References: <20071127.130355.18118495.mbj@tail-f.com> <474C116A.1080001@it.su.se> <20071127163727.GA27816@elstar.local> <03A9505C-36BB-4C69-9626-8FFADE5BFC68@osafoundation.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <03A9505C-36BB-4C69-9626-8FFADE5BFC68@osafoundation.org>
User-Agent: Mutt/1.5.16 (2007-06-09)
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at jacobs-university.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a8a20a483a84f747e56475e290ee868e
Cc: discuss@apps.ietf.org, Leif Johansson <leifj@it.su.se>
X-BeenThere: discuss@apps.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: j.schoenwaelder@jacobs-university.de
List-Id: general discussion of application-layer protocols <discuss.apps.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/discuss>, <mailto:discuss-request@apps.ietf.org?subject=unsubscribe>
List-Post: <mailto:discuss@apps.ietf.org>
List-Help: <mailto:discuss-request@apps.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/discuss>, <mailto:discuss-request@apps.ietf.org?subject=subscribe>
Errors-To: discuss-bounces@apps.ietf.org
On Tue, Nov 27, 2007 at 11:54:23AM -0800, Lisa Dusseault wrote: > Another question to answer, is why is having a data model (an ontology) not > enough? The question of needing a standard data model must be separated > from the need for a custom modeling language. Some of the justifications > I've seen so far for a modeling language have really been justifying only a > standard data model. Different areas happen to use different terminology. What you call a data model is what network management people happen to call an information model, see RFC 3444. I don't care which terminology we use in this discussion as long as we happen to understand the same thing when we use the same words. > Of course using XML as the data format doesn't, by itself, give enough of a > common data model for 3rd-party NetConf tools to understand arbitrary data. > NetConf probably does need a common data model, perhaps defining how IDs > are expressed and what a container is, what is a netconf "object" that can > be operated on. > > But a common data model does not need to depend on a modeling language at > all. Put it differently: a sufficiently strong common data model can work > with multiple modeling languages without harming interoperability. Thus, > having a standard data model that is independent of the modeling language > can be a real win for clarity and robustness and somewhat more proof > against changing stylistic preferences. The network management world is used to automated processes and the number of MIB modules in existences may serve as a proof that people do find benefits from using machine readable definitions. OK, to be fair, I must admit that SNMP is almost unusable with generic tools without at least translating OIDs into something textual. But there is of course much more you get out of concrete machine readable data models since they can drive large (and annoying and error prone) parts of implementation processes. > The commonest approach for IETF protocols that deal with an ontology is to > define the data model in English, limiting the ways the data can be > expressed to something that becomes essentially self-describing (the name > of a new thing/object, and its contents or value, can be derived from the > document without seeing a specific schema). LDAP is one of the clearest > examples of this. An LDAP agent can handle custom content because it > follows the expected data model. There's no need, in LDAP, for a special > language to describe new attributes. The iCalendar and vCard formats are > the same. SNMP is really different in having a special language to learn, > and using that in specs. I would call the "iCalendar apprach" semi-formal and this is likely true for the others you mention as well. My understanding is that iCalendar does in fact use some ABNF plus several other "conventions", i.e., certain naming and structuring rules, value notation rules, quoting rules and so on. So there is somewhat formalized content but I also agree that the overall format is not as strict as the SMIv2 or YANG or RelaxNG or XSD (just to name a few ;-). I believe the key difference is simply the number of definitions network management people happen to deal with. The complete configuration of high-end routers involves significantly more than just a few 10s of knobs. I am sure people from the network device vendor business can provide concrete numbers concerning the size of configuration options you find on today's products in case that is useful. Once you reach a critical threshold, you really like to have precise machine readable specifications that can drive a tool chain and to some extend validate definitions, automate some of the implementation work, reduce implementation bugs, drive documentation tools and so on. > My experience with description languages or other formalizations is that > these often take the place of proper specification. Authors think that > they are done when they've written the code that describes the format. > However, the most important aspect to a new standard schema is usually what > it *means*. Sure, languages can't turn lazy people into smart people. But the IETF is actually very good at handling this. You can't publish a protocol by writing down just a few ABNF definitions. You can't publish a MIB module by leaving description clauses empty. You can't publish a protocol by just writing down message formats in ASCII art and nothing else. The key to good specifications is simply good reviews. I do not really want to be involved in a high-level discussion whether formalized notations, semi-formal notations, or plain English notations are most useful and I hope we can avoid getting into such a discussion to save us all time and bandwidth. I suggest that the WGs and people actually involved in a given protocol take this decision. Personally, I happen to believe that the scale in terms of the number of definitions you have to handle determines whether machine readable definitions are worth the extra formalization efforts. In the case of NETCONF, it is important to allow operators to quickly and easily understand what configuration knobs exist on their devices, what they mean and how to turn them. A common notation is needed for that so that SDOs, vendors, and operators have a common language to work with. In order to deal with the large number of knobs you find on today's devices, I believe that a formalized notation is well worth the effort. /js -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1, 28759 Bremen, Germany Fax: +49 421 200 3103 <http://www.jacobs-university.de/>
- analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Martin Bjorklund
- Re: analysis of YANG vs. RELAX NG Leif Johansson
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Paul Hoffman
- RE: analysis of YANG vs. RELAX NG Natale, Bob
- Re: analysis of YANG vs. RELAX NG Lisa Dusseault
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- RE: analysis of YANG vs. RELAX NG Romascanu, Dan (Dan)
- Re: analysis of YANG vs. RELAX NG Leif Johansson
- RE: analysis of YANG vs. RELAX NG Romascanu, Dan (Dan)
- Re: analysis of YANG vs. RELAX NG Martin Bjorklund
- Re: analysis of YANG vs. RELAX NG Jon Saperia
- Do we need a formalized language: [Was: Re: analy… Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Martin Bjorklund
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Martin Bjorklund
- Re: analysis of YANG vs. RELAX NG Lisa Dusseault
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Phil Shafer
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Andrew Newton
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel
- Re: analysis of YANG vs. RELAX NG Rohan Mahy
- Re: analysis of YANG vs. RELAX NG Randy Presuhn
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Martin Bjorklund
- Re: analysis of YANG vs. RELAX NG Andy Bierman
- Re: analysis of YANG vs. RELAX NG Julian Reschke
- Re: analysis of YANG vs. RELAX NG Tim Bray
- Re: analysis of YANG vs. RELAX NG Ladislav Lhotka
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Ladislav Lhotka
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Andy Bierman
- Re: analysis of YANG vs. RELAX NG Ladislav Lhotka
- Re: analysis of YANG vs. RELAX NG Andy Bierman
- Re: analysis of YANG vs. RELAX NG Randy Presuhn
- RE: analysis of YANG vs. RELAX NG David Harrington
- RE: analysis of YANG vs. RELAX NG Romascanu, Dan (Dan)
- Re: analysis of YANG vs. RELAX NG Ladislav Lhotka
- Re: analysis of YANG vs. RELAX NG Juergen Schoenwaelder
- Re: analysis of YANG vs. RELAX NG Balazs Lengyel