Re: analysis of YANG vs. RELAX NG
Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Thu, 29 November 2007 20:06 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 1IxpeN-0005fU-OS; Thu, 29 Nov 2007 15:06:19 -0500
Received: from discuss by megatron.ietf.org with local (Exim 4.43) id 1IxpeM-0005em-9H for discuss-confirm+ok@megatron.ietf.org; Thu, 29 Nov 2007 15:06:18 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxpeL-0005ca-Uk for discuss@apps.ietf.org; Thu, 29 Nov 2007 15:06:17 -0500
Received: from hermes.jacobs-university.de ([212.201.44.23]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IxpeJ-0006oD-Is for discuss@apps.ietf.org; Thu, 29 Nov 2007 15:06:17 -0500
Received: from localhost (demetrius.jacobs-university.de [212.201.44.32]) by hermes.jacobs-university.de (Postfix) with ESMTP id 425DE8A263; Thu, 29 Nov 2007 21:06:14 +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 32275-01-2; Thu, 29 Nov 2007 21:06:09 +0100 (CET)
Received: from elstar.local (elstar.iuhb02.iu-bremen.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 74FEA8A259; Thu, 29 Nov 2007 21:06:05 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 042EE4034C4; Thu, 29 Nov 2007 21:06:04 +0100 (CET)
Date: Thu, 29 Nov 2007 21:06:04 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Rohan Mahy <rohan.mahy@gmail.com>
Subject: Re: analysis of YANG vs. RELAX NG
Message-ID: <20071129200604.GD12255@elstar.local>
References: <20071127.130355.18118495.mbj@tail-f.com> <953beacc0711271504y7aea5f21jc301ccad886d3611@mail.gmail.com> <474D9194.3060103@ericsson.com> <953beacc0711281025w4d993dd7u77d729111074496c@mail.gmail.com> <474E83A4.3050000@ericsson.com> <953beacc0711291100lfe8cb6xeba5ac28b091b6fb@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <953beacc0711291100lfe8cb6xeba5ac28b091b6fb@mail.gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at jacobs-university.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d0bdc596f8dd1c226c458f0b4df27a88
Cc: discuss@apps.ietf.org
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 Thu, Nov 29, 2007 at 11:00:55AM -0800, Rohan Mahy wrote: > I am proposing that you could combine syntax and semantics, or you can layer > one on top of the other. Right now YANG is neither pure semantics, nor pure > syntax. For example the distinction between the leaf-list and list objects > in YANG is pretty syntactic. (One of the YANG team's "little-rules"). > Likewise, creating containers automatically is a syntactic construction. > (Another "little-rule", but at least this one is explicit). Defining new > data types in YANG is completely gratuitous syntax. Perhaps it helps me if you can define what you consider syntactic and what semantic. Having your definition will help me to understand what you have in mind and where you draw the line. I must note that types have been extremely successful in terms of actual reuse in the SMI world. You may consider data types "gratuitous syntax" but they are damn useful from our experience in writing data models. > I think having semantics for configuration information in general > would be a boon for the IETF, as we have several protocol that are > used for configuration. Providing a way to describe semantics of > common configuration concepts like default values, list keys, > constraints among non-parent-child objects, all looks like great > work to me, but I don't want to this so tied to NETCONF that I > cannot use it elsewhere for other configuration data. > > I also don't want this rigidly attached to a specific syntax either. > A lot of existing XML-based data formats use attributes > extensively. Some XML-based languages (ex: GML) implement the > equivalent of leaf-list using a single attribute with whitespace > separated values (there is even a built-in data type (called "list") > to handle this case). There are specific reasons why YANG does not support white space separated lists. I am sure Phil is happy to tell you how much fun these white space separated values can be and why we prefer to have every value within its own element in an instance document. (Well, actually even RFC 4741 states that subtree filtering on list content and mixed content is not supported.) I have been involved in a project where we tried to develop a data modelling language (called SMIng) that is protocol independent. From this experience, I have serious doubts that semantics decoupled from syntax will work anytime soon. There are relative obvious issues where for example the underlying naming system impacts the way you can formulate expressions. And then there are issues that only pop up once you really do it in practice, e.g. dealing with exceptions or errors. (In YANG, you can say that a violation of a given constraint leads to a specific NETCONF error report. Once you all do this in a decoupled semantics layer, you end up having to abstract the error/exception reporting mechanisms, which in my experience does not make the result necessarily easier to use). My personal eye opener in the SMIng project happened when started to move from toy examples to model something of moderate complexity (we picked DiffServ at that time because it actually has a nice informal information model plus a MIB module which does supports configuration). But don't get me wrong, I do not want to discourage anyone from trying it - perhaps there are people who can solve this challenge. My only concern is that it will take years to get it done with no clear signs upfront that it will actually work. The YANG mission is much less ambitious and down to earth, simply driven by the goal to create a vendor independent domain specific data modeling languages that can replace proprietary solutions that have already been created. /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