Negative statements about DoV vs. old specs

Here is a first attempt at a tactic to allow old specs to achieve
First Degree Conformance to SpecGL, yet encourage new documents to be
explicit in enumerating what Dimensions of Variability (DoV) they
DON'T use, just as they describe the ones they use.

First of all, we leave GL 10.3 alone, and it has Priority 1. For old
specs, this means that they satisfy it if you can look up "Conformance"
in the table of contents, and leads you to verbiage that suffices to
enable you to scope out a test suite. For new specs, we interpret
"find all aspects of the conformance requirements, including the overall
policy" to mean that the document uses SpecGL verbiage to describe its
policy. (The overall policy is set according to GL 5.)

Next, we add a new checkpoint with a time discontinuity:
10.5 For all working drafts issued after this document becomes final,
the conformance clause must enumerate all dimensions of variability that
are not used. [Priority 1]
It should be possible for the reader to determine, from the conformance
clause, whether: there is only one class of product specified, there are
no profiles, there is no division of the spec into modules, there are no
deprecated features, there are no levels, there are no areas where an
implementer is granted discretion, or extensions are not allowed. This
requirement applies separately to each dimension. For each dimension
where variability is permitted, see the checkpoint about making an
explicit staement under each guideline 2-9. Older documents (drafts and
Recommendations issued before this document is final) are exempt from
the requirement to make explicit statements of non-use of dimensions,
but the various checkpoints still apply for dimensions that are used.

Guidelines 5 and 9 require a little bit of special treatment. For the
rest of the DoV, the statements in Checkpoints 3.1, 4.1, and 7.1 to
the effect of "explicitly state that ____ are not supported" are
replaced by "state that ____ are not supported according to the
requirements of Checkpoint 10.5." One could also consider 9.1 and 5.2
for this treatment, but I think the history and precedents of
extensibility are better established, and that we can leave the
requirements as-is, especially considering that 9.1 is only a Priority
3. Checkpoint 2.2 needs another sentence: "If the specification applies
to just one class of product, state that fact per the requirements of
Checkpoint 10.5." Checkpoint 6.1 needs another sentence: "If there are
no deprecated features, make an explicit statement according to the
requirements of Checkpoint 10.5." Checkpoint 8.1 should get a new
one-sentence paragraph: "If there are no discretionary areas in the
specification, state that fact per the requirements of Checkpoint
10.5."

The net effect is that all specs, old and new, must satisfy 10.3 in an
appropriate level of formality. All specs, old and new, must satisfy
9.1, but only at Priority 3. All specs must satisfy the Priority 1
checkpoints under Guideline 5, but 10.3 will guide the expectations for
explicit statements and formality of verbiage. Other dimensions of
variability, being made explicit by SpecGL for the first time, will be
applied through the filter of 10.5 when not used and through their own
checkpoints when used. As with so many other aspects of this Working
Draft, this will allow comments to come in regarding the whole DoV
scheme, with details of interlocks to be smoothed out later.
.................David Marston

Received on Monday, 19 August 2002 17:22:58 UTC