[sc34wg3] Review of N0393

Lars Marius Garshol sc34wg3@isotopicmaps.org
27 Apr 2003 14:13:23 +0200

* Patrick Durusau
| Quite puzzled by your explanation of interoperability. Not sure how
| you would ever get from the "same topic map document (and possibly
| schema/query) with the same topic map implementation" to an
| inconsistent result?

With the current specifications you can be pretty much guaranteed that
this is what will happen. As long as you only use the main features in
the most obvious ways you are likely to be fine, but once you stray
beyond those you will get different results on different

This is why the SAM was developed.

| Not trying to be difficult but if you did, wouldn't that be a
| programming error in the application? 

Not as things stand now (with ISO 13250:2002 and XTM 1.0). Those
specifications are so loose that implementations are bound to do
things differently. It's difficult to understand just *how* difficult
it is to achieve interoperability if you don't actually have
experience with different implementations of the same specification.

Interoperability is a near-miracle, actually, and achieving it is very
very difficult. Just doing the SAM, XTM, and HyTM will *not* be
enough. We will also have to create a conformance test suite, but you
can't build one on ISO 13250:2002 and XTM 1.0 is they are nowhere near
stringent enough.

N0393 has the same problem as ISO 13250:2002 and XTM 1.0.

| Assuming identical starting conditions I really don't see how you
| would get different results. A parser that starts with identical
| starting conditions and rules, assuming there is not some random
| function in the code, should produce the same result, shouldn't it?

Only if the specification is very tight and specific and the developer
worked very hard on following it to the letter. Even with XML, which
is just a syntax specification, and a rather simple one at that, this
was very hard. I know, because I've done it.

You may find this article to be of interest:
<URL: http://www.xml.com/pub/a/2000/05/10/conformance/conformance.html >

The gist of it is that of the parsers tested only two were conformant,
and even those did not produce the same result on all the test cases
because the XML 1.0 Recommendation 1st edition was too vague. (I know
of several places where I screwed up because I interpreted the 1st
edition in the wrong way. The 2nd edition was much better.)

I can only repeat what I wrote: achieving interoperability is so
astoundingly difficult that you basically have to screw it up a couple
of times before you realize how hard it is.
| A less technical question would be is that same result
| "interoperability?" Sounds more like consistency (conformance?) or
| some similar term.

I would say that interoperability is the result of conformance to a
specification, provided that specification is sufficiently stringent.
If the specification is not tight enough you can conform to it without
achieving interoperability, which is where we stand right now.

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