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)
|