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: Thu, 24 Jul 2008 10:41:35 +0100
Message-id: <48884E4F.9070405@xxxxxxxxxxxxxxx>
Hi Patrick,    (01)

That looks great! I've pulled it up in TopBraid Composer which gives a 
good view of the relationships between things, and it seems the network 
of relationships makes it easy to unambiguously identify something.    (02)

I've used a lot of multiple inheritance to pin down meanings, but not 
nearly as much as you have. Also I have used John's categories of First 
Order, Second Order and Third Order Thing, continuous versus Occurrent, 
Abstract v Concrete and applied them to almost everything at the top 
level (nothing is just a Thing). That left things like parts, sets, 
groups, substances and commodities which I see you've addressed quite 
rigorously (I may use your commodities structure for commodities trading 
terms).    (03)

I've just about finished the first iteration financial services model, 
after which I'll review and try to align (and share) the upper ontology. 
In order to capture the meanings and relationships of items in the 
financial securities world I've had to do a rough upper ontology for 
each of geography, finance, maths, legal, time, information and process. 
I expect to be able to align / replace the financial part with the REA 
material. Incidentally the financial world recognises such a thing as a 
Legal Entity (as distinct from Legal Agent which would be a second order 
Thing) so my structure in that area is necessarily different from COSMO. 
This is a hot topic in financial services right now so that part of my 
model may change.    (04)

One comment: I defined Role as a particular kind of Object Property 
(relating an Actor to an Activity) and derived all Roles from that, 
rather than using a Class. I think this was in line with what I saw in 
some other examples. Incidentally the role of a Party in a contract, 
transaction, loan etc. is not quite the same so I've called it a Part 
(as in the Marx Brothers' "Party of the first Part"). Party and Actor 
are defined as second order Things, with an identification relationship 
to a First Order Thing.    (05)

Many thanks!    (06)

Mike Bennett    (07)

Patrick Cassidy wrote:    (08)

>Mike,
>  The current version of the COSMO ontology is available at
>http://micra.com/COSMO, which has the OWL ontology and a WinWord file with a
>discussion of the ontology.  This version has over 5000 types (classes), but
>as yet has been supplemented with the Longman vocabulary words only up to
>the E's.  So it needs months of work yet to get to the point where it can be
>tested.  The OWL file can be viewed conveniently in Protégé.
>
>   The process you describe for building your ontology seems reasonable.
>For specialized purposes, elements from existing ontologies can often be
>reused so as to minimize effort, but it is necessary to use a whole
>foundation ontology only when one wants one's application to interoperate
>with another ontology built from the same foundation.  Unfortunately, there
>is as yet no foundation ontology that has a consensus and a wide user base
>that makes it an obvious choice.
>
>  If you find anything in the COSMO that fits your purposes, do feel free to
>use it.  If you need any elaboration, don't hesitate to get in touch - I'll
>try to help as best I can.  If you see anything that looks questionable, or
>basic concepts that appear to be missing, I'd like to know about that too.
>
>Pat
> 
>Patrick Cassidy
>MICRA, Inc.
>908-561-3416
>cell: 908-565-4053
>cassidy@xxxxxxxxx
>
>
>  
>
>>-----Original Message-----
>>From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-
>>bounces@xxxxxxxxxxxxxxxx] On Behalf Of Mike Bennett
>>Sent: Monday, July 14, 2008 7:40 AM
>>To: [ontolog-forum]
>>Subject: Re: [ontolog-forum] How not to write specifications
>>
>>Patrick,
>>
>>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.
>>
>>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.
>>
>>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.
>>
>>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.
>>
>>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.
>>
>>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.
>>
>>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.
>>
>>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.
>>
>>Regards,
>>
>>Mike Bennett
>>
>>Patrick Cassidy wrote:
>>
>>    
>>
>>>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
>>>
>>>
>>>
>>>
>>>      
>>>
>>_________________________________________________________________
>>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
> 
>
>  
>    (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>