TY - JOUR

T1 - Subtyping in OODBs

AU - Beeri, Catriel

AU - Milo, Tova

PY - 1995/10

Y1 - 1995/10

N2 - One of the central concepts supported by object-oriented databases is isa relationship. Its intuitive simplicity is deceptive. In reality, this term denotes several concepts, such as subtyping, subset relationships, and inheritance of structure and/or behavior. Each of these is non-trivial, and their interaction may be quite subtle. This paper deals with subtyping and its properties, in the context of a model that allows arbitrary data types and type constructors (but no function constructor). For simplicity a model based on the algebraic specification approach is used, which partially explains the inability to deal with the function constructor. Two intuitive ideas about subtyping are generalized and investigated: first, that the set of elements associated with a subtype is a subset of the set associated with supertype, and second, that each element of the subtype may be used in any place where an element of the supertype is expected. A generalized subtyping relation among abstract data types is defined, and its properties are investigated. In particular, it is shown that often there exist many possible subtyping relations among two types and that testing for some desirable properties, such as correctness, is in general undecidable. The notion of natural subtyping relation (that is related to parametric abstract data types) is introduced and shown to have a simple correctness proof. The paper concludes with a generalized type checking algorithm.

AB - One of the central concepts supported by object-oriented databases is isa relationship. Its intuitive simplicity is deceptive. In reality, this term denotes several concepts, such as subtyping, subset relationships, and inheritance of structure and/or behavior. Each of these is non-trivial, and their interaction may be quite subtle. This paper deals with subtyping and its properties, in the context of a model that allows arbitrary data types and type constructors (but no function constructor). For simplicity a model based on the algebraic specification approach is used, which partially explains the inability to deal with the function constructor. Two intuitive ideas about subtyping are generalized and investigated: first, that the set of elements associated with a subtype is a subset of the set associated with supertype, and second, that each element of the subtype may be used in any place where an element of the supertype is expected. A generalized subtyping relation among abstract data types is defined, and its properties are investigated. In particular, it is shown that often there exist many possible subtyping relations among two types and that testing for some desirable properties, such as correctness, is in general undecidable. The notion of natural subtyping relation (that is related to parametric abstract data types) is introduced and shown to have a simple correctness proof. The paper concludes with a generalized type checking algorithm.

UR - http://www.scopus.com/inward/record.url?scp=0029394368&partnerID=8YFLogxK

U2 - 10.1006/jcss.1995.1063

DO - 10.1006/jcss.1995.1063

M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???

AN - SCOPUS:0029394368

VL - 51

SP - 223

EP - 243

JO - Journal of Computer and System Sciences

JF - Journal of Computer and System Sciences

SN - 0022-0000

IS - 2

ER -