<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Formalization of OODB Models</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Gottfried</forename><surname>Vossen</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institut f ur Wirtschaftsinformatik</orgName>
								<orgName type="institution">Universit at M unster</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Formalization of OODB Models</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">A13A802DE674862EC7686BDEE9B8EE74</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T15:46+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract/>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Object-oriented data models represent a current endpoint in the evolution of data <ref type="bibr">models 23]</ref>. Their formalization has been attempted in a variety of papers, including <ref type="bibr">5; 6; 19]</ref>. This short paper indicates what we consider the common intersection of these (and other) approaches; we list the relevant features and components, and give an idea of how to formalize the notion of an object-oriented database schema.</p><p>An object-oriented data model has to capture a variety of requirements 8; 27], which di er considerably from those that traditional data models have to meet. However, many system developers seem not to care about formal models as a solid foundation of their system, but simply design a \data de nition language" in which the relevant features can be coded. In our opinion, a formal model for object-oriented databases basically has to capture the same intuitions as models for other types of databases, which are the following:</p><p>1. It has to provide an adequate linguistic abstraction for certain database applications. 2. It should provide a precise semantics for a data de nition language. 3. It has to be composed of both a speci cation and an operational part. 4. It represents a computational paradigm as a basis for formal investigations. In this short note, we do not present a comprehensive survey of formal models for object-oriented databases which have been proposed in the literature, but instead try to point out the fundamentals of how such models are obtained. The result can be considered as a framework in which the essentials of the object-oriented paradigm can be expressed concisely and further studied. Indeed, we give hints to various such investigations that have recently been undertaken.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Core Aspects of Formal OO Models</head><p>In this section, we describe what we perceive as the core aspects of various proposals for object models, and we do so by distinguishing structural from behavioral aspects. Thus, we generally consider schemas, the central notion of any conceptual database description, to be pairs of the form S = (S struc , </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>S behav )</head><p>; in what follows, we rst consider each component in isolation and then indicate how the two interact. We mention, however, that while it is generally agreed that an object-oriented data model has to capture both structure and behavior, the former can be obtained by using the experience from the relational, nested relational and complex-object models, but the latter represents a completely new challenge to database researchers. Consequently, a consensus seems achieved for structure, but not for behavior. The core aspects of formal models for objectoriented databases are summarized in Figure <ref type="figure">1</ref>, in which labels of arrows represent function names. In brief, the only structuring mechanism is the class which describes both structure and behavior for its instances, the objects. Structure is captured as a type for a class (in our notation, a function \type" associates a type with each class; the other function names shown above are to be interpreted similarly, see below). A type is nothing but a description of a domain, i.e., a set of values, and may or may not be named (in the former case, type names distinct from class names and attribute names must be provided). Values comprise the state of an object and can be as complex as the type system allows (i.e., depending on the availability of base types and constructors like tuple, set, bag, list, etc.). Behavior is manifested in a set of messages associated with each class (its external interface), which are internally implemented using methods that are executable on objects. Hence, objects have a state and a behavior; in addition, they are uniquely identi ed. Messages are speci ed by providing a signature, and by associating several signatures with the same message name, the latter gets overloaded. Not shown in Figure <ref type="figure">1</ref> is the possibility to organize classes in an inheritance hierarchy; also not shown is the fact that class attributes are allowed to reference other classes, thereby forming an aggregation lattice.</p><p>We next look at structural as well as behavioral aspects in more detail. Regarding the modeling of structure, more precisely highly-structured information, complex data types are all that is basically needed, since they serve as descriptions for domains of complex values. One way to introduce such types, i.e., to de ne a type system T, is the following:</p><p>(i) integer, string, float, boolean T;</p><p>(ii) if A i are distinct attributes and t i 2 T, 1 i n; then A 1 : t 1 ; : : :; A n : t n ] 2 T (\tuple type"); (iii) if t 2 T; then ftg 2 T (\set type"); (iv) if t 2 T; then &lt; t &gt;2 T (\list type").</p><p>In other words, a type system is made up of base types, from which complex types may be derived using (eventually attributes and) constructors. Note that this requires nothing additional but the availability of attribute names. Clearly, other base types as well as additional or alternative constructors could straightforwardly be included. Notice also that here types are not named; for practical reasons, the use of type names may be desirable (e.g., in order to be able to reuse type de nitions in various places throughout a schema), and if it is, it can easily be added to the above in the way indicated earlier.</p><p>The notion of a domain as a \reservoir" of possible values can be de ned as follows; it just has to obey constructor applications: (a) dom(integer) is the set of all integers; dom is analogously de ned for string, float, boolean;</p><p>(b) dom( A 1 : t 1 ; : :</p><formula xml:id="formula_0">:; A n : t n ]) := f A 1 : v 1 ; : : :; A n : v n ] j (8 i; 1 i n) v i 2 dom(t i )g; (c) dom(ftg) := ffv 1 ; : : :; v n g j (8 i; 1 i n) v i 2 dom(t)g; (d) dom(&lt; t &gt;) := f&lt; v 1 ; : : :; v n &gt; j (8 i; 1 i n) v i 2 dom(t)g.</formula><p>In a structurally object-oriented context, the rst thing that needs to be introduced beyond complex types and domains as de ned above is the possibility to share pieces of information between distinct types, or to aggregate objects from simpler ones. At the level of type declarations, an easy way to model this is the introduction of another reservoir of names, this time called class names, which are additionally allowed as types. In other words, object types are complex types as above with the following new condition:</p><p>(v) C T, where C is a nite set of class names. This states nothing but the fact that class names are allowed as types (below we will complement this with the requirement that classes themselves have types).</p><p>The intuition behind this new condition is that objects from the underlying application all are distinguished by their identity, get collected into classes, and can reference other objects (share subobjects). To provide for this at the level of domains, let us rst assume the availability of a nite set OID of object identi ers which includes the special identier nil (to capture \empty" references); next, object domains, i.e., sets of possible values for objects are complex values as above with the following additional condition:</p><p>(e) dom(c) = OID for each c 2 C. Thus, classes are assumed to be instantiated by objects (class-name types take object identi ers as values, in the same way as, say, the integer type takes integer numbers as values). Clearly, this alone is not enough, since class instances commonlyhave distinct sets of object identi ers associated with them. We will show below how that (and, for example, the fact that sometimes inclusion dependencies need to hold between sets of class instances) is captured at the instance level.</p><p>The object-oriented paradigm has another dimension for organizing information besides aggregation, which is inheritance, or the possibility to de ne a class as a specialization of one or more other classes. To this end, a subtyping relation is needed through which it can be expressed that a subclass inherits the structure of a superclass. Such a relation can be de ned in various ways; for example, it can be dened semantically by requiring that the sets of values or instances of types, where one is a subtype of the other, are in a subset relationship. We prefer a simpler, syntactical approach, which has, for example, the advantage that checking subtype relationships can be automated:</p><p>Let T be a set of object types. A subtyping relation T T is de ned as follows:</p><p>(i) t t for each t 2 T, (ii) A 1 : t 1 ; : : :; A n : t n ] A 0 1 : t 0 1 ; : : :</p><formula xml:id="formula_1">; A 0 m : t 0 m ] if (a) (8 A 0 j ; 1 j m)(9 A i ; 1 i n) A i = A 0 j ^ti t 0 j , (b) n m, (iii) ftg ft 0 g if t t 0 , (iv) &lt; t &gt; &lt; t 0 &gt; if t t 0 .</formula><p>With these preparations, we arrive at the following de nition for objectbase schemas that can describe structure of arbitrary complexity: A structural schema is a named quadruple of the form S struc = (C; T; type; isa) where (i) C is a ( nite) set of class names, (ii) T is a ( nite) set of types which uses as class names only elements from C, (iii) type : C ! T is a total function associating a type with each class name, (iv) isa C C is a partial order on C which is consistent w.r.t. subtyping, i.e., c isa c 0 ) type(c) type(c 0 ) for all c; c 0 2 C. This de nition resembles what can be found in a variety of models proposed in the literature, including 17; 19; 20; 25] and others. Notice that it still leaves several aspects open, like single vs. multiple inheritance; if the latter is desired, a condition needs to be added stating how to con icts should be resolved. Also, implementations typically add a number of additional features, like attributes as functions 22; 29], a distinction of class attributes from instance attributes (the latter are shared by all objects associated with a class, while the former represent, for example, aggregate information like an average salary only relevant to the class as a whole) 7], a unique root of the class hierarchy from which every class inherits 20], a distinction between private and public attributes 12], a di erent set of constructors (like one with an additional array constructor to describe matrices), an explicit inclusion of distinct types of relationships between classes and their objects (in particular various forms of composition, see 18]), integrity constraints which represent semantic information on the set of valid databases instances (a proposal in that direction appears in 3; 4], where object constraints, class constraints, and database constraints are distinguished). For another example, the ODMG-93 proposal for a standardized model 10] contains explicit keys, (binary) relationships, and inverse attributes. None of these features appear in our model, the reason being that these are not speci c to object-orientation.</p><p>The second important aspect of an object-oriented database is that it is intended to capture behavior, besides structure. To this end, the relevant intuition is that classes have attached to them a set of messages, which are speci ed in the schema via signatures, and which are implemented as methods. In addition, behavior can be inherited by subclasses, and message names can be overloaded, i.e., re-used in various contexts.</p><p>So a behavioral schema is a named ve-tuple of the form S behav = (C; M; P; messg; impl) where (i) C is a ( nite) set of class names as above (again needed here since references to it have to be made), (ii) M is a ( nite) set of message names, where each m 2 M has associated with it a nonempty set sign(m) = fs 1 ; : : :s l g, l 1, of signatures; each s h , 1 h l, has the form s h : c t 1 : : : t p ! t for c 2 C, t 1 ; : : :; t p ; t 2 T (each signature has the receiver of the message as its rst component), (iii) P is a ( nite) set of methods or programs, (iv) messg : C ! 2 M is a mapping s.t. for each c 2 C and for each m 2 messg(c) there exists a signature s 2 sign(m) satisfying s 1] = c, (v) impl: f(m; c) j m 2 messg (c)g ! P is a partial function.</p><p>In combining structural and behavioral schemas, we nally obtain an objectbase schema of the form S = (C; (T; type; isa;); (M; P; isa; messg; impl)). S is called consistent if the following conditions are satis ed:</p><p>(i) c isa c 0 implies messg(c 0 ) messg(c) for all c; c 0 2 C, (ii) if c isa c 0 and s; s 0 2 sign(m) for m 2 M such that s : c t 1 : : : t n ! t, s 0 : c 0 t 0 1 : : : t 0 n ! t 0 , then t i t 0 i for each i, 1 i n, and t t 0 , (iii) for each m 2 messg(c) there exists a c 0 2 C) s.t. c isa c 0 and impl(m; c 0 ) is de ned. Condition (i) just says that subclasses inherit the behavior of their superclasses. Condition (ii) says that message-name overloading is done with compatible signatures, and is called the covariance condition in 20 <ref type="bibr">; 9]</ref>. The covariance condition is a signi cant difference from what is used at a corresponding point in programming languages, and which is known as the contravariance condition; for a detailed explanation, see 9]. Finally, Condition (iii) states that for each message associated with a class, its implementation must at least be available in some superclass.</p><p>It is interesting to note that various natural conditions can be imposed on the programs that are used as implementations of messages. We now sketch one of them, which is based on the view that programs are functions on domains 20]. More formally, if m 2 M and s : c t 1 : : : t n ! t 2 sign(m), then impl(m; c), if de ned, is a program p 2 P of the form p : dom(c) dom(t 1 ) : : : dom(t n ) ! dom(t)</p><p>The condition in question informally states that if message overloading appears in isa-related classes (so that the corresponding signatures satisfy the covariance condition), then the associated programs coincide (as functions) on the subclass. More formally, we have: If jsign(m)j &gt; 1 for some m 2 M, then the following holds: If s; s 0 2 sign(m) such that s : c t 1 : : : t n ! t, s 0 : c 0 t 0 1 : : : t 0 n ! t 0 , c isa c 0 , t i t 0 i for each i, 1 i n, t t 0 , and impl(m; c) = p, impl(m; c 0 ) = p 0 , then p and p 0 agree on dom(c) dom(t 1 ) : : : dom(t n ).</p><p>A variety of formal investigations for behavioral schemata in the sense de ned above can already be found in the literature, which investigate questions including termination of method executions, limited depth of method-call nestings (an issue related to precompilation of method executions), wellde nedness of method calls, i.e., consistency as well as reachability considerations (issues related to type inference and schema evolution), expressiveness of method implementation languages (relative to some notion of completeness), complexity of method executions, or potential parallelism of method evaluations. To investigate such issues, our general notion of schema is made precise in various ways. For example, 15] xes a simple imperative language for implementing methods as retrieval programs, contrasts them with update programs and shows undecidability results for the latter. 1; 2] as well as 11] introduce distinct notions of a method schema to study behavioral issues of OODBS; for example, 2] investigates implications of the covariance condition using the formalism of program schemas, while 11] looks at tractability guarantees corresponding to those known for relational query languages. Also, it is pretty straightforward to de ne an object algebra for a model like the one sketched in the previous section; see, for example, the papers in 13]. That carries over to issues like query optimization, implementation of operations, and query processing. A survey of other recent investigations that have similar bases or origins can be found <ref type="bibr">in 28]</ref>.</p><p>We emphasize again that the model just sketched can be seen as description of the core of vastly any object-oriented model; however, this is valid only relative to the fact that many specialities, which have been proposed in the literature, or which are being built into commercial systems, are neglected here.</p><p>We conclude this section with a brief indication of how object databases, i.e., sets of class instances or extensions, can be de ned over a given schema: For a given objectbase schema S, an objectbase over S is a triple d(S) = (O, inst, val) s. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Open Issues</head><p>We next survey several modeling issues in objectoriented databases which have not yet received enough research attention:</p><p>1. Entities can have roles that vary over time. For example, some person object may at one point be a student, at another an employee, and at a third a club member; while the person's identity never changes, its type changes several times. For example, in a design environment it is usually necessary to maintain incomplete designs, i.e., objects whose types get completed in the course of time. 4. Classes may contain \too few" instances. For example, consider a database in which all persons living in a large country are represented. In this context, so many combinations of meaningful properties have to be distinguished that it might become necessary to introduce arti cial name constructions for classes, like unmarried-nonstudent-autoOwnerrenter-taxpayer 26], and each such class has only very few instances. More generally, the name space available for classes might not be su cient. 5. Objects and their classes might come into existence in reverse order. A database user in a design environment like CAD creates objects in the rst place, not type de nitions or even classes. The usage of databases thus di ers considerably from traditional applications where schema design has to be completed prior to instance creation. We mention that one issue or the other from this list is sometimes re ected already in existing models, but never as a basic design target. Alternative approaches, which takes these issues into consideration right from the start, appear, for example, in 21; 24; 16]. A possible general concept for the solution of these problems seems the exploitation of prototype languages, which suggest to model applications without a classi cation that partitions the world into entity sets. A prototype represents default behavior for some concept, and new objects can re-use part of the knowledge stored in a prototype by saying how they di er from it. Upon receiving a message an object does not understand, it can forward (delegate) it to its prototype to invoke more general behavior. In the area of object-oriented programming languages, many people believe that this approach has advantages over the class-based one with inheritance, with respect to the representation of default knowledge and incrementally and dynamically modifying concepts. The investigation of classless models in the context of object-oriented databases has only recently been proposed in 26], and a concrete model is reported in 14]. <ref type="bibr" target="#b3">4</ref> </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Conclusions</head><p>In this short paper we have tried to give a rough personal account of recent work on formal models for object-oriented databases. Although there is not a single uniform such model, the foundations on which such models have to be built seem understood, and even standardization e orts have recently been launched 10]. On the other hand, a number of interesting research issues still deserve further investigation. In particular, formal models as they are currently available seem hardly suited for the nonstandard applications which initiated the consideration of object-orientation in the context of databases. A reason seems to be that many researchers have too much of a relational background, and try to exploit that as long as possible; this is more than con rmed by the ODMG-93 proposal. As was done a number of years ago, when database people discovered what programming-language or knowledge-representation people had been studying for years already, it seems again necessary to take recent developments in these areas into account, and to adopt them for solving the problems database applications have.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>t. (i) O OID is a nite set of object identi ers, (ii) inst: C ! 2 O is a total function satisfying the following conditions: (a) if c; c 0 2 C are not (direct or indirect) subclasses of each other, then inst(c) \ inst(c 0 ) = ;, (b) if c isa c 0 , then inst(c) inst(c 0 ), (iii) val: O ! V is a function s.t. (8 c 2 C) (8 o 2 inst(c)) val(o) 2 dom(type(c)). Notice that this de nition closes the problem left open earlier, namely that class domains originally were simply the set OID.</figDesc></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The Two Facets of Object-Oriented Data Models</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">C</forename><surname>Kanellakis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Data Engineering Bulletin</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="3" to="7" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Method Schemas</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">C</forename><surname>Kanellakis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Waller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 9th ACM Symposium on Principles of Database Systems</title>
				<meeting>9th ACM Symposium on Principles of Database Systems</meeting>
		<imprint>
			<date type="published" when="1990">1990</date>
			<biblScope unit="page" from="16" to="27" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Inheritance in an Object-Oriented Data Model</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">M G</forename><surname>Apers</surname></persName>
		</author>
		<idno>90-77</idno>
		<imprint>
			<date type="published" when="1990">1990</date>
		</imprint>
		<respStmt>
			<orgName>University of Twente</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Memoranda Informatica</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Sets and Constraints in an Object-Oriented Data Model</title>
		<author>
			<persName><forename type="first">H</forename><surname>Balsters</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Memoranda Informatica 90-75</title>
				<imprint>
			<date type="published" when="1990">1990</date>
		</imprint>
		<respStmt>
			<orgName>University of Twente</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Building an Object-Oriented Database System | The Story of O 2</title>
		<editor>F. Bancilhon, C. Delobel, P. Kanellakis</editor>
		<imprint>
			<date type="published" when="1992">1992</date>
			<publisher>Morgan-Kaufmann</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">A Formal Approach to Object-Oriented Databases</title>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Data &amp; Knowledge Engineering</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="353" to="382" />
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">An Object-Oriented Data Model for Distributed O ce Applications</title>
		<author>
			<persName><forename type="first">E</forename><surname>Bertino</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m">Proc. ACM Conference on O ce Information Systems</title>
				<meeting>ACM Conference on O ce Information Systems</meeting>
		<imprint>
			<date type="published" when="1990">1990</date>
			<biblScope unit="page" from="216" to="226" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Object-oriented Database Management Systems: Concepts and Issues</title>
		<author>
			<persName><forename type="first">E</forename><surname>Bertino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Martino</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Computer</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="33" to="47" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Object-Oriented Database Systems</title>
		<author>
			<persName><forename type="first">E</forename><surname>Bertino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Martino</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1993">1993</date>
			<publisher>Addison-Wesley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">The Object Database Standard: ODMG-93</title>
		<editor>R.G.G. Cattell</editor>
		<imprint>
			<date type="published" when="1994">1994</date>
			<publisher>Morgan-Kaufmann</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">The Power of Methods with Parallel Semantics</title>
		<author>
			<persName><forename type="first">K</forename><surname>Denningho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Vianu</surname></persName>
		</author>
		<idno>No. CS91{184</idno>
	</analytic>
	<monogr>
		<title level="m">Proc. 17th Int. Conference on Very Large Data Bases</title>
				<meeting>17th Int. Conference on Very Large Data Bases<address><addrLine>San Diego</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1991-02">February 1991. 1991</date>
			<biblScope unit="page" from="221" to="232" />
		</imprint>
		<respStmt>
			<orgName>, University of California</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">UCSD Technical Report</note>
	<note>extended abstract in</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The Story of O 2</title>
		<author>
			<persName><forename type="first">O</forename><surname>Deux</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Knowledge and Data Engineering</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="91" to="108" />
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Query Processing for Advanced Database Systems</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Freytag</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Maier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Vossen</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title/>
		<author>
			<persName><surname>Morgan-Kaufmann</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">Towards Classless Object Models for Engineering Design Applications</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gro -Hardt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Vossen</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
	</analytic>
	<monogr>
		<title level="m">Proc. 4th International Conference on Database and Expert Systems Applications (DEXA) 1993</title>
		<title level="s">Springer LNCS</title>
		<meeting>4th International Conference on Database and Expert Systems Applications (DEXA) 1993<address><addrLine>Prag</addrLine></address></meeting>
		<imprint>
			<biblScope unit="volume">720</biblScope>
			<biblScope unit="page" from="36" to="47" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Behavior Analysis of Object-Oriented Databases: Method Structure, Execution Trees, and Reachability</title>
		<author>
			<persName><forename type="first">R</forename><surname>Hull</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Tanaka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Yoshikawa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 3rd FODO Conference</title>
		<title level="s">Springer LNCS</title>
		<meeting>3rd FODO Conference</meeting>
		<imprint>
			<date type="published" when="1989">1989</date>
			<biblScope unit="volume">367</biblScope>
			<biblScope unit="page" from="372" to="388" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Incomplete Objects | A Data Model for Design and Planning Applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Imielinski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ACM SIGMOD International Conference on Management of Data</title>
				<meeting>ACM SIGMOD International Conference on Management of Data</meeting>
		<imprint>
			<date type="published" when="1991">1991</date>
			<biblScope unit="page" from="288" to="297" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">GOM: A Strongly Typed Persistent Object Model with Polymorphism</title>
		<author>
			<persName><forename type="first">A</forename><surname>Kemper</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. German GI Conference on \Datenbanken f ur B uro, Technik und Wissenschaft</title>
				<meeting>German GI Conference on \Datenbanken f ur B uro, Technik und Wissenschaft<address><addrLine>BTW</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1991">1991</date>
			<biblScope unit="volume">270</biblScope>
			<biblScope unit="page" from="198" to="217" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">Introduction to Object-Oriented Databases</title>
		<author>
			<persName><forename type="first">W</forename><surname>Kim</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1990">1990</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">O 2 , an Object-Oriented Data Model</title>
		<author>
			<persName><forename type="first">C</forename><surname>Lecluse</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ACM SIGMOD International Conference on Management of Data 1988</title>
				<meeting>ACM SIGMOD International Conference on Management of Data 1988</meeting>
		<imprint>
			<biblScope unit="page" from="424" to="433" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Foundations of the O 2 Database System</title>
		<author>
			<persName><forename type="first">C</forename><surname>Lecluse</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Richard</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Data Engineering Bulletin</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="28" to="32" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Aspects: Extending Objects to Support Multiple</title>
		<author>
			<persName><forename type="first">J</forename><surname>Richardson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Schwarz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Independent Roles; Proc. ACM SIGMOD International Conference on Management of Data 1991</title>
				<imprint>
			<biblScope unit="page" from="298" to="307" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">A Relational Object Model</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">H</forename><surname>Scholl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">J</forename><surname>Schek</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 3rd International Conference on Database Theory 1990</title>
				<meeting>3rd International Conference on Database Theory 1990</meeting>
		<imprint>
			<biblScope unit="volume">470</biblScope>
			<biblScope unit="page" from="89" to="105" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Evolution of Data Models</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">J</forename><surname>Schek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">H</forename><surname>Scholl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Database Systems of the 90s</title>
				<meeting>Database Systems of the 90s</meeting>
		<imprint>
			<date type="published" when="1990-11">November 1990</date>
			<biblScope unit="volume">466</biblScope>
			<biblScope unit="page" from="135" to="153" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Object Specialization</title>
		<author>
			<persName><forename type="first">E</forename><surname>Sciore</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Information Systems</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="103" to="122" />
			<date type="published" when="1989">1989</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Ozsu: Queries and Query Processing in Object-Oriented Database Systems</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">D</forename><surname>Straube</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Information Systems</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="page" from="387" to="430" />
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">A Comparison of Deductive and Object-Oriented Database Systems</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Ullman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 2nd DOOD Conference</title>
		<title level="s">Springer LNCS</title>
		<meeting>2nd DOOD Conference</meeting>
		<imprint>
			<date type="published" when="1991">1991</date>
			<biblScope unit="volume">566</biblScope>
			<biblScope unit="page" from="263" to="277" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<monogr>
		<author>
			<persName><forename type="first">G</forename><surname>Vossen</surname></persName>
		</author>
		<title level="m">Datenmodelle, Datenbanksprachen und Datenbankmanagement-Systeme; 2. Auage</title>
				<imprint>
			<publisher>Addison-Wesley</publisher>
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<monogr>
		<title level="m" type="main">Database Theory: An Introduction</title>
		<author>
			<persName><forename type="first">G</forename><surname>Vossen</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1994-06">June 1994</date>
		</imprint>
		<respStmt>
			<orgName>University of M unster</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">The Iris Architecture and Implementation</title>
		<author>
			<persName><forename type="first">K</forename><surname>Wilkinson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Knowledge and Data Engineering</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="63" to="75" />
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
