Reviewed by: Mark Skall
Conformance requirements: the specification MUST define the subject matter of the specification, and SHOULD include a statement of objectives and/or goals. This information MUST appear at the beginning of the document
Conforms.
This is a big improvement over the last time I assessed conformance. The wording is no longer vague. One suggestion – Use the terms “normative” and “informative” (or “non-normative”) when describing the checkpoints, ExTech and the appendices. This makes it clearer what is and isn’t required.
Conformance requirements: the specification MUST include examples or use cases illustrating what is in or out of scope.
Conforms.
ExTech provides examples and use cases.
Conformance requirements: the specification MUST provide Usage Scenarios
Conforms.
ExTech provides examples and use cases. Question – What is the difference between Checkpoint 1. 2 and 1.3 (i.e., what’s the difference between use cases and usage scenarios?) Do we need both checkpoints?
Conformance requirements: the specification MUST provide one or more examples of the functionality, concepts, and behaviors of the specification.
Conforms.
ExTech and narrative descriptions provide this functionality.
Conformance requirements: a specification:
Conforms.
Again, there is much improvement over the last time this requirement was reviewed. The scope is much more precise and has a section addressing classes of products. “Technical Reports”, the class of product for SpecGL should probably be added to the enumerated list of classes of products described later in Guideline 2.
However, I’m not too sure about adherence to the second and third “MUST” above (especially the third). Although the specific categories don’t apply to categorizing SpecGL, I believe, according to our requirements, there should be some reference to these categories in Section 1.2 and an explanation of SpecGL’s classes of products vis a vis the enumerated list (i.e, explicitly state that this is a new class of product). (Again, this could also be achieved by adding “Technical Reports” to the enumerated list in Guideline 2.)
Conformance requirements: the specification MUST define the conformance requirements for each identified class of product.
Conforms.
The discussion on degrees of conformance (A, AA, AAA) in the conformance section clearly fulfill this checkpoint.
Conformance requirements: the specification MUST identify in the Introductory section which of the categories of object are specified in the document as a whole.
Does not conform (but can be made to conform easily).
“Categories of objects” is still a poorly defined term. They should be called “category of specifications”. Although SpecGL does not fall within any of the categories enumerated, I believe this requirement says that SpecGL should explicitly state what “category” it is (Framework Guideline?).
Conformance requirements: the specification MUST address and discuss the relations and interactions between classes of product and the other dimensions of variability. It is not applicable if there is only one class of product.
N/A – Only one class of product.
Conformance requirements: the specification MUST include a normative section enumerating the minimal requirements that apply across all identified products of a class.
Conforms.
One can deduce from SpecGL’s conformance section that conforming to all priority 1 checkpoints are the minimal requirements. However, it would be clearer if SpecGL said exactly that.
Conformance requirements: the specification MUST be defined, either by reference or by including the definition in the text.
Conforms. Terms like DOV and ICS are defined.
Conformance requirements: a specification MUST justify each Dimension of Variability the specification uses.
Conforms. Extensibility is the only DOV used. They are justified by the rationale in Section 3.2.
One can argue that A, AA, AAA are levels, but I don’t think they fit the intent of what we meant be DOV levels.
Since SpecGL does not use profiles, this guideline does not apply.
N/A.
N/A.
N/A.
N/A.
Since SpecGL does not use modules, this guideline does not apply.
N/A.
N/A.
Since SpecGL does not use functional levels, this guideline does not apply.
N/A.
Again, if we consider the degrees of conformance to be levels, SpecGL would conform since our section on Extensibility discusses the relationship to degrees of conformance A, AA, and AAA.
Since SpecGL does not use deprecated features, this guideline does not apply.
N/A.
N/A.
N/A.
N/A.
N/A.
In many sections, especially here, it’s difficult to map rec type terms, like discretionary items, to SpecGL. However, it seems like many of the DOV are discretionary items. If so, SpecGL does not conform to these requirements.
Conformance requirements: the specification MUST indicate the rationale for the discretionary items and MUST identify by labeling all discretionary items. It is not applicable for specifications that do not have discretionary items.
Doesn’t Conform.
Profiles, modules, levels, etc. are optional features and, thus, discretionary items. Although some rationale for inclusion can be inferred for profiles and levels, there is no rationale for the inclusion of modules. Also, these are not labeled, in SpecGL, as discretionary items, as they are required to be.
N/A.
N/A.
N/A.
Conformance requirements: the specification MUST address and discuss the relations and interactions between profiles and all the other DoV.
N/A, although the checkpoint doesn’t match the conformance requirements.
The checkpoint asks to define relationships among DOVs if discretionary items are used (which they are in SpecGL). However, the conformance requirements only address the relationships between profiles and DOV.
Conformance requirements: the specification MUST state the conditions under which extensions are allowed and disallowed.
Conforms.
Section 3.2 does an excellent job of explaining the extensibility of SpecGL and the specific requirements.
Conformance requirements: the specification MUST state
and MUST document the rationale for allowing extensions by referencing use cases and/or project requirements. It is not applicable if the specification does not allow extensions.
Conforms.
Again, Section 3.2 covers these items. However, it’s not clear what is meant by the must requirement for “scope of the extensions” and “any limitations or restrictions on the use of the extension”. I don’t think SpecGL addresses these requirements; however, it can be inferred that the “scope” is unlimited and there are no “limitations or restrictions”.
Conformance requirements: the specification MUST state that extensions can not negate or change support for required functionality. It is not applicable if extensions are not allowed.
Conforms.
Section 3.2 contains an explicit statement addressing this, as required.
Conformance requirements: the specification MUST provide a uniform way to define that extensibility is being invoked and MUST provide the syntax to be used to indicate the extension. It is not applicable if extensions are not allowed.
Doesn’t conform.
SpecGL does not define a standard way to define extensions.
Conformance requirements: the specification MUST require that the syntax and semantics of the extension be publicly documented. It is not applicable if extensions are not allowed.
Doesn’t conform.
SpecGL does not require extensions to it be published.
Conformance requirements: the specification MUST indicate via conformance requirements that implementations provide a mode under which they produce only conforming content. This checkpoint is not applicable if extensions are not allowed.
Doesn’t conform.
SpecGL does not provide a mode to produce only conforming content.
Conformance requirements: the specification MUST address and discuss the relations and interactions between extensions and all the other DoV.
N/A since there are no other DOVs besides extensions.
Conformance requirements: the specification MUST document its conformance policy and specific conformance requirements in a dedicated section of the document.
Conforms.
Section 3 (Conformance) is a very comprehensive conformance section.
Conformance requirements: the specification MUST have normative references to any identified specification it depends on and MUST describe the relationship between the specifications and any identified conformance implications
Conforms?
SpecGL makes a normative reference to RFC2119, upon which it depends for key word definitions and references RFC2119 in the conformance section. Also, the references to ExTech have been rewritten to explicitly state that ExTech is informative, so that is no longer an issue. However, Section 1.4 is a little fuzzy. This section says that the QA framework documents are interrelated (thus they depend on each other?). This Section should explictly state that there are no conformance inmplications with respect to the other documents.
Again, with minor changes, SpecGL can conform to this Guideline.
Conformance requirements: the specification MUST identify and define all the conformance designations used.
Conforms.
This is clearly done in Section 3.4 with the A, AA, AAA degrees of conformance.
Conformance requirements: the specification MUST provide specific wording of the claim and the specific wording MUST at least include the specification name, its version, the conformance level satisfied and information about the subject that which is claiming conformance and the date of the claim.
Doesn’t conform.
SpecGL attempts to meet this requirement in Section 3.4 with the wording “To make an assertion about conformance to this document, specify: . . ” SpecGL is missing the version and information about the subject that which is claiming conformance.
Conformance requirements: the specification MUST provide a conformance disclaimer.
Conforms.
This is clearly fulfilled in Section 3.5.
Conformance requirements: the specification MUST NOT include any restriction about who can make a claim nor where claims can be published.
Conforms.
No restrictions are present.
Conformance requirements: the specification MUST either:
Conforms.
The list of checkpoints is the ICS. This is explicitly stated in Section 3.4
Conformance requirements: the specification MUST include the ICS as part of its conformance claim requirements. This checkpoint is not applicable, if an ICS is not applicable to the specification.
Conforms.
This requirement is also met in Section 3.4
Conformance requirements: the specification MUST use RFC 2119 keywords to denote whether or not requirements are mandatory, optional, or suggested.
Conforms.
Done throughout by using MUST, SHOULD.
Conformance requirements: the specification MUST distinguish normative text from informative text.
Conforms.
This is a big improvement from the last version I reviewed for conformance.
Conformance requirements: the specification MUST use identical wording to express identical provisions, and analogous wording to express analogous provisions .
Conforms, I guess.
However, it’s not clear to me exactly what this checkpoint is requiring. What is meant, for instance, by “analogous wording to express analogous provisions” and how can one test for this? This checkpoint is pretty much unverifiable and untestable.
Conformance requirements: the specification MUST provide at least one navigation mechanism that allows the reader to locate by direct access, all conformance-related information that is relevant to the specification. The mechanism MUST minimally locate:
Conforms.
The Table of Contents satisfies this requirement.
Despite the claim that test assertions are present, I don’t believe that the prioritized checkpoints fulfill the definition of test assertions. In fact, the checkpoints are really the requirements, analogous to functional requirements in recs.
Conformance requirements: the specification MUST provide a normative list of test assertions stated in it.
Doesn’t Conform.
Although SpecGL specifically asserts that the test assertions are found in the prioritized checkpoints, I don’t believe this meets the definition of “test assertion”, as defined and explained in SpecGL. SpecGL defines test assertion as “A test assertion is a statement of behavior, action or condition that can be measured or tested. It is derived from the specification's requirements and bridges the gap between the narrative of the specification and the test cases. Each test assertion is an independent, complete, testable statement for requirements in the specification.”
The problem with using the checkpoints as fulfilling the test assertion requirement are many. I’ll mention two: 1) Test assertions are supposed to be “derived” from the spec’s requirements. The checkponts are the spec’s requirements. 2) Some of these checkpoints can not be measured or tested (see checkpoint 13.3 (analagous) as one example).
In addition, I do not believed that these checkpoints are specific enough to be a “complete, testable statement”. See my previous write-up on Test Assertions for guideline 3 at http://lists.w3.org/Archives/Public/www-qa-wg/2002Dec/0104.html.
Conformance requirements: the specification MUST provide a mechanism linking each test assertion to the part of the specification it is stated.
N/A, since I don’t believe test assertions are provided.
No mapping or mechanism is provided.
Conclusion
This version is a big improvement over the previous version. However, there are still some serious problems.
These are the areas that I said needed to be addressed during my last review, with an annotation of whether or not it has now been addressed:
a. This has been done.
a. This has not been done.
a. No longer necessary due to re-write of SpecGL.
a. This has not been done.
a. For the most part this has been done. However, the checkpoints addressing providing a uniform way to handle extensions and publishing them not been met.
a. This has been done.
a. This has not been done.
a. This has not been done.