[Top] [All Lists]

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

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Wed, 07 Sep 2011 10:16:03 -0400
Message-id: <4E677CA3.8050106@xxxxxxxxxxx>
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    (01)

    http://people.cs.vt.edu/~kafura/cs2704/generalization.html    (02)

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

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

______________________________________________________________    (05)

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

1.6 Generalization    (07)

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".    (08)

Generalization may be defined as:    (09)

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

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

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.    (012)

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".    (013)

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...    (014)

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...    (015)

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

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