[VM] formally defining W3C's namespace change policy options w.r.t. recent TAG versioning terminology

I think you guys are familiar with the following 3 suggested
namespace change policies:

[[
This namespace name (URI) will only be used to refer to this version of
this specification: different URIs will be used for any and all new
versions of the specification [except as follows].
        
             1. [This namespace name may be reused in any update of the
                specification which is made for the purpose of
                clarification or bug fixes. These changes will be minor
                in that they do not (a) change the meaning or validity
                of existing documents written using the namespace, or
                (b) affect the operation of existing software written to
                process such documents.]
             2. [Warning: Until the specification reaches W3C Candidate
                Recommendation (CR) status, this namespace name may be
                reused by any update in such a way as to cause documents
                written using the namespace to become invalid or to
                change in meaning.]
             3. [Warning: Until the specification reaches W3C CR status,
                this namespace name may be reused by any update in such
                a way as to affect the operation of existing software
                written to process documents written according to this
                specification.]
]]
 -- http://www.w3.org/1999/10/nsuri

I started trying to formalize it back in Aug 2004
  http://www.w3.org/2000/10/swap/util/changePolicy.n3
but I got stuck.

At our meeting in Edinburgh last week, the TAG looked at some
recent work on  XMLVersioning-41 and we came up with some
new terminology... intent and impact and such... minutes
are in progress, but we have photos of the whiteboard
and a transcription into omnigraffle...
 http://www.w3.org/2001/tag/2005/09/20-whiteoard/
 http://www.w3.org/2001/tag/2005/09/22-diagram1.png
 http://www.w3.org/2001/tag/2005/09/22-diagram1.graffle

Based on that, I had something of a breakthru in changePolicy.n3
and I was able to define...

:sublanguage s:label "sublanguage"; is util:partialOrder of :Language;
  s:comment """one language is a sublanguage (or "profile") of a
        second language if any text in the first language is also a
        valid text in the second language and has the same
        interpretation in the second language.""",
     """HTML2 is a sublanguage of HTML3.2 and HTML4,
      or rather: the languages you get when you strip off the
      <!DOCTYPE> delcarations have this relationship""".

:stableSpecification;
  s:isDefinedBy <http://www.w3.org/1999/10/nsuri>;
  s:subPropertyOf :specification,
    :monotonicIntentSpecification, :monotonicImpactSpecification;
  s:comment """This namespace name may be reused in any update of the
	specification which is made for the purpose of clarification
	or bug fixes. These changes will be minor in that they do not
	(a) change the meaning or validity of existing documents
	written using the namespace, or (b) affect the operation of
	existing software written to process such documents.""";
  s:comment "hmm... 'the specification'?".

:monotonicIntentSpecification s:subPropertyOf :specification;
    s:isDefinedBy <http://www.w3.org/1999/10/nsuri>;
    s:comment """the language will only get larger; once you
      write a correct document, its impact will remain constant""";
    s:comment """opposite: Warning: Until the specification reaches W3C
    Candidate Recommendation (CR) status, this namespace name may be
    reused by any update in such a way as to cause documents written
    using the namespace to become invalid or to change in meaning."""
  .

:monotonicImpactSpecification s:subPropertyOf :specification;
  s:comment """the language will only get smaller; once you have
   implemented a correct consumer, that consumer will remain
correct.""";
    s:isDefinedBy <http://www.w3.org/1999/10/nsuri>;

    s:comment """opposite: 3. [Warning: Until the specification reaches
W3C CR
    status, this namespace name may be reused by any update in such a
    way as to affect the operation of existing software written to
    process documents written according to this specification.]""".


I walked thru it with Ian Jacobs, and I think I was able to explain
it successfully and it's worth writing up, but a good write-up
is not going to fit on one page.

I wonder if the VM TF is sufficiently interested to chat with me
about it even though I don't have a real write-up yet. What I'd
like to do is sort of present it in a teleconference and recruit
somebody to help me write it up.




-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Friday, 30 September 2005 15:02:09 UTC