ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Universal and categories in BFO & DOLCE

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Rich Cooper" <rich@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 7 Sep 2011 09:31:17 -0700
Message-id: <8DFE9F122E3441AC9133E59CFAC0C039@Gateway>
Dear John,    (01)

Generalization removes a property or method from
the old type to create a new type, while
specialization adds a property or method to the
old type to create the new type, by definition.
As a result of strict application of these
definitions, the result is a hierarchy by
construction.      (02)

Perhaps INFO and DOLCE only offer such well formed
instances (I am not familiar with either), as many
programming languages (Delphi) also restrict type
constructors to only have singular inheritance
which avoids the very possibility of introducing
consistency errors.      (03)

But what about languages with multiple inheritance
(C++ etc) where the new type is a combination of
old type properties and methods, given that the
specific new type definition ALSO leaves out some
of the properties and methods of the old types?
That would make a lattice rather than a hierarchy.
The problem is that the constructors might
introduce inconsistencies that are based on
combining properties and methods of an old type
with contradictory properties and methods of
another old type.      (04)

Can you expound on such constructions?  They
certainly can lead to some very ugly new types,
yet serendipitously produce interesting ones.  Is
there any rule you can give that would make the
new type ALWAYS be a valid one (whatever valid
means) by construction, or must every new type so
formed be checked individually for consistency?    (05)

Curiously,
-Rich    (06)

Sincerely,
Rich Cooper
EnglishLogicKernel.com
Rich AT EnglishLogicKernel DOT com
9 4 9 \ 5 2 5 - 5 7 1 2    (07)

-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On
Behalf Of John F. Sowa
Sent: Wednesday, September 07, 2011 7:16 AM
To: ontolog-forum@xxxxxxxxxxxxxxxx
Subject: Re: [ontolog-forum] Universal and
categories in BFO & DOLCE    (08)

Since there was some recent discussion about
generalization
and specialization in this thread, I decided to
check Google
for the phrase "generalization specialization
hierarchy".
There were 3,520 hits, of which the first one was    (09)


http://people.cs.vt.edu/~kafura/cs2704/generalizat
ion.html    (010)

This is Section 1.6 of the class notes for a
course at
Virginia Tech.  (Excerpts below.)    (011)

It has a clear definition of the terms with good
examples
that apply to both ontology and software design.    (012)

John
__________________________________________________
____________    (013)

The following notes are based on preprints for the
book
_Object Oriented Software Design and Construction_
by Dennis Kafura, Prentice-Hall, 2000.    (014)

1.6 Generalization    (015)

Generalization identifies commonalities among a
set of entities.
The commonality may be of attributes, behavior, or
both. For example,
a statement such as "All windows have a title"
expresses a common
attribute among all entities that are considered
windows. Similarly,
the statement, "All windows can be resized."
expresses a common
behavior that all windows provide. Generalizations
are usually easy
to recognize as they contain words like "all" and
"every".    (016)

Generalization may be defined as:    (017)

Generalization -- the identification, and possible
organization,
of common properties of abstractions.    (018)

This definition shows that generalization is not
abstraction although 
the two are often confused. Abstraction aims at
simplifying the 
description of an entity while generalization
looks for common 
properties among these abstractions...    (019)

One of the four forms of generalization is
hierarchy. In the case of 
hierarchy, the commonalities are organized into a
tree structured form. 
At the root of any subtree are found all the
attributes and behavior 
common to all of the descendants of that root.
This particular kind of 
tree structure is referred to as a
generalization/specialization 
hierarchy because the root provides more general
properties shared by 
all its descendants while the descendants
typically add specializing 
properties which make them distinct among their
siblings and their 
siblings' descendants.    (020)

The second form of generalization is genericity.
In the case of 
genericity, the commonality is expressed with the
aid of a parameter. 
Various specializations are distinguished by what
they provide for the 
parameter. For example, using genericity it is
possible to represent the 
common properties of a "stack" through the
generalization of a "stack of 
anything", where "anything" represents the
parameter. Specialized forms 
of this generalization are "stack of integers" and
"stack of characters".    (021)

The third form of generalization is polymorphism.
Polymorphism captures 
commonality in algorithms. An algorithm may have a
nested if-then-else 
(or case statement) logic which tests for the
exact type of an object 
which it is manipulating. the algorithm performs
some operations on the 
object based on the exact type of the object.
However, in many algorithm 
the operations to be performed are the same, only
the type of the object 
on which they are performed varies. Polymorphism
allows this nested 
logic (or case statement) to be collapsed to a
single case in which the 
different object types are treated in a uniform
manner. Through a 
mechanism called dynamic binding, the algorithm
allows the object to 
determine which of its operations to perform in
response to the 
algorithms invocation...    (022)

The fourth form of generalization is patterns. A
pattern expresses a 
general solution (the key components and
relationships) to a commonly 
occurring design problem. The attributes and
behavior of the individual 
components are only partially defined to allow the
pattern to be 
interpreted and applied to a wide range of
situations. For example, a 
"wheeled vehicle" pattern might be defined in
terms of the components 
"wheel", "axle", "frame", "body" and "power
source". The pattern would 
also show how these components would be arranged
in relation to each 
other (e.g., the axle must connect two wheels).
The pattern could be 
interpreted in many different ways to solve
particular problems that 
differ in their requirements for speed,
durability, payload, fuel 
source, available materials, and other factors.
Example of the wheeled 
vehicle pattern are "automobile", "horse-drawn
carriage", "ox cart", 
"moon buggy" and many others...    (023)

__________________________________________________
_______________
Message Archives:
http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr:
http://ontolog.cim3.net/mailman/listinfo/ontolog-f
orum/  
Unsubscribe:
mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join:
http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePa
ge#nid1J    (024)



_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (025)

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