ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Musen's presentation & relations with "good" softwa

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Patrick Cassidy <pcassidy@xxxxxxxxxxxxxxxx>
Date: Sat, 11 Dec 2004 14:04:00 -0500
Message-id: <41BB44A0.6020909@xxxxxxxxxxxxxxxx>
I think that Nicolas is correct to point out the similarities between software 
engineering and computational ontology development.  Software, like ontologies, 
tries to abstract away from the complexity of the real world those parts that 
are susceptible to computation for practical purposes.  Ontologies try to 
capture much more of the detail than traditional software.
    One difference -- not the only difference -- is in the level of complexity. 
   What computational ontologists have to deal with when they concern 
themselves 
with transmission of information between computers is the greater internal 
complexity of the data units transmitted.  The greater complexity makes it more 
difficult to come to agreement as to how to structure the data forms that are 
intended to model specific real-world things.
    I think that in traditional software development, the "upper ontology" is 
small enough and simple enough to make agreement easier -- strings, numbers, 
pointers, binary logic, etc.  It's much easier to disagree about modeling 
people.
    But I also think that if programmers are going to be able to use ontologies 
to their full potential, **using** an ontology will have to become as easy as 
using an object-oriented programming language like Java.  This may sound 
impossible, but the greater detail of meaning in an ontology will provide tool 
developers with a greater capability to help manage the complexity.  Doug 
Lenat's vision was to get enough knowledge into the computer to have the 
computer do most of the task of acquiring knowledge.  He claims to be only 
slightly behind schedule on that.  One can be skeptical of his claims for 
success, while still agreeing that that guiding idea is probably correct.    (01)

   There is enough of a difference between the inheritance character of classes 
in Java and in a logic-based ontology, that an ontology is probably going to be 
a lot more than just some object-oriented language on steroids.  But I agree 
that there is enough similarity that it is worthwhile looking for analogies 
that 
can help guide us in trying to make computational ontologies easy to use.  The 
same basic imperatives in managing complexity that make object-oriented 
languages useful are at work in making ontologies essential for reasoning about 
complicated concepts.    (02)

     Pat
===================================    (03)

Nicolas F Rouquette wrote:    (04)

> In Mark Musen's presentation on the ontolog forum,
> 
> http://ontolog.cim3.net/cgi-bin/wiki.pl/wiki.pl?ConferenceCall_2004_12_09
> 
> Mark mentioned that NCI has an elaborate change management process to deal
> with the complexity of lots of changes made in a distributed fashion. 
> The rationale
> here is understandable in terms of minimizing the negative impacts of 
> propagating
> changes that might conflict with somebody's particular use of the ontology.
> 
> Notwithstanding the proprietary factors involved in NCI's dependence on 
> a commercial tool,
> this problem seems to beg to ask whether the NCI ontology has a way of 
> describing a number
> of generic software notions such as:
> 
> 1) scope
> 
> e.g., someone's limited use of a subset of the larger ontology
> (akin to the concept of modularity in component-oriented software 
> architecture
> 
> 2) contract
> 
> e.g., the nature of the inferences, classifications and reasoning that 
> someone's use of a particular scope
> of the ontology either
> 
> -- depends on in the sense of middle / upper ontology partial dependency 
> ordering
> 
> (akin to the concept of required interface in component-oriented 
> software architecture)
> 
> or
> 
> -- provides to others in the sense of lower / middle partial subsumption 
> ordering
> 
> 3) extension point
> 
> e.g., the classes intended for "use" via subclassing (as in 
> refinement-based specialization) or instantition (as in reification for 
> disjoint ontology development)
> 
> (akin to the concept of aspect & subject oriented development)
> 
> My hunch is that the similarity between "sound" software engineering 
> principles
> and "formal ontology" development is much stronger than one might 
> acknowledge.
> 
> Comments? Suggestions?
> 
> -- Nicolas.
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Subscribe/Unsubscribe/Config: 
> http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/ To Post: 
> mailto:ontolog-forum@xxxxxxxxxxxxxxxx
> 
>     (05)

-- 
=============================================
Patrick Cassidy    (06)

MICRA, Inc.                      || (908) 561-3416
735 Belvidere Ave.               || (908) 668-5252 (if no answer above)
Plainfield, NJ 07062-2054    (07)

internet:   cassidy@xxxxxxxxx
=============================================
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: 
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (08)

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