Re: analysis of YANG vs. RELAX NG

Balazs Lengyel <balazs.lengyel@ericsson.com> Thu, 29 November 2007 09:17 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 1IxfWi-0004nW-My; Thu, 29 Nov 2007 04:17:44 -0500
Received: from discuss by megatron.ietf.org with local (Exim 4.43) id 1IxfWh-0004iB-Aw for discuss-confirm+ok@megatron.ietf.org; Thu, 29 Nov 2007 04:17:43 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxfWg-0004hz-Uz for discuss@apps.ietf.org; Thu, 29 Nov 2007 04:17:42 -0500
Received: from mailgw3.ericsson.se ([193.180.251.60]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IxfWf-0006VP-94 for discuss@apps.ietf.org; Thu, 29 Nov 2007 04:17:42 -0500
Received: from mailgw3.ericsson.se (unknown [127.0.0.1]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 43EA720860; Thu, 29 Nov 2007 10:17:38 +0100 (CET)
X-AuditID: c1b4fb3c-b179abb0000030cf-8d-474e83b208d1
Received: from esealmw126.eemea.ericsson.se (unknown [153.88.254.123]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 15ECC203CF; Thu, 29 Nov 2007 10:17:38 +0100 (CET)
Received: from esealmw128.eemea.ericsson.se ([153.88.254.172]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Thu, 29 Nov 2007 10:17:34 +0100
Received: from [159.107.198.61] ([159.107.198.61]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Thu, 29 Nov 2007 10:17:33 +0100
Message-ID: <474E83A4.3050000@ericsson.com>
Date: Thu, 29 Nov 2007 10:17:24 +0100
From: Balazs Lengyel <balazs.lengyel@ericsson.com>
User-Agent: Thunderbird 2.0.0.4 (X11/20070604)
MIME-Version: 1.0
To: Rohan Mahy <rohan.mahy@gmail.com>
Subject: Re: analysis of YANG vs. RELAX NG
References: <20071127.130355.18118495.mbj@tail-f.com> <953beacc0711271504y7aea5f21jc301ccad886d3611@mail.gmail.com> <474D9194.3060103@ericsson.com> <953beacc0711281025w4d993dd7u77d729111074496c@mail.gmail.com>
In-Reply-To: <953beacc0711281025w4d993dd7u77d729111074496c@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 29 Nov 2007 09:17:33.0777 (UTC) FILETIME=[ACD64410:01C83268]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: -1.0 (-)
X-Scan-Signature: 02ec665d00de228c50c93ed6b5e4fc1a
Cc: discuss@apps.ietf.org
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

Hello Rohan,
Thanks for your response. Here are some replies.
Balazs

Rohan Mahy wrote:
...
> These aspects are not *missing* from Relax NG.  Some of these things are 
> not in the scope of the Relax NG schema, but can be defined as an 
> additional layer on top of a specific Relax schema.  
[BALAZS]: Yes but if you need to extend RelaxNg, you loose much/most of the advantage of using 
a standard language. As we agreed all the extensions will need custom tools. These tools are 
already available for Yang, but not for RelaxNg. The experience with SNMP/SMI tools in the last 
decades also tells us that at the end nearly all SNMP tools were custom built and not based on 
standard ASN.1 tools. So the gain of following the standard is even more limited.
> We can even write 
> schema which describes what syntax is allowed for these annotations in a 
> netconf-semantics namespace.
>  
> 
>     - what does a default mean for configuration data
> 
> 
> this is semantic.
>  
[BALAZS]: Yes, you recognized one of our main points: NETCONF needs semantics and processing 
rules. These have to be defined. Current schema languages don really do this. Thats one of our 
reasons to do YANG.
A quote from the book RelaxNg by Eric van der List you recommended:

"XML reintroduces a clean separation between data and processing. "

However Netconf does need rules about processing, so RelaxNg is not enough for us. We can 
reintroduce processing hints into RelaxNg, but is that still RelaxNg. Processing features 
needed include:
- handling semantics of NETCONF edit-config
- the meaning of default data for operational and configuration data
- ordering of list data
- automatic creation of some data (containers)
- placement of data in normal structures, notifications or RPCs
- others ???


> 
> Maybe I have different implementors, but the implementor is more likely 
> to have some XML experience than to be a "network management person".  
> Following the principle mentioned in Section 3.1 of 
> draft-schoenw-sming-lessons-01.txt, the implementor is a "reader" and 
> simplicity for the reader takes precedence:
> 
>    As a consequence, preference should be give to solutions that
>    simplify the task of readers.  Reduction of the efforts required by
>    writers is of secondary importance and the reduction of the efforts
>    required by tool developers is of least important preference.  While
>    this perhaps seems obvious, it is at times difficult to take
>    according design decisions, especially if the group working on a new
>    data modeling language is dominated by tool developers or data model
>    writers.
> 
[BALAZS]: Yes as the above quote says it is NOT the implementors but the readers i.e. network 
operators that are important. I think they are much more familiar with the concept of a managed 
object or a list then "Pattern Compositions".