Interoperability and Vagueness
Interoperability is a very important buzzword that is
one of the primary motivators for the SUO and related
projects. But I recently had an offline discussion,
which indicated that we don't really have a clear
definition of interoperability or any agreed criteria
for what it would mean for systems to be interoperable.
Following is a definition by my Off-Line correspondent:
OL> As I use it, "interoperability" is a probabilistic
> measure of the likelihood of two computer systems
> reaching contradictory conclusions from the same data.
> The lower the number is, the more interoperable two
> systems are. The number can probably never reach 0,
> because different programmers can defeat the intentions
> of the ontologist by (deliberately or inadvertently)
> changing the intended logic of the system. As a general
> rule, I expect that (on average) any two systems using 98%
> of consistent assertions will have less chance of reaching
> a contradiction than two systems using only 90% of consistent
> assertions. This is an expectation that would need to be
> tested by experiment.
Taken out of context, those numbers mean nothing. In practice,
interoperability is always determined by some application or
collection of applications that must intercommunicate. The
following definition comes from _The Free On-line Dictionary
The ability of software and hardware on multiple machines
from multiple vendors to communicate.
A lot more could be said, but this is a typically vague definition
as found in most dictionaries. WordNet gives the following:
n : (computer science) the ability to exchange and use
information (usually in a large heterogeneous network made up
of several local area networks)
Neither of these two definitions is provably consistent with
the other or with the Off-Line definition. Both of them,
however, are consistent with the vague claim that nearly all
modern computer hardware and software systems are interoperable
as servers and/or clients on the WWW. But it would be very hard
to find any two computer systems that came even close to being
90% "consistent" in their hardware and software. Every patch or
update to any software makes it inconsistent with the previous
system, and any version of Unix, Linux, Mac OS, or Windows is
very, very different from every other. Yet somehow, for all
practical purposes, they muddle through.
I'm using this example as an illustration of four fundamental
points: (1) vague definitions are what everybody uses for most
purposes, even for computer system design; (2) attempts to make
those definitions precise usually make them inapplicable to
the cases where they would normally be used; (3) very precise
definitions are often impossible to use in practice because
there are no good methods for gathering sufficient data to
determine whether or not the definition applies; and (4) even
when the applicability of a precise definition can be determined,
it often ends up excluding large numbers of cases that most
users would like to include.
See the excerpt at the end of this note for further discussion
of vagueness and why vagueness is more often good than bad.
OL> All physical phenomena are indeed logically consistent with all
> other phenomena. If two theories assert measurably different
> things about a physical system, one or both of them is wrong....
The fist sentence is true, but the second one is false. It
all depends on the application and level of precision required.
For macroscopic objects moving on earth, Newtonian mechanics
is perfectly adequate, even though it is "measurably different"
with sufficiently precise measurements.
OL> Is it true that mathematicians are comfortable with conflicting
Of course. They just don't use them at the same time. They can
use Newtonian mechanics for one problem, and relativistic mechanics
for another. They do that constantly.
JS> The laws of Texas are inconsistent with the laws of
> Louisiana. So what?
OL> As I view it, the laws of Texas are completely consistent with
> the laws of Louisiana...
Wrong! No country, state, or city ever has consistent laws even
within its own jurisdiction. That's why we need judges and juries.
OL> ... the laws of Texas assert what is legal in
> Texas, and the laws of Louisiana assert what is legal in Louisiana,
> and there is no logical overlap -- unless they have conflicting
> jurisdictional claims, and that is a very important point for
> realistic ontologies. Each belief system has to be represented
> as a context or microtheory in itself (belief systems are one of
> the legitimate uses of microtheories that I referred to before).
Right! You need different theories for different times, different
places, different people, different points of view, different
applications, etc., etc. We don't even have an ontology that
classifies all the possible ways in which any given ontology
might be inapplicable.
Lawyers have been working on the problem of making laws consistent
for centuries and they haven't succeeded. By what miracle could
you possibly expect anyone to create a large consistent ontology?
OL> I am arguing that we should aim to maximize the size of the
> default theory wherever it appears possible, and not proliferate
> microtheories without making some effort to determine whether
> they are consistent with the default theory, or, if not, whether
> they are consistent with other microtheories.
I like defaults, and I think that Apple has succeeded much better
than Microsoft in defining good defaults. But the number of
tunable parameters in any operating system is enormous, and
people are constantly asking for more options.
Once you agree that we need defaults and options, you have conceded
the argument: We will never have a one-size fits all ontology for
anything having to do with computer systems. Case closed.
OL> There is good reason to aggregate sets of concepts and assertions
> into contexts that can be viewed and developed independently and
> broken out for use in specialized applications. This can help
> ease development of the ontology and minimize complexity in use.
> But such contexts do not have to be logically isolated from each
> other. If they are maintained within a default theory that is
> internally consistent, one can expect that different applications,
> using different parts of the default theory, will not generate
> inferences that are contradictory to each other from the same data.
That's what I've been saying for years: You need a lattice
of theories, with very general, underspecified ones higher up,
and more specialized ones lower down. Depending on which options
you need or want, you specialize the general theory by adding
the options (axioms) you need. You can have clusters of options
for servers, SOHO, game playing, etc. Two systems that need
to interoperate specify the options they require. The major
task for the SUO is to define a good framework for defining
and managing the options.
From an unpublished MS by John Sowa:
A critical issue for ontology is the reconciliation of Frege's
assumption of rigid definitions with Peirce's recognition that "meanings
grow" — every sign or symbol that may begin with single, narrow
definition acquires new meanings and implications as human experience
and ways of using the symbol grow. The growth of meaning is just as
critical for specialized terms in science and engineering as for the
common terms of everyday life. A century ago, the word automobile was
synonymous with horseless carriage, but today it refers to metallic
cabins with more computing power than a supercomputer of the 1980s.
Scientific terms like number, energy, and atom have undergone major
shifts during the last century with developments in mathematics and
physics. In computer science, terms like character string and assignment
statement develop new meanings with changes in hardware, software, and
applications. The words of the U.S. Constitution have remained unchanged
for over two centuries, but their meanings have changed with
developments in society, technology, and court decisions.
The growth of meaning makes it impossible to define a fixed set of
ontological categories that would be suitable for old applications as
well as new. Some people have hoped to find a fixed "upper level" of
categories that might be resistant to change. Yet the more general
categories are the most sensitive to "paradigm shifts" in science. Every
one of Aristotle's top ten categories has undergone profound shifts in
meaning, especially during the last century. The category of Substance,
for example, shifts with every new discovery in physics. The categories
of Place and Time shifted with discoveries in relativity and quantum
mechanics, and they are still at the forefront of research. Quantity,
Quality, and Causality shift with every new discovery, paradigm, or
fashion in mathematics, physics, and philosophy.
The most stable words are not the precisely defined terms of science,
but the informal, vague, loosely defined words of everyday life, which
change slowly over centuries. The informal words are like wooden houses,
which creak and bend in an earthquake but remain standing, while rigid
buildings made of stone and concrete break and crash. Peirce remarked
that it is "easy to be certain. One has only to be sufficiently vague"
(CP 4.237). The vague statement "It's warm in here" is more likely to be
true than the more precise statement "The temperature is 29.3 degrees
Celsius." The statement "It's comfortable in here" may be true for one
person and false for another; even for one, the temperature may be
pleasant, but the chairs may be hard. Vague statements, which may be
adequate for human agreement, are insufficient for computer design: a
program is never vague, but what it does so precisely may be very
different from what people expect.
After analyzing many examples of the way word senses vary according to
context, Cruse (2000) concludes "there is no such thing as 'the meaning
of a word' in isolation from particular contexts: decontextualization
of meaning is variable, and in principle, always incomplete. In other
words, lexical meanings are irreducibly complex. I am similarly
pessimistic about the possibility of representing meaning by prototypes:
what would seem to be called for is an indefinitely large set of
Cruse, D. Alan (2000) "Aspects of the micro-structure of word meanings,"
in Y. Ravin & Claudia Leacock, eds. (2000) Polysemy: _Theoretical and
Computational Approaches_, Oxford University Press, Oxford, pp. 30-51.