[Top] [All Lists]

Re: [ontolog-forum] Hierarchy of Types in the Fortress language

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Mon, 19 May 2008 11:09:57 -0400
Message-id: <48319845.2060300@xxxxxxxxxxx>
Paola,    (01)

It's not a thorny issue.  The facts are very clear.    (02)

PDM> thanks for opening up a possibly thorny issue    (03)

JFS>> Bottom line:  If good programming practices can support
 >> full multiple inheritance, there is no justification for
 >> an ontology that does not support multiple inheritance.    (04)

The problems that many people have observed with multiple
inheritance are no worse than the problems that occur even
with single inheritance:  Many people think they can define
a type hierarchy just by drawing a bunch of lines in a diagram.    (05)

Fundamental principle:  The paths through a type hierarchy are
implied by the type definitions.  They are not things that can
be defined independently by some programmer or knowledge engineer.
This fact was the foundation for Aristotle's syllogisms, and
Leibniz observed that it automatically leads to multiple
inheritance (except in the most trivial cases).    (06)

We have all seen numerous horrible examples of type hierarchies
that people created by drawing lines.  They result in very badly
designed programs and ontologies, even with single inheritance.
The solution is simple:    (07)

    Use automated means to derive the type hierarchy from the
    definitions.  This method is suitable for ontologies and
    for object-oriented programming systems.  Such a derivation
    *guarantees* consistency.    (08)

And the result of the automated methods is multiple inheritance.    (09)

John    (010)

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

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