[sc34wg3] comment on RM: constraints on implementations

Lars Marius Garshol sc34wg3@isotopicmaps.org
29 Jan 2003 21:30:19 +0100


* Steven R. Newcomb
| 
| Here are some ideas about how to be more specific about what it
| means for software to be RM-conformant.

I'm very happy to see this posting. It's the most substantive
information we've seen on just what the RM actually does to date, and
so is welcome in the extreme. This speaks directly to all the worries
I've had about the RM and its relationship to SAM/XTM/HyTM/TMCL/TMQL
as well as TM software.

I have to say I am impressed by this proposal. Suddenly a picture of
what the RM may do is beginning to form, and while it is not entirely
clear to me what I can grasp so far seems to make sense. This is
easily the best technical news I've had in a long time. I don't think
these constraints are perfect, but this I think we can make work.

I see that this is marked up as a comment on section 7.3 of the RM,
but to me it seems to have consequences for all of section 7. It seems
to require a rewrite of that entire section. Is this how it's intended?

One difficulty in reading this proposal was the use of the terms
"subject" and "proxy". I'm not entirely clear on which of these
interpretations is correct:

  subject                          proxy
  ----------------                 ---------------
  subject (13250 sense)            node (RM), item (infoset), ...
  node (RM), item (infoset), ...   XML element


Below I'll play back my interpretation of this proposal as best I
understand it. I'm unlikely to have understood everything correctly,
so please correct me where I err.

It seems that there are three things that may conform to the RM:

 a) software,
 b) specifications of models, and
 c) syntaxes.

I'll deal with each of these in turn.


Software conforms to the RM if it implements an RM-conformant model in
a way that conforms to that model, and, additionally, if its
implementation of syntactical representations of that model conform to
the specifications of those syntaxes.

The proposal posted by SRN phrases this slightly differently, in that
it speaks about constraints on how RM-conforming software may export
information into what it calls topic map syntaxes. It seems a little
strange to me to do it this way, because that seems to imply that the
software may either conform to just the specification of that syntax,
or it may conform to the syntax + the RM. 

This seems a little messy in that the RM then reaches in and adds
additional constraints on implementations of a syntax which may have
no normative references to the RM, and also in that it's not clear
that having software conform to the RM (beyond conforming to the
syntax spec) has any value unless the syntax spec is designed to
actually follow the same constraints. (That is, sure, this software
may provide more consistent information, but if the syntax is not
designed in a way that allows you to make use of that consistency that
doesn't seem like a big win.)

In short, a syntax needs to have a single definition. 

So it seems to me better to have conformance apply to models and
syntaxes representing those models, and then leave for them specify
how software is to behave.


The constraints placed on models were harder to work out, but the
summary seems to be that it must be possible to impose an
RM-consistent view on the models, which seems to me like a good way to
formulate this. It means the models can be specified according to many
different world-views and still be judged using the RM.

The constraints on seem to be as follows (I'm assuming the first of
the two interpretations given in the table above):

 - proxies for subjects must either
   - support being role players, (and if so,
     - be capable of participating in any assertions not restricted by
       the model (3b),
     - have a well-defined equality rule (3c)

   - not support being role players, in which case I can't see any
     constraints on them. (Did I miss something?)

In addition come the constraints in 3f, which I must confess I don't
fully understand. They seem reasonable, but more explanation of them
would be welcome.

One thing worthy of note is that it seems to me that these constraints
are somewhat tautological if the mapping from the models to be tested
for conformance to the RM are left unspecified. In that case it seems
to me that for *any* model whatsoever it will be possible to create a
mapping that produces a conforming model.

For example, I think you could do this for XML, RDF, and the SAM.
However, the model for XML would wind up looking rather silly, I
think, while the ones for RDF and the SAM would make sense, and show
what freedom you have and do not have to speak about various pieces in
the models.

This raises the question of whether the purpose of the constraints on
models in the RM is to actually constrain the form of information
models, *or* whether it actually is to lay down the rules for how
mappings may be constructed, in order to ensure that a mapping is not
misleading. I don't know the answer, but would be interested to hear
it. 


As far as I can see there are also constraints on the syntactical
expressions of RM-conforming models; that is, constraints on the
specifications of the syntaxes of RM-conforming models.

This is, as far as I understand:

 - subjects whose proxies cannot be role players are not allowed to
   have syntactical proxies (3a).

As far as I can make out this is the whole of it. I am a little
uncertain as to what this means in practice. Clearly any value in the
model must have *some* syntactical representation, otherwise
information will be lost in the syntax. So whether this constraint is
actually saying something I am not sure.

To be honest I am not sure of what worth constraints on syntaxes are,
since presumably the syntaxes accurately reflect the models they were
created to represent. If not, they were badly designed, and all the RM
conformance stamp can add is something to the effect that "this syntax
was well designed". That may be better left to those creating syntaxes
to work out for themselves.


Some additional comments that don't fit anywhere else:

 - 3d seems to not actually say anything. Either the software follows
   the syntax specification or it does not, in either case the syntax
   specification will catch any violations. This clause doesn't appear
   to say anything beyond that failure to conform to, say, the RDF
   model and the RDF/XML syntax is also failure to conform to the RM.

 - the word "topic maps syntaxes" is used here, but I'm not sure that
   is wise. Isn't the RM supposed also to apply to RDF and similar
   standards? Using such language seems to rule that out, which would
   then be inviting misunderstandings.


Finally, there is the issue of how the RM relates to languages built
on top of the model, such as TMCL and TMQL. As far as I can make out
from this the RM relates to the model on which these are built (in our
case the SAM), and that's that. The consistency of the underlying
model with the RM basically ensures that the higher levels do what
they are supposed to. Did I understand that correctly?


I'm sorry this response wound up being so long and complex. I tried
being short and clear, but couldn't do any better. I also know there
is more I want to say, but I lost track of some of my thoughts while
editing and others I couldn't formulate and/or work in. No doubt
they'll come back later.

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