Re: analysis of YANG vs. RELAX NG

Lisa Dusseault <lisa@osafoundation.org> Tue, 27 November 2007 19:54 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 1Ix6Vu-0002mY-Dv; Tue, 27 Nov 2007 14:54:34 -0500
Received: from discuss by megatron.ietf.org with local (Exim 4.43) id 1Ix6Vt-0002ld-AZ for discuss-confirm+ok@megatron.ietf.org; Tue, 27 Nov 2007 14:54:33 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Ix6Vt-0002lG-0M for discuss@apps.ietf.org; Tue, 27 Nov 2007 14:54:33 -0500
Received: from laweleka.osafoundation.org ([204.152.186.98]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ix6Vq-0002qe-OC for discuss@apps.ietf.org; Tue, 27 Nov 2007 14:54:32 -0500
Received: from localhost (laweleka.osafoundation.org [127.0.0.1]) by laweleka.osafoundation.org (Postfix) with ESMTP id 30FD8142206; Tue, 27 Nov 2007 11:54:31 -0800 (PST)
X-Virus-Scanned: by amavisd-new and clamav at osafoundation.org
Received: from laweleka.osafoundation.org ([127.0.0.1]) by localhost (laweleka.osafoundation.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bhKZILDsweIn; Tue, 27 Nov 2007 11:54:25 -0800 (PST)
Received: from [10.1.1.107] (unknown [157.22.41.236]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by laweleka.osafoundation.org (Postfix) with ESMTP id 3B6C6142204; Tue, 27 Nov 2007 11:54:25 -0800 (PST)
In-Reply-To: <20071127163727.GA27816@elstar.local>
References: <20071127.130355.18118495.mbj@tail-f.com> <474C116A.1080001@it.su.se> <20071127163727.GA27816@elstar.local>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <03A9505C-36BB-4C69-9626-8FFADE5BFC68@osafoundation.org>
Content-Transfer-Encoding: 7bit
From: Lisa Dusseault <lisa@osafoundation.org>
Subject: Re: analysis of YANG vs. RELAX NG
Date: Tue, 27 Nov 2007 11:54:23 -0800
To: j.schoenwaelder@jacobs-university.de
X-Mailer: Apple Mail (2.752.3)
X-Spam-Score: -4.0 (----)
X-Scan-Signature: bdc523f9a54890b8a30dd6fd53d5d024
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

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.

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 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.

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*.

Lisa

On Nov 27, 2007, at 8:37 AM, Juergen Schoenwaelder wrote:

> On Tue, Nov 27, 2007 at 01:45:30PM +0100, Leif Johansson wrote:
>
>> I don't know about RelaxNG, but it is pretty close to OWL. Apart from
>> the C-like syntax (which might be important to some) the example
>> suggests a modeling language which supports classes, packages,
>> properties (possibly associations?) and a form of multiple  
>> inheritance.
>>
>> While I am as happy as the next guy that we won't be seeing RFCs
>> with XMI in them anytime soon I am curious as to why something like
>> OWL isn't a strong candidate for something like this. Is it just  
>> "anti-XML"
>> or is there something more substantial to it?
>
> NETCONF uses XML for data encoding and is this is just fine.
>
> YANG is a domain specific data modeling language designed to support
> NETCONF (no more, no less). The YANG language reflects many years of
> experience with other network management data modeling languages in
> the IETF and proprietary languages created by NETCONF implementors to
> support their implementations (after figuring out that creating
> adapted subset languages did not work well in their companies or for
> their customers).
>
> While YANG clearly lacks features such as multiple inheritance or
> support for semantic web reasoning engines, we feel that it helps a
> lot in writing understandable and extensible NETCONF data models and
> in addition it can enjoy long-term predictability and stability.
>
> /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/>
>
>