Re: [SpecGL] 1049 - Formal vs prose language normativity

Le jeudi 10 mars 2005 à 23:46 -0500, Karl Dubost a écrit :
> 5 GP E is moved to section 3.
> http://www.w3.org/QA/Group/2005/02/qaframe-spec/#specify-conformance- 
> need
> 3. Defining and using terminology
> 3.1 Define terms
> 3.2 What is mandatory?
>   --> We should put it here?

Yup, sounds like the right place.

> New Text:

The new text sounds good to me ; a few comments embedded below:

> 5 Good Practice E:  Use formal languages when possible.
> 
> What does it mean? If an existing formal language (e.g. DTD, Schemas,  
> ...) is expressive enough to describe the technical requirements of the  
> specification, try to use it.

s/try to//

(and remove the period since the sentence is not finished)

>   and make it clear when the English prose and the formal language  
> overlaps which one should be held for true in case of discrepancy.
> 
> 
> Why care? There's an immediate benefit of using a formal language to  
> describe conformance requirements when it's possible. It can allow 

s/can allow/allows/

> to  
> avoid some ambiguities introduced by the interpretation of the prose.  

s/some//

> It gives also the possibility of using existing tools for the given  
> language to facilitate testing and validation.

s/gives also/also gives/

> But prose remains necessary to allow implementers to understand the  
> specification, as well as to express additional requirements the formal  
> language cannot express; this means that there are possible overlaps  
> between the prose and the formal language, in which case, it is  
> important to define which one is the main point of reference in case of  
> disjunction.
> 
> Related
>  •  Wiki: Formal Language vs. Prose? [WIKI-FORMAL-LANGUAGE]
> 
> Techniques
>  •  There are plenty of formal languages used across W3C  
> specifications: DTD, XML Schema, Relax NG, EBNF, Z Notation, ....  
> Picking the right one depends on the kind of specifications developed  
> (language, XML or not, protocol) and the use needed from the formal  
> language.
>  •  To avoid discrepancies between the English prose and the formal  
> language, set up a process so that a given section is bound to a given  
> part of the formal language, and one can't modified without the other.
>  •  Use the formal language tools to validate the examples given in the  
> specification, so as to ensure they match.
>  •  When using several formal languages in combination, generate random  
> content according to the rules defined in one of them and try to  
> validate it with the others, to find discrepancies.
> 
> Examples
> 
> XQuery Formal Semantics Notice section 1.1 defines where the document  
> is normative over the grammar specs (separate for XPath and XQuery) and  
> where the grammar specs are normative.

Dom
-- 
Dominique Hazaël-Massieux - http://www.w3.org/People/Dom/
W3C/ERCIM
mailto:dom@w3.org

Received on Monday, 14 March 2005 10:23:26 UTC