Browse Prior Art Database

Fast Inheritance Scheme

IP.com Disclosure Number: IPCOM000106110D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 2 page(s) / 93K

Publishing Venue

IBM

Related People

Calo, SB: AUTHOR [+3]

Abstract

Disclosed is an algorithm which provides a method of obtaining inherited information from an object-oriented database. In the case of an object, it requires at most one level of pointer traversal and allows data values to be dynamically inherited.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Fast Inheritance Scheme

      Disclosed is an algorithm which provides a method of obtaining
inherited information from an object-oriented database.  In the case
of an object, it requires at most one level of pointer traversal and
allows data values to be dynamically inherited.

      It is assumed that objects and classes are organized as
follows:  1) each object belongs to a class, called its parent; 2) an
object may belong to only one class; 3) a class may belong to another
class, called its parent; and 4) a class may have only one parent; 5)
there is only one class with no parent, the universal class; 6) the
children of a class consist of either objects or other classes, but
not both.

      Classes and objects form a tree structured hierarchy.  The
Figure shows a sample hierarchy.  Classes and objects consist of
fields.  Fields contain data.  Object inherit the structure of their
fields from their parent class.  A class inherits structure from its
parent class and may define additional fields.  Unless inheritance
has been overridden, the value of a field in an object is inherited
from the object's parent class.  The value of a field in a class is
obtained from
 he first parent class (including the original class) in the class
hierarchy that maintains a copy of the field.

      Each class or object has a field directory of all the fields
locally stored at that class or object.  a local caching algorithm is
used to speed up the inheritance process.  Each class that has
children that are objects mains a copy of all fields, whether the
fields are locally defined or inherited.  A value for each of these
fields is maintained.  Classes whose children are other classes keep
copies of fields that are locally defined, or for which inherited
fields, and the inherited value has been overridden by that class
with a local value.  Objects keep copies of only those fields for
which the inherited value has been overridden.

      When a field of an object is referenced, the system attempts to
locate that field in the field directory for the object.  If the
field is found, a local value of that field is maintained and
inheritance has been overridden.  If the field is not found, the
field director...