Re: [NGO] Re: Why NETCONF needs a data modeling language

Andy Bierman <ietf@andybierman.com> Thu, 29 November 2007 15:36 UTC

Return-path: <ngo-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxlQv-0007fS-0N; Thu, 29 Nov 2007 10:36:09 -0500
Received: from ngo by megatron.ietf.org with local (Exim 4.43) id 1IxlQu-0007fL-Da for ngo-confirm+ok@megatron.ietf.org; Thu, 29 Nov 2007 10:36:08 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxlQu-0007f8-3j for ngo@ietf.org; Thu, 29 Nov 2007 10:36:08 -0500
Received: from smtp122.sbc.mail.sp1.yahoo.com ([69.147.64.95]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1IxlQt-0001uH-GF for ngo@ietf.org; Thu, 29 Nov 2007 10:36:08 -0500
Received: (qmail 11398 invoked from network); 29 Nov 2007 15:36:06 -0000
Received: from unknown (HELO ?192.168.0.10?) (andybierman@att.net@68.120.84.135 with plain) by smtp122.sbc.mail.sp1.yahoo.com with SMTP; 29 Nov 2007 15:36:06 -0000
X-YMail-OSG: wE572gMVM1mKmBz1bHeO260vq5DhBhxXW1pfI9NCN8oeAVTJ
Message-ID: <474EDBEA.3050407@andybierman.com>
Date: Thu, 29 Nov 2007 07:34:02 -0800
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: Ladislav Lhotka <lhotka@cesnet.cz>
Subject: Re: [NGO] Re: Why NETCONF needs a data modeling language
References: <474E0F71.2050003@andybierman.com> <953beacc0711282017p3ad865abw19920b4e68e82e80@mail.gmail.com> <20071129113446.GB10751@elstar.local> <1196348560.5918.76.camel@missotis>
In-Reply-To: <1196348560.5918.76.camel@missotis>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b5d20af10c334b36874c0264b10f59f1
Cc: ngo@ietf.org
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
Errors-To: ngo-bounces@ietf.org

Ladislav Lhotka wrote:
> Juergen Schoenwaelder píše v Čt 29. 11. 2007 v 12:34 +0100:
> 
>> Statements like 'config true;' are essential for the processing of
>> NETCONF messages and also for validating content exchanged in NETCONF
>> messages (and this is why for example generic XML validation tools are
>> only of limited value for NETCONF implementors).
> 
> Yes, I think pure RNG is not an option. But again, RNG is considerably
> more open to extensions than XSD (no appinfo wrappers needed). However,
> to be fair, using foreign elements/namespaces (and annotations)
> seriously damages the readability of the compact syntax (not so much the
> XML syntax).


Exactly.
I was one of the 'researchers' that spent the last 3 years trying
to build NETCONF tools from XSD, then RNG-compact, then my own NCX
language, and now YANG.

Operators have made it clear (to me anyway) that they prefer
to read and write text.  To them, text does not mean tons
of angle brackets and verbose tagging, hiding the real info.
The config file mindset is alive and well.

IMO, YANG has the best balance between syntax and semantics
that I have ever seen.  Neither is sacrificed whatsoever.
(However, YANG chooses not to support XML attributes or xsd:list
data type, because they are bad wrt/ NETCONF tools).

XSD and RNG have more powerful (and more complex) features than YANG,
which are suited to constructing XML instance documents.  YANG has
configuration features, Xpath-based object-constraint features,
lots of vendor extensibility, and a very easy-to-grok syntax,
no matter how complicated the data model gets. YANG is not
a general purpose XML language, like XSD and RNG.

(Ever notice that your carpenter doesn't use those all-in-one
tools advertised on late-night TV?)

> 
>> a) that doing so will lead to a large reuse of available RNG tools for
>>    processing NETCONF data models (since they don't know the RNG
>>    subset nor the semantic additions)
> 
> For example, NETCONF data could be validated (as an XML document) using
> the existing tools, RNG specification requires that foreign elements be
> ignored. As for the subset of RNG - could it perhaps be just a
> convention, like "avoid mixed content"?
>

I don't see how an RNG validation tool can possibly help an agent,
or even a manager implementation.  RNG doesn't know which data
is writable vs. read-only.  It doesn't know interface[eth0] from interface[eth1].
It doesn't know about the NETCONF 'operation' attribute in <edit-config>.

In short, RNG doesn't know anything about NETCONF.

That is YANG's reason for existing.
NETCONF is all YANG does, and it covers the details better
than add-ons to RNG ever could.


>> b) that the effort to specify such an extended subset will be less
>>    than the effort for defining a domain specific language like YANG
> 
> I'd say the former effort will be *significantly* smaller than the
> latter since the main issue - defining document structure - comes for
> free and has already been thoroughly tested. A problem may be though
> that the hybrid language could turn out to be less readable for humans.
>   
>> c) that the effort to implement tools understanding the adapted subset
>>    of RNG will be less than writing proper tools for a domain specific
>>    language from scratch
> 
> It would make sense if one could use both the traditional XML tools and
> new NETCONF-specific tools. The big advantage would be that both
> categories would use exactly the same data model specification. Even if
> someone writes conversion tools like YANG->RNG, it would be more
> difficult to guarantee consistency.
> 
>> d) that there will be long term (say 20 year) reliable change control
>>    exercised by the organization that has change control over NETCONF
> 
> For the extension within an IETF-controlled namespace this could be
> guaranteed, but of course if the XML world turns entirely to Yet Another
> Schema Language, the extension would have to be ported to it. Given the
> momentum behind RNG these days, I don't think it is very likely.
> 
> Lada
> 

Andy


_______________________________________________
NGO mailing list
NGO@ietf.org
https://www1.ietf.org/mailman/listinfo/ngo