Semantic Interpretation for Speech Recognition - SpecGL Conformance Assessment

Charles McCathieNevile
Assessing version
Against version
This version of the assessment
$Id: cmn-si-review.html,v 1.7 2004/12/16 14:33:44 charles Exp $


The Specification does not conform to the QA Specification Guidelines, because it does not conform to requirements 3.1 A or B, nor to requirement 4.4 A. There are also some good practices that the document should have implemented better. Meeting the first two of the missing requirements should be essentially an editorial question, but meeting the requirement to address extensibility may require more substantive work on the part of the Working Group.

All three requirements should be met, since the first two will aid developers to produce interoperable implementations, and the third is extremely important given the working groups stated belief (presumably well-founded on their own implementation experience) that extensions will be developed.

The good practices in sections 1.2 (providing more guidance about how to make a conformance claim), 3.1 (defining terms clearly) and 4.3 (addressing extensibility) should also be met.

Conformance by requirement / good practice

Guidelines Y / N Comments
1 Specifying Conformance
1.1 A conformance clause is essential
Requirement : Include a conformance clause. Yes
Good Practice : Define the specification's conformance model in the conformance clause. Yes for processors and for documents.

Section 2 being called normative references and conformance, when it is another section that covers conformance, could be cleaned up a little.

Good Practice : Specify in the conformance clause how to distinguish normative from informative content. Yes
1.2 Specify how to make conformance claims
Good Practice : Provide the wording for conformance claims. No
Good Practice : Provide an Implementation Conformance Statement proforma. No
Good Practice : Require an Implementation Conformance Statement as part of valid conformance claims. No
2. Setting up Groundrules
2.1. Scope
Requirement : Define the scope. Yes Describes stuff beyond the scope too - nice.
Good Practice : Provide examples, use cases, and graphics. Partial (No) There are examples and use cases, but no graphics, which would have been a nice thing to explain some points
2.2 What needs to conform
Requirement : Identify who or what will implement the specification. Yes
2.3 Normative (and non-normative) references
Requirement : Make a list of normative references. Yes
Good Practice : Do systematic reviews of normative references and their implications. Cannot Tell
3. terms
3.1 Define terms
Requirement : Define the terms used. No No glossary.
Requirement : Create conformance labels Yes
Good Practice : define unfamiliar terms inline, group at the end Partial (No) There are some practical explanations, but no glossary.
Good Practice : Use terms already defined Cannot tell There doesn't seem to be much special use of terms.
3.2 What is mandatory to conform
Requirement : Use consistent style for things required Yes I think - RFC 2119.
Requirement : Indicate which requirements are mandatory, which are optional, ... Yes But it isn't lovely to tease it out. I don't think they are clearly listed in a single place.
4. Managing Variability
4.1 Subdivide
Good Practice : Create subdivisions of the technology when warranted. Yes This is in fact a subdivision of the VoiceXML family of technology.
Requirement : If the technology is subdivided, then indicate which subdivisions are mandatory for conformance. Yes
Requirement : If the technology is subdivided, then address subdivision constraints. Yes
Good Practice : If the technology is profiled, define rules for creating new profiles. Not Applicable There doesn't seem to be any possibility to define new profiles.
4.2 Optionality and Options
Good Practice : Make sure there is a need for the optional feature. Cannot Tell Cannot tell if the option to use ABNF or XML is justified. It just seems to be claimed by the group.
Good Practice : Clearly identify optional features. Yes
Good Practice : Indicate any limitations or constraints on optional features. Yes
4.3 Extensibility and Extensions
Requirement : Address Extensibility. Partial (No) It is noted as something that is likely to happen, in the section on conformance. But it is not actually addressed.
Good Practice : If extensibility is allowed, define an extension mechanism. No
Good Practice : Warn implementers to create extensions that do not interfere with conformance. No
Good Practice : Define error handling for unknown extensions. Yes
4.4 Deprecation
Requirement : Identify deprecated features. N/A
Requirement : Define how deprecated feature is handled by each class of product. N/A
Good Practice : Explain how to avoid using a deprecated feature. N/A
Good Practice : Identify obsolete features. N/A
4.5 Error Handling
Good Practice : Define an error handling mechanism. Yes
5. Do Quality Control
Good Practice : Define an internal publication and review process. Yes W3C process, which seems to have been followed pretty well.
Good Practice : Do a systematic and thorough review. Yes Apparently
Good Practice : Write sample code or tests. Yes (minimal) Only the examples in the spec. This is sufficient for a last call document, but this work should be done to allow a reasonable demonstration of interoperability at any more advanced stage in the specifications development.
Good Practice : Write Test Assertions. Yes (minimal) Only the examples in the spec. This is sufficient for a last call document, but this work should be done to allow a reasonable demonstration of interoperability at any more advanced stage in the specifications development
Good Practice : Use formal languages and define which from prose and formal languages has priority. Yes As far as I can tell