Re: analysis of YANG vs. RELAX NG
Jon Saperia <saperia@jdscons.com> Wed, 28 November 2007 14:16 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 1IxNhx-0003HD-Sq; Wed, 28 Nov 2007 09:16:09 -0500
Received: from discuss by megatron.ietf.org with local (Exim 4.43)
id 1IxNhw-0003H5-LJ for discuss-confirm+ok@megatron.ietf.org;
Wed, 28 Nov 2007 09:16:08 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
by megatron.ietf.org with esmtp (Exim 4.43) id 1IxNhw-0003Gv-BG
for discuss@apps.ietf.org; Wed, 28 Nov 2007 09:16:08 -0500
Received: from rs40.luxsci.com ([65.61.166.82])
by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IxNht-0005KI-9I
for discuss@apps.ietf.org; Wed, 28 Nov 2007 09:16:08 -0500
Received: from [10.71.1.105] ([65.90.227.73]) (authenticated bits=0)
by rs40.luxsci.com (8.13.1/8.13.7) with ESMTP id lASEG1Uo015601
(version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT);
Wed, 28 Nov 2007 08:16:01 -0600
In-Reply-To: <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>
<20071128083852.GB28685@elstar.local>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-3-1056312835
Message-Id: <D46C63B7-DF21-4157-BC41-DAF9054450AE@jdscons.com>
From: Jon Saperia <saperia@jdscons.com>
Subject: Re: analysis of YANG vs. RELAX NG
Date: Wed, 28 Nov 2007 09:16:01 -0500
To: j.schoenwaelder@jacobs-university.de
X-Mailer: Apple Mail (2.752.3)
X-Spam-Score: 1.7 (+)
X-Scan-Signature: 8e9fbe727bc2159b431d624c595c1eab
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
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 Nov 28, 2007, at 3:38 AM, Juergen Schoenwaelder wrote: > 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. Juergen, there is one additional point/requirement for a solution related to the number of objects you suggest. That is the rate of change, not be the standards body, in this case since we are talking about configuration information, but by the vendors. With each new technology, hardware platform, software revision and potentially firmware revision, a vendor will need to modify the 'knobs'. This is where the formalized notation in my view has a strong payback. > > /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/> > > Thanks, /jon ---- Jon Saperia saperia@jdscons.com (mobil) 617-201-2655 (office) 978-461-0249
- 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 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 Phil Shafer
- 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