ontolog-forum
[Top] [All Lists]

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

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Mike Bennett <mbennett@xxxxxxxxxxxxxxx>
Date: Mon, 14 Jul 2008 12:40:26 +0100
Message-id: <487B3B2A.90501@xxxxxxxxxxxxxxx>
Patrick,    (01)

That's very interesting. I have been working on an ontology for 
financial securities, and my first instinct was to create a set of high 
level "Things" from which the more specialised versions that inhabit the 
securities world could be derived. For example a security is a special 
kind of contract. It made immediate sense to put these in different 
packages or modules.    (02)

At the top I have used the first layer of John's KR ontology, as the use 
of first and second order things helps resolve a lot of the problems 
that have been plaguing the world of financial definitions (e.g. Parties 
versus Legal Entities). Similarly the third order gives context. 
Continuant versus Occurrent allows one to model events, processes and 
activities alongside continuant things. And so on.    (03)

Then I figured that for each of these high level Things there would be a 
kind of syntax - e.g. a Contract always has two principal Parties. These 
soon mushroomed into a full set of grammars for those high level types. 
It makes sense to have them in separate packages (legal, financial and 
so on). I would have liked to use the existing upper ontologies like 
SUMO but these do not use John's top level distinctions, so I would only 
use them as a checklist of classes. As I mentioned in a recent 
teleconference, I intend to replace the accounting / financial stuff 
with Bill McCarthy's REA ontology. Like Bill I have started to refer to 
these high level types of Thing as Archetypes - they are not stereotypes 
as they would be in UML because they are also part of the model content.    (04)

I should add that my stuff is all very untidy and provisional at the 
moment. I have a commitment to provide views that naive business people 
can interpret without training, which means outputting the material as 
simple diagrams and tables, and for this I have done the whole thing in 
OWL extensions to UML (using stereotypes for the archetypes, which are 
also by convention OWL Classes, Object Properties etc.). However at 
present it is a little too untidy to show around. The UML tool I use 
also lets me have a toolbar for each modular set of archetypes, creating 
an editing environment for the ontology material itself.    (05)

I would be interested in seeing what you are doing and whether I can 
replace or align my high level stuff with some of this. As it is I 
realise I need to review and streamline the relationship (Object 
Property) archetypes at some point as they are all over the place. I 
would want to sub-class them from very general kinds of verb and 
relationship.    (06)

I've been promising people that as soon as it is readable enough to 
share I would want to share it with other ontology practitioners. I am 
very much a "business" user of all this, so I have a lot to learn on the 
theoretical side but a very clear idea of how this needs to be presented 
to business.    (07)

I have not given a lot of thought to the interaction of the different 
modular parts, I think this is a very important idea which I need to 
think about. The lesson from OO and from this thread would be that the 
interfaces are important. What does that mean in an ontology model? I am 
not a fan of the approach of importing an ontology and putting 
OWL:SameAs relationships all over the place. I totally agree that a top 
level, structured and modular ontology would be the way to go. There is 
nothing in OWL for all this at present, as I understand it.    (08)

One of my packages is a "Core" set but this is very fluid and will 
remain so until I have substantially completed the main model content, 
as this throws up necessary changes to the grammars. So I have not 
mapped the package dependencies as yet.    (09)

Regards,    (010)

Mike Bennett    (011)

Patrick Cassidy wrote:    (012)

>John,
>RE: 
>[JS]  
>  
>
>>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 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
>it.
>   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
>months.
>   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.
>
>Pat
>
>Patrick Cassidy
>MICRA, Inc.
>908-561-3416
>cell: 908-565-4053
>cassidy@xxxxxxxxx
>
>References to Guo's work with the Longman:
>
>Guo, Cheng-ming (1989)  Constructing a machine-tractable dictionary from
>"Longman Dictionary of Contemporary English"  (Ph. D. Thesis), New Mexico
>State University.
>
>Guo, Cheng-ming (editor) Machine Tractable Dictionaries: Design and
>Construction,  Ablex Publishing Co., Norwood NJ (1995)
>
>Yorick Wilks, Brian Slator, and Louise Guthrie, Electric Words:
>Dictionaries, Computers, and Meanings, MIT Press, Cambridge Mass (1996).
>
>
>  
>
>>-----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
>>
>>    
>>
>
> 
>_________________________________________________________________
>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
> 
>
>  
>    (013)


_________________________________________________________________
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    (014)

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