[sc34wg3] Re: Montreal meeting recommendations

Steven R. Newcomb sc34wg3@isotopicmaps.org
Fri, 14 Sep 2001 16:28:52 -0500


[Lars Marius:]
> Also, one question to SRN & MB that I personally have
> is: what is the purpose of the core model? What are
> its goals? Why is it being written?  I know the PMTM4
> document says something about this, but it's not
> obvious that this text necessarily applies to the new
> situation.  Enlightenment on this issue would be
> very much welcome.

I believe that at least one of the purposes of the core
model should be to protect investments in the creation,
implementation, and exploitation of:

  * instances of topic map documents / databases,

  * business models based on instances of topic maps
    or on the Topic Maps paradigm,

  * software that implements the Topic Maps paradigm, and

  * brands that are based on Topic Maps, that claim
    conformance to Topic Maps, and/or that contain the
    words "Topic Maps".

How does having a distinct "core" model protect these
investments?  It does this by giving the owners and
maintainers of such instances, businesses, software,
and brands room to adapt to changing conditions 

* without having to abandon conformance to the
  standard,

* without being justifiably accused of improperly using
  the "Topic Maps" brand name in connection with their
  products and services, 

  and, perhaps most importantly,

* without having to abandon the possibility of
  amalgamating knowledge that emanates from different
  sources, just because they don't all happen to use
  some particular set of "standard" association types.

Put another way, the purpose of having a core model is
to allow the Topic Maps paradigm and International
Standard to have "Applications" that are distinct from
the essential ("core") constraints and features that
are necessarily common to all topic maps.  The
relationship between the core model and all of its
possible "Applications" is analogous to the
relationship between the XML Recommendation and all of
the possible "Applications" of XML.  XML itself
constrains its Applications in certain ways, but only
in ways that enable all particular Applications to
exist.  This is the reason why XML is called, in ISO
jargon, an "enabling" standard, whereas any particular
XML Schema or XML DTD is a "constraining" standard that
partially defines an XML "Application".

Topic Maps, like XML, should be regarded and nurtured
as an "enabling" standard.  It should form a basis for
(i.e., "enable") the development and exploitation of
"constraining" standards.  The constraining standards
that are built on the Topic Maps paradigm, which I'm
here calling "Topic Maps Applications", should be
definable as

(1) sets of association types expressed as the
    subjects of topics (these topics may optionally be
    association templates), and

(2) optionally and additionally, if scope is used, as
    conventions for the use of scope.

If, in the Standard, we fail to distinguish between the
core notions of Topic Maps, on the one hand, and "Topic
Maps Applications", on the other hand, we will have to
constrain all conforming systems and instances to use
and support a specific Set of Association Types, and a
specific Doctrine for the Expression of Scope.  Anybody
who doesn't need or want these features, or whose
requirements include a deviant interpretation of what
constitutes a topic name or a topic occurrence, won't
be able to claim conformance.  Having concluded that
their application cannot conform to the "Topic Maps"
standard or paradigm, there will be nothing left for
them to conform to, and the opportunity for their
information to be amalgamated with other information
will probably be lost, even though that information,
like theirs, *could have conformed at least to the core
model*, which in any case would have greatly
facilitated the merging of these assets.

If people find the Topic Maps standard too
constraining, they won't use it, and the whole idea of
Topic Maps, or perhaps just the brand-name, "Topic
Maps", will ultimately be forgotten.  This will be a
bad outcome for those who have invested in the brand
name, "Topic Maps".  The purpose of any International
Standard is to provide a certain kind of protection for
certain kinds of investments.  If, however, the Topic
Maps brand name turns out to imply "conformance to the
Application-defining annoying straitjacket known as ISO
13250", then it will be ironic, unfair, and unjust that
those whose pioneering development investments
originally proved the concepts may not derive any
market advantage from them, and may even be
disadvantaged (!) in the marketplace by their previous
association with the Topic Maps brand.  Ugh.  We can
avoid this bad outcome by defining the essential nature
of Topic Maps separately from the Applications of that
essential nature, and by requiring that all
Applications be themselves defined in terms of that
essential nature -- the core model.  If we keep the
core separate from its Applications, then any kind of
worldview can become the basis of an Application.  A
separate core model gives Topic Maps the "Borg" [Star
Trek] advantage: "Resistance is futile.  You will be
assimilated."

It is neither unusual nor surprising that the whole
idea of topic maps as names, occurrences, and other
kinds of associations ultimately led, in the context of
the XTM work, to the discovery of an even higher level
of abstraction.  The distilled essence of topic maps
turned out to be associations (i.e., assertions of
relationships).  Names and occurrences turned out to be
two specific kinds of assertable relationships.  Names
and occurrences are still hugely important,
significant, and basic, both conceptually and
commercially, to practically everybody who uses Topic
Maps.  But because of the discovery of the ultimate
essence of what topic maps are, we're now free to avoid
the classic standardization error of weakening our
ability to adapt to changing conditions by making a
straitjacket for ourselves out of these two seminal but
application-specific ideas.

Another benefit of having a distinct core model is that
we, as individuals contributing to this committee
effort, don't have to fall on our swords if we can't
agree about the precise semantics of topic-basename or
topic-occurrence.  In our own private work, we can
still conform to the basic standard, and we can still
derive all of the basic benefits of conformance, even
if, for one reason or another, we can't conform to what
the standard turns out to say about how a basename (or
an occurrence) must be treated.  We can define our own
naming semantics, for example.  (This means, among many
other things, that those who have complained about the
Topic Naming Constraint can do what they think best,
and still accurately claim conformance to the ISO
standard.  Personally, though, I certainly hope that
the <name> element type in XTM syntax will still be
constrained to be parsed as a topic-basename assertion,
and that the semantics of topic-basename assertions
will still invoke the Topic Naming Constraint.)

So, what needs to happen?  Among other things, and in
no particular order:

* We should finalize the definition of the core model.
  It is worth noting that certain association templates
  must appear in the core model, including
  template-role-RPR, class-instance, and
  superclass-subclass, because these are needed in
  order to allow all Topic Maps Applications, including
  The Standard Application, to be defined.

* We should establish a set of association templates
  that collectively constitute "The Standard
  Application" of Topic Maps -- the application that is
  implied by the features currently present in the XTM
  and HyTime-based syntaxes.  Needless to say, these
  include topic-occurrence and topic-basename.  In
  order to do this, we really should establish an
  *enabling* standard for the expression of sets of
  association templates that is more convenient and
  intuitive than using XTM <association> elements whose
  template is template-role-RPR (this is still the only
  way we can do it in the current syntaxes, and I
  certainly agree with those who complain that it's
  inconvenient, non-intuitive, and ugly).  Maybe we
  should make small additions to each of the syntaxes
  in order to gain this convenience.  As I see it, the
  addition of such convenience features is completely
  consistent with existing practices in both syntaxes.
  After all, the XTM syntax, for example, already
  provides the <occurrence> element type, for example.
  In terms of the proposed core model, the only reason
  for the existence of the <occurrence> element type is
  to avoid the non-intuitiveness, inconvenience and
  ugliness of using <association> elements whose
  template is topic-occurrence, in order to say exactly
  the same thing.

* We should seek to define and establish a constraining
  "Standard Doctrine for the Expression of Scope".
  Incidentally, we should investigate the
  possibility/practicality of establishing an
  *enabling* standard for the expression of
  *constraining* "Doctrines for the Expression of
  Scope", of which the "Standard Doctrine for the
  Expression of Scope" would then become a shining
  example.  Personally, I think WG3 has a lot of
  requirements gathering and design work to do here.
  (To me, this looks like the richest unplowed field --
  perhaps even richer than TMQL and TMCL.)

Let's return to the question, "What constitutes an
*Application* of the core model?"  Again, I believe the
answer is, fundamentally:

(1) some set of association types, each of which is
    optionally provided with constraints expressed in
    the form of an association template, and

(2) if scope is used, some doctrine for the expression
    of scope.

What is an "association type"?  First of all, it's the
subject of a topic.  We don't constrain the expression
of subjects, nor should we.  However, I think we really
must insist that, at least in the normative text of The
Standard Application, the expression of each
association type must comprehensively describe all of
the application semantics that are implied by any
instance of such an association.  For example, in the
case of the topic-basename association type, all of the
expectations surrounding topic namespaces and the Topic
Naming Constraint, among other things, must be fully
expounded.  (Yes, the Topic Naming Constraint is not
part of the core.  It's really something that is
inherent only in the topic-basename association type,
which should be part of The (optional) Standard
Application.)

Each Topic Maps Application may optionally also define
an interchange syntax.  If it does, there must also be
a Parsing Model for that syntax that rigorously
specifies how that syntax must be understood in terms
of the core model.  Obviously, the ISO standard needs a
Parsing Model for each of its standard syntaxes (both
the XTM and HyTime-based syntaxes).

(Interestingly, some specialized Topic Maps
Applications may use syntaxes designed to facilitate
the expression not only of some set of association
types, as the XTM and HyTime-based syntaxes do, but
also for expressing constellations of scoping topics in
keeping with some particular Doctrine for the
Expression of Scope.  We don't have to worry about such
niceties in the International Standard, but it seems
likely that verticals will find interesting
opportunities in this area, as will TopicMaps.Org.)

Each application may optionally also define an API,
and/or a Property Set, and/or a UML model, etc.  I
think it would be great if we could provide The
Standard Application with ALL of these things.

To return to the original question, "What is the
purpose of the core model?"  Here's another way of
putting my answer:

  The purpose of the core model is an essential aspect
  of the task of extending to the general public the
  franchise of creating constraining Topic Maps
  Applications.

-Steve

--
Steven R. Newcomb, Consultant
srn@coolheads.com

voice: +1 972 359 8160
fax:   +1 972 359 0270

1527 Northaven Drive
Allen, Texas 75002-1648 USA