- From: Dimitris Dimitriadis <dimitris@ontologicon.com>
- Date: Fri, 10 May 2002 22:48:39 +0200
- To: scott_boag@us.ibm.com
- Cc: spec-prod@w3.org, w3c-query-editors@w3.org, www-qa@w3.org
- Message-Id: <4E68E033-6457-11D6-9439-000393556882@ontologicon.com>
Sorry for jumping in on the thread at so late a stage. Being very interested in the topic and also being the principal author of the relevant parts of the Specification Guidelines document (which I co-edit), let me first say that I look forward to the results this discussion will lead to. Please include me in any relevant messaging, even off these lists. A word of warning; this is a rather long email, as I try to reply to and discuss as much as possible (of course, contrary to any implicit rule out there). General outline (in reply to Scott's original posting, parts of which are pasted, my comments prefixed by [dd]): --- GOALS: Allow an external document (test case, erratum, email, etc.) to point directly at a "testable" normative sentence in a Recommendation. [dd] This would clearly simplify the task of, if we look at tests, knowing which part in particualr is being tested, but requires structure and issues tracking. This in turn implies that it may need to be an intra-W3C "standard". Encourage document editors to view some of the sentences as "test assertions" and to write them in a style that conveys precisely what they declare. [dd] Any disambiguation is welcome. However, there are issues with, as I see it: 1. Forcing specification authors to write in a particular markup (which could be worth it, given the complexity they need to bea ble to master to begin with to author a spec) 2. Different WG's will certainly have their own views on how the xmlspe, for example, should be extended. Explore possibilities for machine processing of testable sentences in the future. [dd] This is already being done in an embryo-stage way, more on how we generate the DOM Test Suite markup language below. We have had positive responses from this approach, as it treats the specification (the XML version, actually) more normatively than just serving to produce the human readable HTML output. Link error assertions to error catalogues (see the work that Mike Kay is doing with the XSLT document: ( http://www.w3.org/TR/xslt20/#error-summary)). Provide a tagging scheme for testing of grammatical statements, such as the ad-hoc one employed in the XPath/XQuery specifications. Possibly provide markup also for discretionary behavior. [dd] In general, I think the cost/benefit analysis woul end up with the follwing (The QA activity, of course, tries to emphasize the benefits, and for this and other reasons it is important that people out there raise their voice at an early stage) Costs 1. "another forced upon us way to write", as has already been discussed in this thread. People view the added cost as counter productive, given the amount of work they already do. My personal argument would be to look for the added benefits, which include: a. Easier machine processing of the specification, which allows for easier tracking (of tests, errata, issues, and so forth) b. Easier generation of different types of output (HTML for human reading, HTML+SVG for graphical representation, XML for implementations specific calls to the spec to do testing on the fly, and so forth) c. Added degree of normativity to (what I consider to be) the important portion of the specification: the XML document. This of course leads to digression, but is what taking the idea of enhancing the markup leads to eventually 2. Complicates authoring beyond need, even having adopted the extended markup. It is tedious to have to use intricate markup to write simple things. a. I don't think we'd ever want to use complicated markup fo write simple things, just add to what we do already. In the long run, it would certainly be beneficial to be able to let your implementation check whether it passes a test and report back to you instead of having to read the spec, interpret it, write the (proprietary, since there is no agreed on syntax) test, run it, interpret the result, re-reading the spec (and re-interpreting it, as we've all seen many times). The added benefit is that using intricate markup to write assertions allows for easier interpretation of the spec; in particular it greatly simplifies testing interdepencies between parts of specifications but also interdependent specifications (DOM/HTML, for example) 3. Not all specification aim at specifying the same thing, therefore extending a particular markup (which is not used by everyone, in any case) may not meet the aim. Benefits: 1. In general, I think the cost is short term, once adopted it will begin to show its advantages, making it more acceptable to new WG's and newer version of existing technologies. 2. Having an agreed on markup allows for separating between the assertions (where assertion is to be understood as David Marston explained earlier), the representation of those assertions (which we now view as the specification) and finally mechanisms for asserting tests, running them, reporting and so forth. In general, the aim to write implementable specifications and making it easier to implement them is furthered. 3. Machine calls can be used to ascertain compliance with particular specifications, thus lessening the discussion on details in specifications done by the same people who wrote it to begin with. --- DOM Framework: One example of many is what we did in the DOM TS framework (http://www.w3.org/DOM/Test). Here we use XSLT transforms to generate the markup language directly from the XML documents that serve to produce the HTML output. The TS (in XML) markup mimics code, includes pointers to what part of the specification the test tests, and so forth. XSLT is used, again, to produce the two official bindings (ECMA and Java), but other ones have been produced too (one C++ binding). This means that one test case description generates many test instances (one per binding). Furthermore, it is straightforward to group tests to form specific test suites (DOM allows for different setups, so to speak, for example entity handling) so that one can ensure that the implementation is being tested on its own merits. Finally, test reporting is greatly enhanced. The benefits we've seen is that the final deliverable (one TS per level of the DOM) is made easier, _once_ people come over the threshold of using a particular syntax (which speaks for the fact that there is resistance to changing tools, so to speak). However, once people saw that the new framework was worth supporting, more an more actors (re)wrote tests in order to comply with the framework. Road ahead: 1. We should find out how many use xmlspec, or anything like it, now. Here group chairs coudl help greatly. 2. We should play around with the idea of creating an extension to xmlspec (or write it from the beginning) to represent semantics and intended behaviours (again, please include me in the loop) 3. Any interested party should read the QA Specification Guidelines document, comments are very much appreciated. 4. The topic of whether the HTML version found on the web or the (generated) XML version is the normative one should perhaps be made again, as following the idea that originating this thread will certainly mean that the XML version takes precedence over any other version (when it comes to specification interpretation) 5. Find a relevant forum for discussing this. the QA IG list has been proposed, and I think it may be the right place for it, at least for now. My two (Euro) cents, anyhow. Best, /Dimitris On Friday, May 10, 2002, at 01:40 PM, scott_boag@us.ibm.com wrote: > >> In my experience the human-readability of a spec >> is an important factor in its successful uptake by the community. > > I don't think it's totally either one or the other. And most specs are > better anyway if they are declarative, in my experience. Also, there is > the path that Schema took, which is to provide a tutorial. > >> I'm not sure it merits immediate adoption. > > It depends on what baby steps may be taken. I believe a large amount of > work lies in wait for the creation of test suites for XPath 2.0/XQuery > 1.0/XSLT 2.0. We may be able to save a lot of person hours by taking > some > simple markup steps now. > > -scott > > > > > > Tim Bray > <tbray@textuality.com To: > scott_boag@us.ibm.com >> cc: Jonathan Robie >> <jonathan.robie@datadirect-technologies.com>, > Sent by: spec-prod@w3.org, > w3c-query-editors@w3.org, www-qa@w3.org, (bcc: Scott > w3c-query-editors-req Boag/Cambridge/IBM) > uest@w3.org Subject: Re: > Testable assertion tagging for W3C specifications > > > 05/09/2002 01:39 PM > > > > > > > scott_boag@us.ibm.com wrote: > >> Too often we think >> of the specification as prose. What it really must be is > > This is a strong assertion that may be true but probably requires some > supporting evidence. In my experience the human-readability of a spec > is an important factor in its successful uptake by the community. XML > 1.0 is admittedly a counter-example, but should I ever undertake another > large-scale core-technology spec editing assignment, I'd put a lot more > energy into the prose. > > Having said all that, the testable-assertions hypothesis probably merits > serious investigation. I'm not sure it merits immediate adoption. -Tim > > > > > > >
Attachments
- text/enriched attachment: stored
Received on Friday, 10 May 2002 16:48:43 UTC