OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

tag-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [tag-comment] Dealing with spec versions in TAs (and metadata)

>When and where would the values for VersionAdd and
>VersionDrop be provided? I guess these won't be known
>at the time the TAs are first written. How did you cater
>for versions of specs written subsequent to the TAs being

Where: on each individual TA
When: that takes more explaining; read on...

If there is a new version of a spec, we presume that it alters the old
spec in some way that is amenable to testing (and TAs). Therefore, a
coherent set of TAs can be defined as applying to a particular spec
version or range of versions. To cover a range, the later specs must
be designed to be backwardly compatible to the earlier versions, at
least to a great extent. For example, the set of TAs for version 1.4
of a spec consists of all the TAs issued in previous versions 1.0 to
1.3, plus new TAs for version 1.4, *if* there was perfect backward
compatibility. If not, some TAs from earlier versions may have to be

Envision one big pool of TAs. To extract the the TAs that apply to
version X, you take all those whose VersionAdd is less than or equal
to X and whose VersionDrop, if specified, is greater than X.

With that as background, the "when" formula for VersionAdd is simple:
If the TA regards a feature from version 1.0, the VersionAdd
attribute is optional but could be present and set to 1.0.
If the TA regards a feature that originated in version A (>1.0),
then presumably the TA was written concurrent with the release of
the version A spec, so its VersionAdd attribute is set to A and it
is thrown in the pool with all the older TAs.

The "when" formula for VersionDrop is to go back and edit TAs that
already exist in the pool. In every case where version B (>1.0) drops
a feature that had previously existed, the TAs that asserted the old
behavior must have a VersionDrop attribute added, set to B.

I believe that this satisfies the goal that TAs span versions and need
not be written from scratch for every new version.
.................David Marston

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]