- From: Dominique Hazaël-Massieux <dom@w3.org>
- Date: Tue, 16 Nov 2004 12:45:01 +0100
- To: www-qa-wg@w3.org
- Message-Id: <1100605501.30774.284.camel@stratustier>
(I've added the texts mentioned to the editors draft) AI-20041028-09: Dom to ask mailing-list about suggestions for "further reading" section (see my separate message with details) AI-20041028-10: Dom to draft concepts section in the Introduction, addressing issue of spec type (umbrella, collective, etc). Due 11/12 """ What is a specification? A specification is a set of technical requirements which aim at defining a reliable interface to accomplish a given task. Specifications can be defined in one or several documents, and can import requirements of other specifications with normative references. Some specifications, denoted below as umbrella specifications, create their own interfaces by simply grouping requirements of existing specifications in a well-defined manner. """ AI-20041029-19: [Spec] Dom to rewrite 4.4B done (hopefully; the minutes were not very clear as to what was needed) AI-20041029-20: [Spec 4.4C] Dom to rewrite 1- to keep only 1st sentence, remove 2- and 3- Karl did it for me, apparently AI-20041029-21: [Spec 4.5A] Dom to reword 1, identify failures and define error messages, reword 2- and make 3- a technique (?) done (I think) AI-20041029-22: [Spec 5.1A] Dom to rewrite it about the publishing process (not quality control). Karl to review done; I changed the principle into a good practice and it now reads: "Good Practice A: Define an internal publication and review process."; I adjusted the prose under it to match this, while trying to keep some of the other ideas that had been developed previously; between other things, I've made a technique out of the "don't publish incomplete sections" advice. AI-20041029-23: [Spec 5.2E] Dom to write - Use formal languages """ Good Practice: Use formal languages and define which from prose and formal languages has priority 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, 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? English prose can often leads to ambiguity; using a formal language to describe conformance requirements can allow to avoid some of this ambiguity, while permitting to re-use existing tools for the given language to facilitate testing and validation. 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] Technique * 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, where they defines where theis document is normative over the grammar specs (separate for XPath and XQuery) and where the grammar specs are normative. """ -- Dominique Hazaël-Massieux - http://www.w3.org/People/Dom/ W3C/ERCIM mailto:dom@w3.org
Received on Tuesday, 16 November 2004 11:45:04 UTC