[Top] [All Lists]

Re: [ontolog-forum] How not to write specifications

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Patrick Cassidy" <pat@xxxxxxxxx>
Date: Wed, 2 Jul 2008 00:34:18 -0400
Message-id: <00f601c8dbfc$e48b8710$ada29530$@com>
> What makes Apple's OS X more intelligible, efficient, and robust
> than Vista is the fundamental principle at the core of Unix from
> day 1:  modularity.
>     (01)

   The same principle is what I have suggested for a foundation ontology
that could be widely accepted, if developed in a fully open manner by a
representative sample of ontology developers and users.  The 'kernel' would
be the 'conceptual defining vocabulary' ('defining' is only an analogy to
human dictionaries, not a mathematical 'definition').  It is kept as small
as possible by finding the set of primitive concepts necessary and
sufficient to specify the meanings of all specialized concepts, as
combinations of the primitives.  The size of such a minimal inventory of
primitives needs to be determined by experiment - starting with a plausible
core, and seeing how well that serves to specify meanings of things people
use in application.  But there is what I consider strong suggestive evidence
from work done in the late 1980's by Cheng-ming Guo, with Yorick Wilks
(references below).  He analyzed the Longman defining vocabulary of 2100
words and concluded that in fact there were only 1400 that could not
themselves be defined (lexicographically) by use of the basic 1400.  He
concluded that these words corresponded to about 3280 senses, on which
definitions of any other word can be 'grounded'.  This suggests a starting
point for experiments to test the same principle with ontologies and logical
specifications rather than words and dictionary definitions.
   The function of the foundation ontology would then be to serve as the
'interlingua' into which knowledge from any application could be converted
and reused by any other application.  This will permit a very high level of
modularity, requiring only that local knowledge be convertible in to the
common "defining" language of the foundation ontology.  Keeping the
foundation ontology small will make it easier for people to learn it and use
   There are other considerations that would have to be taken into account
to improve the likelihood of wide adoption, such as the development of a
good natural-language interface. In fact I think that would be essential to
success of this tactic.  But the chances of wide adoption are slim unless
some way can be found to get funding that can support a team of **at least
50** people half-time to hammer out the basic structure.  I also think that
such a project would stall unless all logically compatible alternative
representations desired by different groups were allowed, with translations
('bridging axioms') to convert each to the other.
   I am currently working to develop a starting foundation ontology of that
type, beginning with an OWL representation of the 2100 Longman defining
words.  This will need to be supplemented with rules and converted into an
FOL representation to achieve the expressiveness required to serve as a true
basis for translation of knowledge expressed in many different ways.  This
first step to complete just the OWL version will still take at least four
   That is the kind of modularity that I envision that will succeed in
providing the functionality of an ontology, for many different purposes, and
permit the transfer of knowledge among modules.  Then modules can be mixed
and matched with an efficient means for the modules to communicate their
results to each other.
    Existing upper ontologies were not (1) structured as conceptual defining
vocabularies; (2) fully open to alternative logically consistent elements
from any source; (3) tested for functionality by requiring that they support
an effective natural-language interface, exposed to the public; (4) funded
in a way that permits input from the many different communities that are
working on knowledge representation.  However competent they may be
internally, I think that broad usability will require all of the above, and
such a project has not yet been funded.  So the question of whether such an
approach will work is yet to be answered.
   One would suppose that building such modularity for an operating system
would be a lot easier, since the number of fundamental elements (bytes,
numbers, strings, communication ports, permissions, etc) are a lot fewer
than in a human language.  So your conclusion that Microsoft blew it seems
well justified.    (02)

Pat    (03)

Patrick Cassidy
cell: 908-565-4053
cassidy@xxxxxxxxx    (04)

References to Guo's work with the Longman:    (05)

Guo, Cheng-ming (1989)  Constructing a machine-tractable dictionary from
"Longman Dictionary of Contemporary English"  (Ph. D. Thesis), New Mexico
State University.    (06)

Guo, Cheng-ming (editor) Machine Tractable Dictionaries: Design and
Construction,  Ablex Publishing Co., Norwood NJ (1995)    (07)

Yorick Wilks, Brian Slator, and Louise Guthrie, Electric Words:
Dictionaries, Computers, and Meanings, MIT Press, Cambridge Mass (1996).    (08)

> -----Original Message-----
> From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-
> bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F. Sowa
> Sent: Tuesday, July 01, 2008 10:07 AM
> To: [ontolog-forum]
> Subject: [ontolog-forum] How not to write specifications
> In response to legal requirements by various governments and the EU,
> Microsoft has released a massive dump of protocols, binary file
> formats, and other specifications for Windows Vista (including the
> .NET Framework), Windows Server 2008, SQL Server 2008, Office 2007,
> Exchange Server 2007, and Office SharePoint Server 2007:
> http://www.microsoft.com/presspass/press/2008/jun08/06-
> 30InteropUpdatePR.mspx
> That's the good news.  The bad news is that people who have looked
> at this dump have summarized the results in one pithy observation:
>     In order to understand any of it, you must understand *all* of it.
> Another comment is that the complexity of this dump makes the
> successful
> reverse engineering by open-source developers seem like a miracle.  In
> fact, there are reports that Microsoft employees read the open source
> documentation in order to understand the products they're working on.
> This complexity explains how Microsoft managed to spend more money on
> developing Vista than NASA spent on the Apollo mission to the moon.
> It also explains how Apple, with a fraction of the resources of MSFT,
> was able to produce a more stable, more efficient, more secure OS
> that also provides more functionality and a better user interface.
> The moral of this story is that writing complete specifications
> cannot, by itself, make a system intelligible.  Furthermore, the
> task of rewriting those spec's in a formal language, by itself,
> will do nothing to make them more intelligible.
> What makes Apple's OS X more intelligible, efficient, and robust
> than Vista is the fundamental principle at the core of Unix from
> day 1:  modularity.
> The original NT, which was based on the same foundation as OS/2,
> was very modular until version 3.5.  But for version 4.0, Bill Gates
> made an incredible blunder:  he edicted that the GUI interfaces for
> Windows had to be incorporated into the OS kernel.  That decision
> destroyed the modularity, increased the complexity of the kernel by
> many orders of magnitude, and enabled bugs in the GUI to crash the
> entire system.
> Modularity is essential for any large project of any kind,
> including formal ontologies.
> John Sowa
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-
> forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
>     (09)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (010)

<Prev in Thread] Current Thread [Next in Thread>