[sc34wg3] CXTM Draft Requirements available for review

Lars Marius Garshol sc34wg3@isotopicmaps.org
04 Jul 2003 13:06:33 +0200


* Kal Ahmed
|
| The first draft of the requirements for ISO 13250-4, Canonical XTM is
| now available for review and comment at [...]

Excellent! Great work! Here's my review.

--- History

The idea of Canonical XTM came up when I was writing the test suite
for the OKS and needed a way to verify that we did import of XTM and
HyTM files correctly. Writing an automated test suite that used the
API to do the testingw as just too painful to contemplate, so I stole
the idea of Canonical XML and basically applied it to topic maps.

I wrote an initial specification [CXTM], then implemented it, and
finally used it for the OKS test suite, which now contains a large set
of XTM, HyTM, and LTM test cases that are used to verify the
correctness of the suite by importing the test cases and checking
their canonical outputs against a baseline of canonical files known to
be correct. (Verified manually...)

The idea was since taken up into the roadmap for the ISO standards
[N278] at the Berlin meeting in May 2001, and then spent many many
months in the deep freeze while we waited for the data model to
stabilize. (More details are given in [N323].)

The stabilization really started with the Baltimore meeting, and Steve
Pepper then picked up the original specification [CXTM] and wrote a
new draft [N0395], which was circulated, but found by several people
to be unimplementable. (To be fair, that may be true of the original
specification as well. I'm not sure the implementation follows the
specification.)

At the London meeting in May 2003 Kal Ahmed accepted the authorship of
this work, and has been responsible for it since, producing the first
requirements draft in July 2003.

We may not want to include all of this, but here the history is,
anyway.


--- 2.1 

This doesn't specify what canonicalization actually is, and what the
implicit requirement on any canonicalization algorithm must be. That
is, it doesn't say that what it's supposed to do is to "produce
byte-by-byte identical serializations for any two logically equivalent
data model instances".

It also doesn't say that the purpose is primarily to support automated
conformance testing, and secondarily to support automated quality
assurance for those developing topic map engines.

Re "suite of conformance tests", I guess it is appropriate to mention
OASIS here and say that ISO does not intend to do this. I realize you
say this later, but isn't this a better place to do it?


--- 2.3

ISO 13250 2nd ed is actually 13250:2003, because ISO was so slow in
publishing it.


--- 3.1

Should we mention Canonical XML here explicitly?


--- 3.2.1

Maybe this is the place to say what canonicalization is, and which
requirements this places on the algorithm? The syntax bit could then
be 3.2.2 instead, maybe?


--- 3.2.2

You lost me here. What does this mean?


--- 3.2.3.1

I don't think we really need to compare across information item types,
if that's what you mean. Properties never mix their contents, so
there's no need for this. If you do mean items, please say so, since I
think this is going to be very hard to understand if we don't use
consistent terminology.


--- 3.2.3.2

I think the sort algorithm must also guarantee that for any items A1
and B1 the ordering must always be the same as for A2 and B2 where A1
== A2 and B1 == B2.


--- 3.2.4

Not sure I follow this. Isn't that done by comparing the resulting
files?


--- New requirements

 - the algorithm must produce the same results on all machines,
   regardless of locale, operating system, programing language, and
   input format

 - the algorithm must not be sensitive to changes in the URI from
   which the input file(s) is/are loaded


That's all I can think of right now, but no doubt I'll think of lots
more once I'm safely offline. If you get postcards with CXTM
requirements on them from south-east Asia you can safely assume they
are from me.


--- References

[CXTM] <URL: http://www.ontopia.net/topicmaps/materials/cxtm.html >
[N278] <URL: http://www.y12.doe.gov/sgml/sc34/document/0278.htm >
[N323] <URL: http://www.y12.doe.gov/sgml/sc34/document/0323.htm >
[N395] <URL: http://www.y12.doe.gov/sgml/sc34/document/0395.htm >

-- 
Lars Marius Garshol, Ontopian         <URL: http://www.ontopia.net >
GSM: +47 98 21 55 50                  <URL: http://www.garshol.priv.no >