Citation
An extensible data model and extensible system architecture for building advanced knowledge base management systems

Material Information

Title:
An extensible data model and extensible system architecture for building advanced knowledge base management systems
Creator:
Yaseen, Rahim Mohamed ( Dissertant )
Su, Stanley Y. W. ( Thesis advisor )
Lam, Herman ( Thesis advisor )
Navathe, Shamkant B. ( Reviewer )
Doty, Keith L. ( Reviewer )
Newman-Wolfe, Richard ( Reviewer )
Phillips, Winfred M. ( Degree grantor )
Lockhart, Madelyn M. ( Degree grantor )
Place of Publication:
Gainesville, Fla.
Publisher:
University of Florida
Publication Date:
Copyright Date:
1991
Language:
English
Physical Description:
xi, 216 leaves : ill. ; 28 cm.

Subjects

Subjects / Keywords:
Aggregation ( jstor )
Algebra ( jstor )
Architectural models ( jstor )
Data models ( jstor )
Data types ( jstor )
Database design ( jstor )
Databases ( jstor )
Query languages ( jstor )
Query processing ( jstor )
Semantic models ( jstor )
Data structures (Computer science) ( lcsh )
Dissertations, Academic -- Electrical Engineering -- UF
Electrical Engineering thesis Ph. D
Expert systems (Computer science) ( lcsh )
City of Orlando ( local )
Genre:
bibliography ( marcgt )
theses ( marcgt )
non-fiction ( marcgt )

Notes

Abstract:
Traditional data models and the corresponding monolithic database management system architectures have been found to be inadequate for supporting the complex and diverse requirements found in many advanced application domains. More advanced data models and system architectures are needed for developing new-generation Database Management Systems (DBMs) and Knowledge Base Management Systems (KBMSs). Clearly, if a data model with a fixed set of modeling constructs and a fixed system architecture are used, they cannot accommodate the diverse and dynamically changing requirements that must be supported. This dissertation describes an approach of coupling an extensible data model with a corresponding extensible system architecture for the development of more advanced KBMSs. An eXtensible Kernel Object Model (XKOM) is proposed. XKOM consists of a set of core data modeling structural abstractions which are commonly available in existing object-oriented data models and two powerful behavioral abstractions which are expressible by rules and methods. Data model extensions are realized by using a novel technique called model reflexivity. In model reflexivity, the data model (XKOM) is used to reflexively model itself, resulting in a "model of the data model." Extensions are achieved by modifying or extending this "model of the model" using the structural and behavioral abstractions provided by the data model. In particular, we use knowledge rules as a powerful and declarative means of specifying data model extensions. The extensible system architecture is realized by using an open, modular, and layered framework coupled with a reflexive approach to system design and implementation. A middle-out approach is used in the layered architecture where the data model (XKOM) serves as a basis for developing an intermediate level of abstraction. The architecture can then be (a) upwardly extended to support appropriate high-level, end-user, data modeling constructs for diverse application domains, and (b) downwardly extended to different physical data organizations, access paths, processing strategies and storage sub-systems. The object-oriented paradigm is used to model functionally distinct system components in various layers, resulting in a "model of the system". Functional extensions are then carried out by appropriate modifications to the sub-schema corresponding to specific functional modules. To illustrate the extensible approach to data modeling and system architecture several model and system component including a kernel object manager, a data dictionary module, and a query processor have been implemented. The kernel object manager corresponds to an implementation of the data model XKOM. The data dictionary module manages the meta-data of the model and the system. The query processor uses a pattern-based approach for formulating queries. A novel graph-based technique using an adjacency-matrix data structure for processing such queries is also described.
Thesis:
Thesis (Ph. D.)--University of Florida, 1991.
Bibliography:
Includes bibliographical references (leaves 208-215).
General Note:
Typescript.
General Note:
Vita.
Statement of Responsibility:
by Rahim Mohamed Yaseen.

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright Rahim Mohamed Yaseen. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Resource Identifier:
001722550 ( ALEPH )
25764302 ( OCLC )
AJD5029 ( NOTIS )

Downloads

This item has the following downloads:


Full Text










AN EXTENSIBLE DATA MODEL AND EXTENSIBLE
SYSTEM ARCHITECTURE FOR BUILDING ADVANCED KNOWLEDGE
BASE MANAGEMENT SYSTEMS














By
RAHIM MOHAMED YASEEN


A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA


1991



























Copyright 1991

by

Rahim Mohamed Yaseen























To the memory of my father



And to my mother, Jubeda,
for being so courageous in life














ACKNOWLEDGMENTS


I wish to thank the following people for their contributions throughout the du-
ration of my graduate studies. My sincere appreciation goes out to Dr. Stanley Su

for giving me the opportunity to work in the challenging area of object-oriented and

extensible knowledge base management systems. Without his thought-provoking

guidance, inspiring technical discussions, and steadfast support this work could not

have been realized. I am deeply grateful to Dr. Herman Lam, the co-chairman of

my supervisory committee, for valuable technical guidance, for continuous encour-

agement and thought-provoking suggestions, and for always being there. I thank

Dr. Sham Navathe for fruitful technical discussions and for access to his personal

library. I would like to thank Dr. Keith Doty and Dr. Richard Newmann-Wolfe for

their time and for agreeing to serve on my supervisory committee. I also wish to

thank Dr. Sharma Chakravarthy for valuable discussions on various technical issues.

My special thanks go to Sharon Grant whose help has been simply immense. On

a personal note, I thank all my friends, too numerous to list, for making my stay

in Gainesville a pleasant and memorable one. I take this opportunity to thank Dr.

Tom Bullock for being my mentor at the beginning of my stay in Gainesville. My
heartfelt gratitude goes out to my family for always being there when I needed them,

especially my brother, Iqbal, for his financial help and for being an inspiring force

in my life. Finally, I wish to thank Mohini for so gracefully putting up with all the

ups and downs of the last few years.








This research was supported by the National Science Foundation (Grant # DMC-
8814989), IBM (Grant # S919FM81), National Institute of Standards and Technol-
ogy (Grant # 60NANB7D0714), and the Florida High Technology and Industry
Council (Grant # UPN 90090708).















TABLE OF CONTENTS




ACKNOWLEDGEMENTS ........ ...................... iv

ABSTRACT .................................... x

CHAPTERS

1 INTRODUCTION ................................... 1

2 A SURVEY OF RELATED WORK ........................ 10

2.1 KBMS and DBMS Architectures ....................... 10
2.1.1 Traditional DBMS Architectures ............... 10
2.1.2 Object-oriented DBMS Architectures .............. 11
2.1.3 Extensible DBMS Architectures ........... ...... 13
2.2 Object Management Techniques ............. ...... 17
2.3 Query Processing in Object-oriented Databases . ... 18
2.4 Methodologies for Software Development ..... ... 20
2.5 Meta-level and Reflexive Architectures . ... 21

3 A FRAMEWORK FOR EXTENSIBILITY . ... 23

3.1 Key Features of our Approach .................. ... .. 23
3.2 Overview of our Approach ........ ............... 24

4 AN EXTENSIBLE KERNEL OBJECT MODEL (XKOM) ......... 36

4.1 The Extensible Data Model Approach ................. 36
4.1.1 Benefits of the Approach ............... ....... 37
4.1.2 Data Model Requirements .. ....... .......... .37
4.2 Basic Data Modeling Constructs: Structure . ... 38
4.2.1 Object, Class, and Instance . . ... 38
4.2.2 Identity . .. . . 41
4.2.3 Association ............................ 42
4.2.4 Class Definition ........................ 43
4.3 An Example Database .......................... 45
4.3.1 Database Schema ...................... .. 45
4.3.2 Database Extension. .... . ...... 48
4.4 Basic Data Modeling Constructs: Behavior . ... 50
4.5 Language Components .......................... 50
4.5.1 Queries and Methods ....................... 53
4.5.2 Rules . . . . 58









4.6 Model
4.6.1
4.6.2
4.6.3


Extensibility ....... .................. ...
Model Reflexivity .................... .....
Class Extensibility .......................
Association Extensibility . . .


5 MANAGEMENT OF META-INFORMATION .. . .

5.1 Using Reflexivity for Managing Meta-information . .
5.2 Model and System Meta-information . . .
5.2.1 The Bootstrap Process ......................
5.2.2 Parameterization .........................
5.3 Application Meta-information . . .
5.4 Dictionary Access Functions .......................
5.5 Data Dictionary Module .........................

6 MANAGEMENT OF KERNEL OBJECTS . . .

6.1 Basic Requirements ............................
6.2 Storage Issues for Kernel Objects . . .
6.2.1 Models of Storage: Static Storage Model vs Distributed Stor-
age M odel . .. . . .
6.2.2 Logical Storage Structure of an Instance . .
6.2.3 Value Attributes .........................
6.2.4 Object References .........................
6.2.5 Identity . . . .
6.2.6 Identity-Address Mappings . ..... ....
6.2.7 Homogeneous and Heterogeneous Clustering of Objects .
6.3 Processing Kernel Objects ........................
6.3.1 Association-based Access . . .
6.3.2 Value-based Access ........................
6.3.3 Kernel Object Manipulation Operators . .
6.3.4 Algorithms for Processing Kernel Object Manipulation Oper-
ators . . . .
6.4 Implementation of the Kernel Object Management System .
6.4.1 System and Module Configuration . .
6.4.2 Interface Classes .........................
6.4.3 Class System ...........................
6.4.4 System Extensibility .......................


61
63
68
70

73

73
75
75
78
80
81
82

83

83
84

84
87
89
92
97
98
99
101
103
104
104

111
111
111
113
114
118


7 A GRAPH-BASED APPROACH TO QUERY AND RULE PROCESSING120

7.1 Rationale for a Graph-based Approach . ... 120
7.1.1 The Closure Property ....................... 120
7.1.2 Pattern-based Query Formulation . . 121
7.1.3 Using Graphs as a Basis ................... 121
7.2 The Query Language and Algebra . .... 126
7.2.1 Query Language ............. ........ .. 126
7.2.2 Association Algebra .............. .......... 126
7.3 Representation Schemes for a Subdatabase . ... 131
7.3.1 Adjacency Matrix vs Linked List . ... 132
7.3.2 A Three-Dimensional Matrix Structure . ... 133
7.3.3 An Optimized Data Structure . ... 136
7.4 Processing Sets of Graphs ................... 143
7.4.1 A Class Index for Sets of Instance Graphs . ... 143










7.4.2 Processing Algebraic Query Operators . .
7.4.3 Algorithms for Algebraic Query Operators . .
7.4.4 Processing Query Execution Plans . .
7.5 Extending the Graph-based Approach to Rule Processing .
7.5.1 Rule Trees ...........................
7.5.2 Deriving New Associations . . .
7.6 Implementation of Query Processor . . .
7.6.1 System and Module Configuration . .
7.6.2 Class System .........................

8 USING RULES TO ACHIEVE MODEL EXTENSIBILITY ......

8.1 The Object-oriented Semantic Association Model (OSAM*) .
8.2 Specification and Processing of Rules . .
8.2.1 Rule Types ..........................
8.2.2 Rule Storage and Binding Strategies . .
8.3 Realizing Association Extensibility . . .
8.3.1 Specifying Parameterized Rules . .
8.3.2 Extending the Meta-class System . ... ..

9 SUMMARY AND FUTURE RESEARCH . .


9.1 Summary .....................
9.2 Future Work ......................


. . 184
. . 186


A DICTIONARY ACCESS FUNCTIONS . . .


B ALGORITHMS FOR KERNEL OBJECT OPERATORS .


B.1 Create ..........
B.2 Insert ..........
B.2.1 InsertInstance
B.2.2 Insert.Object .
B.3 Update . .
B.3.1 Update-Instance
B.3.2 Update.Object
B.3.3 Associate .
B.3.4 Dissociate .
B.4 Delete ..........
B.4.1 DeleteInstance
B.4.2 Delete.Object .
B.4.3 Destroy-Object
B.5 Retrieve . .
B.5.1 Retrieve .
B.5.2 Select .
B.5.3 Star .
B.5.4 NonStar .


C ALGORITHMS FOR QUERY PROCESSING


. 191


191
191
191
192
193
193
194
195
196
196
196
197
198
198
198
200
201
202


. . 203


C.1 Associate (*) .....................
C.2 NonAssociate(!) ...................
C.3 Union(+) ......................


. . 203
. . 205
. . 206


143
147
147
154
154
156
158
158
162


. 166

. 166
. 169
..169
. 174
. 176
. 176
. 178

. 184


. 189









C.4 Intersect(e) ................................ 206

REFERENCES .. ......................... 2208

BIOGRAPHICAL SKETCH ............................. 216














Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy


AN EXTENSIBLE DATA MODEL AND EXTENSIBLE
SYSTEM ARCHITECTURE FOR BUILDING ADVANCED KNOWLEDGE
BASE MANAGEMENT SYSTEMS

By
Rahim Mohamed Yaseen

December 1991

Chairman: Dr. Stanley Y. W. Su
Cochairman: Dr. Herman Lam
Major Department: Electrical Engineering

Traditional data models and the corresponding monolithic database manage-

ment system architectures have been found to be inadequate for supporting the

complex and diverse requirements found in many advanced application domains.

More advanced data models and system architectures are needed for developing
new-generation Database Management Systems (DBMSs) and Knowledge Base Man-

agement Systems (KBMSs). Clearly, if a data model with a fixed set of modeling

constructs and a fixed system architecture are used, they cannot accommodate the

diverse and dynamically changing requirements that must be supported. This dis-
sertation describes an approach of coupling an extensible data model with a cor-

responding extensible system architecture for the development of more advanced

KBMSs.

An eXtensible Kernel Object Model (XKOM) is proposed. XKOM consists of

a set of core data modeling structural abstractions which are commonly available

in existing object-oriented data models and two powerful behavioral abstractions

x









which are expressible by rules and methods. Data model extensions are realized by

using a novel technique called model reflexivity. In model reflexivity, the data model

(XKOM) is used to reflexively model itself, resulting in a "model of the data model."

Extensions are achieved by modifying or extending this "model of the model" using

the structural and behavioral abstractions provided by the data model. In particular,

we use knowledge rules as a powerful and declarative means of specifying data model

extensions.

The extensible system architecture is realized by using an open, modular, and

layered framework coupled with a reflexive approach to system design and imple-

mentation. A middle-out approach is used in the layered architecture where the data

model (XKOM) serves as a basis for developing an intermediate level of abstraction.

The architecture can then be (a) upwardly extended to support appropriate high-

level, end-user, data modeling constructs for diverse application domains, and (b)
downwardly extended to different physical data organizations, access paths, pro-

cessing strategies and storage sub-systems. The object-oriented paradigm is used

to model functionally distinct system components in various layers, resulting in a

"model of the system." Functional extensions are then carried out by appropriate

modifications to the sub-schema corresponding to specific functional modules.

To illustrate the extensible approach to data modeling and system architecture,

several model and system components including a kernel object manager, a data

dictionary module, and a query processor have been implemented. The kernel object

manager corresponds to an implementation of the data model (XKOM). The data

dictionary module manages the meta-data of the model and the system. The query

processor uses a pattern-based approach for formulating queries. A novel graph-

based technique using an adjacency-matrix data structure for processing such queries

is also described.














CHAPTER 1
INTRODUCTION

In recent years, an increasing number of complex and advanced application do-

mains, such as Computer Integrated Manufacturing (CIM), VLSI Design, Computer-

Aided Software Engineering (CASE), and Engineering Design, have been addressed

in the context of database technology. Existing Database Management Systems

(DBMSs) such as relational, network, and hierarchical have been primarily designed

for use in traditional business-oriented applications and have been found to be in-
adequate in supporting the diverse and demanding requirements of these emerging
non-traditional application domains. To support the needs of such diverse and com-

plex application domains, the research presented in this dissertation addresses many

aspects pertaining to a framework and architecture for developing next-generation

Knowledge Base Management Systems (KBMSs). A KBMS is a system which pro-
vides all the functionality of a DBMS and also incorporates additional facilities for

knowledge management. Since the capabilities of a KBMS encompass those of a

DBMS we will, in general, use the term KBMS in the broader sense to refer to both

KBMSs and DBMSs.

To identify the requirements that pertain to developing next-generation KBMSs,

we analyze such requirements from two aspects: first, the data model aspect, which
deals with identifying an appropriate data model for supporting advanced applica-

tion domains; and second, the system architecture aspect, which deals with defining

a suitable system architecture for realizing a system based on the data model.
To analyze the data model aspect, we review some important remarks made by

Dittrich [DIT86] on the notion of a semantic gap that occurs when an application is







2

mapped to a corresponding database. A database which corresponds to a real-world

application captures some specific semantics of the application as accurately and

completely as possible. The term mini-world or Universe of Discourse is used to

refer to the real-world corresponding to the application. As Dittrich points out, two

classes of semantics can be distinguished. The first class of semantics, which we shall

denote by S, is the semantics of the mini-world itself. That is, the semantics of the

application in the real-world. The second class of semantics, which we shall denote

by 8, represents the semantics of the mini-world as captured in the corresponding
database. That is, the semantics of the application as captured in the database.

In order to capture or express the mini-world semantics, a mechanism for ab-

straction and representation is needed. A data model represents such an abstraction

and representation mechanism. Thus, S depends on the data model used to capture

the semantics of the application. Usually S < S, since the imperfect nature of data

modeling constructs implies that all the required semantics of a mini-world can-

not be precisely abstracted and represented in the database. Thus, a semantic gap

(S S) always exists due to the difference between these two classes of semantics.

The semantics not captured by a data model, that is (S j), must be provided by

an application program and/or by an implicit interpretation on the part of end-users

that semantics S imply semantics S. As application domains become increasingly

complex, the semantic gap widens and complicated application programs are needed

to capture those semantics that the data model is unable to capture. Clearly, the

semantic gap cannot be totally eliminated since this would require data models to be

perfect. In view of this, an important issue is to define a suitable framework for data

modeling (that is, a data model) for supporting advanced and complex application

domains such that the semantic gap is minimized.

To address this issue, we enumerate two key factors that contribute towards an

increased semantic gap when using existing data models. First, the data model









may be semantically inadequate. That is, the data modeling constructs may not be
semantically rich enough to capture the semantics of various application domains.

Second, the data model may be fixed. That is, a given application can only be
modeled using a fixed set of data model constructs even though diverse applications
have different needs. These factors which have contributed to the semantic gap are
an important aspect of the problem that this dissertation addresses, and techniques
that aim to reduce the semantic gap are an important part of the solution that we

propose. As discussed below, these factors have influenced the development of data
models in recent years.
Traditionally, data models such as relational, hierarchical, and network were

primarily designed for use in business-oriented applications. When used in more
complex and non-traditional application domains, such data models were found to
be semantically inadequate. This resulted in the development of early semantic data
models such as the Binary Relationship Model [ABR74], Aggregation and Gener-
alization data modeling constructs [SMI77], the Entity-Relationship (ER) Model

[CHE76], the Semantic Data Model (SDM) [HAM81], the Functional Data Model
(DAPLEX) [SHI81], and Semantic Association Model (SAM*) [SU83]. In compar-
ison with traditional models, these semantic data models incorporated additional
semantics into the data modeling constructs so as to reduce the semantic gap.
The emergence of the object-oriented paradigm from Artificial Intelligence (AI)
knowledge representation concepts and its incorporation into languages such as Sim-
ula [BIR74], Smalltalk [GOL83], Loops [BOB83], and CLU [LIS86] led to the merging
of semantic data models and object-oriented concepts, resulting in a class of new
and advanced data models referred to as object-oriented (00) or object-oriented

semantic data models. In addition to providing advanced structural data model ab-

stractions, object-oriented data models also provide a strong behavioral abstraction

component through the use of abstract data types and methods--a feature absent







4

in previous data modeling paradigms. Examples of such data models can be found
in NIAM [VER82], IDEF1X [LOO86], IFO [ABI87], STDM [COP84], IRIS [FIS87],
Gallileo [ALB85], TAXIS [MYL80], DAMOKLES [DIT87], and OSAM* [SU89]. A
survey of such data models can be found in Hull and King [HULL87] and Peckham
and Maryanski [PEC88]. A more powerful behavioral abstraction, namely declara-
tive rules, has also been recognized by and incorporated into some of these advanced

data models [BOB83, BR084, KER84, MOR84, SU89]. High-level declarative rules
enhance the data management capabilities by providing knowledge management
capabilities--capabilities that include truth maintenance, constraint management,
deduction and inferencing, and the ability to trigger or activate actions under user-
specified conditions.
In order to minimize the semantic gap, object-oriented data models provide a

large set of rich data modeling constructs. These include specialized structural
constructs which encode high-level structural semantics. Furthermore, behavioral

abstractions such as methods are provided and enable application programs (nor-
mally used for enforcing additional semantics) to be directly incorporated as part
of the database. However, these models suffer from two shortcomings. First, these
data models do not address the second factor that contributes towards an increased
semantic gap. That is, in spite of their advanced data modeling constructs, these
models only provide a fixed set of data modeling constructs. Second, the combi-
nation of the large number of constructs and the semantically rich nature of the
constructs lead to unwieldy and inefficient implementations of such models.

Clearly, a fixed data model cannot support a diverse range of applications even
if it possesses many semantically rich constructs. The semantics of different ap-

plications require specialized constructs, the absence of which leads to the usage of
complicated application programs for enforcing such semantics. This analysis of data
models leads us to conclude that an extensible data model approach is needed to









overcome the fixed nature of existing data models so that many diverse application
domains may be supported. An extensible data model approach allows the semantic
gap to be reduced since the data model can be tailored to a specific application

rather than forcing an application to use a specific data model.

We now analyze system architecture considerations for next-generation KBMSs.
A KBMS represents the implementation or realization of a specific data or knowl-
edge model. Initially, many early data models served as conceptual database design

and modeling tools in various application domains. The maturing of these appli-
cation domains resulted in an increasing need for developing KBMSs or DBMSs

corresponding to the various data models so that databases or knowledge bases cor-

responding to these applications could be realized. Several approaches have been

suggested [ABI86, AGR89, ALB85, ONT88, BAN87a, BAN87b, COP84, DAD86,

MAI86a, FIS87, SER87, SKA86].
One approach is to build layers of software on top of existing traditional DBMSs

to implement the semantics of a particular data model. While this approach enables

the use of existing DBMSs, the large semantic mismatch between the semantics of

advanced data models and that of the underlying database engine entails the devel-

opment of extensive layers of system software to perform numerous mappings which

are typically complex, cumbersome, and inefficient. An additional disadvantage of
this approach is that the monolithic nature of traditional DBMS architectures is not

conducive to functional extensions. A second approach is to develop a dedicated

system for each advanced data model and for the corresponding application domain.

While this approach would eliminate any semantic mismatch and provide high per-

formance, it is not feasible due to the excessive monetary costs and development

time it would entail. The two solutions enumerated above represent two extremes

in the solution space of the problem. In pursuit of a reasonable middle ground, two









independent approaches have been proposed, namely, the object-oriented database
system approach and the extensible database system approach.
The object-oriented database system approach [AGR89, ONT88, BAN87a, BAN87b,
COP84, DAD86, DIT87, FIS87, MAI86a, SKA86] proposes the development of a sin-
gle (and usually fixed) DBMS architecture based on a specific object-oriented data
model. A key disadvantage with this approach is that the system is fixed and not

easily extendable. That is, only a fixed set of higher order data modeling con-

structs is supported. This approach implicitly assumes that a single object-oriented
data model suffices to support all applications, with not much provision for appli-
cations and data modeling constructs whose requirements fall outside the original
model and system specifications. Furthermore, the issue of defining a single object-
oriented data model is both subjective and controversial. Unlike relational DBMSs,

which are all based on a common relational data model, it is not possible to do the
same for object-oriented database systems because no clear consensus exists on a
common high-level object-oriented data model [ATK89]. Consequently, differences

and incompatibilities may exist even if the same application utilizes different object-
oriented database systems since each system supports its own notion of a high-level
object model.
The extensible database system approach [BAT88, CAR86b, LIN87, ST086] pro-
poses the development of an extensible DBMS architecture, an architecture which
is deliberately designed to provide explicit mechanisms for functional extensions to
the system architecture. This allows the database system to be customized or tai-
lored to support specific application domains. In Postgres [ST086] and Starburst

[LIN87] extensibility is provided within the framework of a relational data model.
The approach taken by Genesis [BAT88] is characterized by a network model ba-

sis and uses a strict building-blocks framework for extensibility. Exodus [CAR86b]

couples a fixed, powerful object-based storage manager with a set of tools to achieve







7

extensibility. These different extensible systems are characterized by the different

models on which they are based and the approaches taken to achieve extensibility.

A shortcoming in many of these systems is that, though the system architecture is

designed to be extensible, the model on which the system is based is fixed and not

extensible. Thus, system extensibility is usually provided only within the framework
of a fixed data model.

Based on the analysis of data models and system architectures presented above,

we conclude that the combination of a single (fixed) data model and a fixed system

architecture is clearly unable to support the needs of advanced application domains.

In this dissertation, we present our approach to the development of next-generation

KBMSs for supporting advanced application domains. We propose the use of an

extensible kernel object model as a basis coupled with an open, layered, and mod-

ular framework for achieving system extensibility. Our approach builds upon an

integration of the object-oriented DBMS approach and the extensible system ap-

proach thereby overcoming the limitations of each of the individual approaches. It

is based on the concept of a generalized, extensible, and object-oriented architecture

for Knowledge Base Management Systems. In comparison with the approaches de-
scribed previously, our approach aims to provide a unified and integrated framework

for extending both the data model and the underlying system architecture.

Unlike object-oriented DBMSs which are based on a fixed set of high-level object-

oriented data modeling constructs, our approach begins with a set of basic and
generalized data modeling constructs common to the range of advanced semantic and

object-oriented data models. Collectively, this set of basic data modeling constructs

are used to define an eXtensible Kernel Object Model (XKOM), which serves as a

basis for our approach and is used to realize a kernel system. By making the data

model extensible, the semantic gap caused by the fixed nature of data models is

alleviated.









The data model also incorporates the specification of knowledge rules since an

important requirement for next-generation KBMS architectures is an integrated ap-
proach to knowledge management [RAS87, RAS88, SU85]. Consequently, rule spec-

ification and processing are integrated into the architecture of the system at both

representational and functional levels. Rules are available for use by end-user data
models and application domains but more importantly are reflexively used in the

system architecture as a basic mechanism for extending the semantics of the data

model.

To achieve system extensibility, we propose an open, layered, and modular frame-

work coupled with a reflexive approach to system implementation. An open and

modular architecture is realized by using the object-oriented paradigm to model

functionally distinct system components in various layers. Functional extensions to

the system architecture are carried out by appropriate modifications to the schemata

which correspond to specific functional modules. In designing the layered framework,

a middle-out approach is used in which XKOM serves as the basis for a well-defined

intermediate level of abstraction. This model (XKOM) can then be (a)upwardly ex-

tended to support appropriate high-level, end-user, data model constructs useful for

advanced application domains and (b)downwardly extended to different and possibly

alternative physical data organizations, access paths, and storage sub-systems.

To demonstrate the feasibility of the concept of an extensible data model coupled

with an extensible system architecture, this research also investigates implementa-

tion techniques for a kernel object manager, a data dictionary module for managing

meta-information, and a query/rule processor [LAW91, LU91, YAS91]. Query/rule

processing is emphasized since the ability to specify and process high-level declar-

ative queries is an important factor which has contributed greatly to the success









of database systems. In view of this, we investigate a generalized graph-based ap-

proach to query processing for object-oriented databases using adjacency matrix

data structures.

This dissertation is organized as follows. In Chapter 2, a survey of relevant

literature pertaining to several areas that have a bearing on this research is pre-
sented. Among areas surveyed are DBMS architectures, object management tech-

niques, techniques for query processing in object-oriented databases, methodologies

for software development, and meta-level and reflexive architectures. Chapter 3

presents an overview of the approach that this dissertation proposes for developing

advanced KBMSs. In Chapter 4, the eXtensible Kernel Object Model (XKOM)

having the properties of generality, extensibility and reflexivity is presented. The

management of meta-information using a reflexive model of XKOM as a basis is

the focus of Chapter 5. In Chapter 6, we study the management of kernel objects:

objects which are defined using XKOM as a model of abstraction. Conceptual and

implementation issues relating to query and rule processing in our KBMS architec-

ture are addressed in Chapter 7. Chapter 8 presents further details on achieving

data model extensions in the light of the work presented in the previous chapters.

To demonstrate the proposed notions of extensibility, the Object-oriented Seman-

tic Association Model (OSAM*) [SU89] is used as an example end-user target data

model. Finally, Chapter 9 summarizes the research presented in this dissertation,

presents a conclusion on the results achieved, and suggests some areas for future

research.














CHAPTER 2
A SURVEY OF RELATED WORK

In this chapter, we present a survey of several topics which are related to the re-
search presented in this dissertation. The topics surveyed include different categories

of KBMS and DBMS architectures, object management techniques, query processing

techniques for object-oriented databases, methodologies for software development,

and meta-level and reflexive architectures.

2.1 KBMS and DBMS Architectures

In this section, we begin with a retrospective on early database system architec-

tures which are the forerunners of current system architectures. Then, we focus on
current approaches for supporting advanced application domains: object-oriented

database system architectures and extensible database system architectures.

2.1.1 Traditional DBMS Architectures

In the early stages of database system development, system architectures were

not well-defined, and database software consisted mostly of system code developed

by system programmers.

With the advent of the relational data model [COD70], two well-designed data-

base system architectures emerged, namely INGRES [ST076] and System R [AST76].

In particular, System R proposed a two-level architecture consisting of a Relational

Data System (RDS) and a Relational Storage System (RSS) having well-defined

interfaces called the Relational Data Interface (RDI) and the Relational Storage In-

terface (RSI), respectively. The separation of logical and physical database aspects







11

in different layers contributed to an architecture which has produced widely accepted
results in the domain of relational database system architectures.

2.1.2 Object-oriented DBMS Architectures

As described in Chapter 1, the semantic inadequacies of traditional data models
and their corresponding systems (e.g., relational) led to the development of object-
oriented data models and corresponding system architectures.
Object-oriented DBMSs aim to provide a single system having powerful capabil-
ities to handle the requirements of advanced application domains. In particular, the
system is based on a single high-level object-oriented data model. This approach
usually requires an application to use a specific (fixed) data model and makes no
allowance for application domains whose requirements fall outside the original spec-

ification of the data model and underlying system architecture. We now briefly
describe some of the more prominent systems using two different categories to clas-
sify such systems.
In the first category of object-oriented systems, systems such as Gemstone [MAI86a],
Vbase [ONT88], and ONTOS [ONT90] have been developed as object-oriented en-
vironments which provide a specific data model together with persistence and a
database programming language for defining and manipulating objects. Gemstone
is based on the SmallTalk Data Model (STDM) [COP84] It introduces the notion of
persistence objects into the Smalltalk Data Model by providing a large extended, vir-
tual memory together with a Smalltalk-like database language called OPAL [SER87]
for manipulating objects. Vbase provides its own object-oriented data model to-
gether with two languages. A Type Definition Language (TDL) for defining user-
defined data types, and a language called COP for writing methods associated with
a class or type. ONTOS, the successor to Vbase, is based on the C++ data model,
and provides persistence to objects in the C++ programming language. The C++
language is used for defining types, and also, as a database programming language.









The systems in this first category have not been designed and developed as com-

plete DBMSs. Rather, these systems provide an environment in which application

specific classes can be developed by application programmers. A library of system
pre-defined classes (e.g., sets, arrays, bags, etc.) is provided to build user-defined

classes. Typical database functionalities such as set-oriented queries are usually not

provided.

In the second category, object-oriented database systems such as Orion [BAN87a,

BAN87b], Iris [FIS87], and 02 [LEC88, LEC89, VEL89] have been designed as more

complete database systems based on specific object-oriented data models. Unlike

the environment-oriented systems described above, these systems not only combine a

data model with a persistent programming language but also incorporate many data-

base functionalities such as querying, schema modification, and transactions. Orion

is an object oriented prototype database system developed to support advanced ap-

plication domains. The main features of Orion are support for complex/composite

objects, schema evolution, and versioning. Orion regards such features as being key

requirements for advanced applications. Iris is a research prototype being developed

for exploring new database functionalities and features to support advanced applica-

tion domains. Iris uses the concept of an object manager built on top of a relational

storage system to support many different interfaces to external applications. More

recently, the 02 research prototype has been developed as a complete object-oriented

database system for supporting advanced applications. It provides the functionality

of a DBMS (persistence, disk management, sharing, and query language) together

with object-oriented features such as complex objects, object identity, encapsulation,

typing, and inheritance.
All the above approaches to object-oriented DBMSs have focused on a fixed

implementation based on a specific data model. A key design criterion has been to

support the object-oriented paradigm whereas extensibility has not been a major







13

design criterion. Thus, these systems are not designed or intended to be explicitly

extensible. Such systems do provide a basic form of extensibility in that the systems

allow the notion of user-defined abstract data types and user defined operations:

a feature that is attributed to object-oriented data models. However, in all these

systems, system components (modules) are not explicitly available for modification.

2.1.3 Extensible DBMS Architectures

The notion of an extensible database system architecture has been derived from

the argument that a single fixed system is unable to support diverse advanced ap-

plication domains which have varying requirements. Thus, the focus of extensible

systems is to provide a base system together with an extensibility mechanism such

that the base system can be extended or reconfigured to realize a system that meets

the requirements of an application domain.

To better analyze extensible system architectures, we propose the following clas-

sification for extensible systems.

Data Model Extensibility: In data model extensibility, the constructs which concep-

tually define a data model are extensible, that is, existing constructs can be

modified or new constructs can be added.

System Extensibility: In system extensibility, the architecture of a database system

can be extended in order to realize functional extensions. From a traditional

database system perspective, system extensibility can be broadly categorized

into logical extensibility and physical extensibility. Logical extensibility refers

to extensions to the upper (logical) layers of a system architecture, and includes

extensions such as support for different data modeling constructs, user defined

abstract data types and operations, query languages, transaction models, etc.









Physical extensibility refers to extensions to the lower (physical) layers of a sys-
tem architecture, and include extensions such as different data organizations,
file structures, access paths, and other storage related aspects.

We note that data model extensibility and logical extensibility are two distinct

concepts: the former is an abstract concept related to data modeling and the lat-
ter is a physical concept related to a system architecture. To support data model

extensibility, an underlying system architecture must possess logical extensibility.

The reverse is not always true since a system can possess some forms of logical
extensibility in the context of a fixed data model (e.g., the relational model).

While traditional DBMSs cater to two kinds of users, namely, Database Admin-
istrators (DBAs) and end-users, it has been proposed in [BAT88, CAR86b] that

extensible systems require a third kind of user: a DBMS Implementor (DBI) or

DBMS Customizer (DBC). The DBI or DBC is a highly skilled professional, whose
task is loosely defined to be that of customizing or configuring an extensible system

to meet the requirements of specific application domains.

The extensible system approach is characterized by (a) the data model used

as a basis and the degree to which data model extensibility is provided, (b) the

mechanisms proposed for extensibility, and (c) the various forms and level of logi-
cal/physical extensibility supported by the system. We now analyze several existing

extensible systems in the context of the above criteria.

Exodus [CAR86a, CAR86b] is designed around a toolkit approach, in which

kernel DBMS facilities and a set of software tools for semi-automatic generation of

application-specific DBMSs are provided. It builds upon a fixed storage manager

which uses a kernel model of unstructured and untyped objects represented as byte

sequences. The kernel does not support any features present in object-oriented data

models. At the logical level, Exodus provides for application specific Abstract Data

Types (ADTs). A programming language called E (an extension of C) is the tool







15

or mechanism by which extensibility is provided--it is the language that is used by

the DBC or DBI for customizing the system. In order to provide extensibility, an

extensible library of type independent access methods is provided and a rule based

query optimizer and compiler has also been proposed. More recently, an effort is

underway [CAR88] to incorporate an extensible data model on top of the existing
storage system. In Exodus, the initial focus has been mostly on physical extensibility.

Logical extensibility has been limited to features such as abstract data types, and

an extensible query optimizer. Data model extensions have not been investigated.

Genesis [BAT88] is designed as a modular system which relies on database com-

ponents whose interfaces have been standardized in such a manner that they become
interchangeable. The concept of rapidly configuring a storage architecture by writing

a storage architecture specification program has been proposed. The system focuses

mainly on physical extensibility and is based on a model called the Unifying Model

(a variant of the network model). The storage components of a DBMS are considered
to be building blocks or modules that realize files (set of records), linksets (links be-

tween records), and elementary transformations (conceptual to internal mappings).

A rigorous notion of data definition mappings and operation mappings from a logical
to a physical level is presented. Storage architectures are considered to be compo-

sitions of such building blocks, and reconfiguration is carried out by synthesizing a
storage architecture using pre-existing blocks from an extensive library.

Postgres [ST086, ST087] is an extensible system which adds extensibility to the
relational data model. It is based on the relational model, with the stated goal of

making minimal changes to the relational model. It extends the relational model, at

the logical level, with the notions of user-defined ADTs. Thus, the logical extensibil-

ity issues addressed are the definition and use of ADTs, and user defined operations

within the context of the relational data model. At the physical level, Postgres con-

siders the addition and extension of access methods. Postgres supports Postquel (an







16

extended query language), complex objects, triggers, alerters and inferencing. The

basic extensibility mechanism is ADTs.

Starburst [SCH86, LIN87] is a system being built as a successor to System R

[AST76]. It is based on the relational data model and addresses extensions within

the relational model. Starburst proposes two notions of extensibility: user-defined

extensions and data management extensions. User-defined extensions (logical ex-

tensibility, in our terminology) are considered as support for user-defined ADTs

and functions as fields of database records. Data Management Extensions (physical

extensibility, in our terminology) are considered as support for alternate implemen-

tations of database storage and access paths. Starburst considers two forms of Data

Management Extensions: storage methods and attachments. Storage methods deal

with alternate ways (e.g., sequential, B-tree, foreign files at a remote site) of storing

relations and provide a well-defined set of operations such as delete, insert, update.
Attachments are used to define and implement access paths, integrity constraints,

and triggers. Example of attachment types include B-tree indices, hash tables, etc.

Attachments, like storage methods, provide a well-defined set of operations. Unlike

storage methods, attachments are invoked as side effects of modification operations

on relations. The attachment concept provides a more general concept than merely

the concept of extensible access paths. Currently, a query language, rule-based opti-

mizer, and query re-write mechanism is under development [LOH88, HAA89]. Like

Postgres, Starburst provides extensibility within the framework of the relational data
model.

The Darmstadt Kernel System [PAU87] is an extensible, multi-layer system

which aims to support advanced application domains by developing a common kernel

DBMS, and allowing application specific layers to be defined on top of this kernel.

The kernel is a layer that supports the storage level functionalities of the system.









Extensibility is achieved by using the common kernel for all applications and ex-

tending the kernel through the use of application-specific layers on top of the kernel.
Thus, the concept of extensibility is "add-on-top" extensibility, with the lower layers

being largely fixed. This implies that physical extensibility or extensions to the lower
layers cannot be easily carried out. At the upper (logical) layers, the system does

not support the concept of tailoring a data model to different applications. Instead,

the system supports some forms of logical extensibility such as user-defined ADTs

and complex objects.
TI's Open OODB [THO89] represents a combination of the object-oriented ap-

proach and the extensible system approach. This approach aims to build an object-

oriented database system using an open, modular and extensible architecture. The

system has adopted the C++ data model as a reference model due to the widespread

use of the C++ language. It does not support the concept of data model extensions.
Open OODB supports the concept of system extensibility by the use of an open
and modular approach. An attempt is made to identify orthogonal functionalities

and develop a set of generalized modules for object-oriented database systems cor-
responding to such functionalities. The modules themselves are not extensible. The
approach proposed to achieve extensibility is applicable both at logical and physical

levels. The goals of this approach parallel the goals that this dissertation seeks to

achieve. However, in our approach, we propose an integrated and unified approach

to achieve concepts of model extensibility and system extensibility by reflexively
modeling data model components and system components (modules) as objects and

classes using the object-oriented paradigm.

2.2 Object Management Techniques

Techniques for the management of objects are important to the development of

any KBMS. Many object managers such as WiSS [CHO85], Observer [SKA86], Exo-

dus [CAR86a], and 02 [VEL89] have been proposed. Many of these so-called object









managers deal with objects whose structural representation is a low-level storage

representation such as records, fields and files. Many of these object managers are
more appropriately called storage managers. The interface to these storage level
managers is a low-level interface (such as get/put, read/write) based on the storage
level representation of objects.

In contrast, in this dissertation we will address object management in the context

of objects modeled at a level of abstraction which incorporates a set of basic seman-
tics. Ideally, a storage layer must deal only with abstractions and issues that are
relevant to the storage level. Consequently, storage managers should not incorporate

functionalities relating to high-level object representations, high-level operators, and

set-oriented retrievals, but rather provide adequate support for such functionalities.
Instead, management of objects at a higher level of abstraction should be carried
out in a layer above the storage layer.

2.3 Query Processing in Object-oriented Databases

An important functionality needed to support advanced application domains

in any database system architecture is query processing. Since our approach is
based on the object-oriented paradigm, we review approaches to query processing

in object-oriented databases. Several query languages and processing techniques
[SHI81, ZAN83, MAI86a, ST086, ONT88, ROW87, BAN88, CAR88, KIM89a] have
been proposed for object-oriented database systems. We discuss existing approaches
to query processing by classification the techniques used based on the formal data
structures proposed as a basis for computing queries.
Several systems, such as Vbase [ONT88], Iris [FIS87], Postgres [ST086, ROW871,

and Exodus [CAR88] have combined relational query processing structures with

object-oriented databases. Such systems use tabular (relation-like) structures for

internal representation, and process operations such as joins to compute the results.

Queries are typically specified using O-SQL like languages or variations of QUEL.









Some systems such as Vbase [ONT88] merely provide an SQL interface, while sys-
tems such as Iris [FIS87] provide an object version of SQL (OSQL). Systems using
QUEL-based languages, such as Postgres [STO86, ROW87] and Exodus [CAR88]
use an extended dot operator to perform various types of joins. Some of these sys-
tems including [DAD86] use relations or nested relations as a basis. Using data
structures such as nested relations can result in a semantic mismatch between the
object-oriented data model and the relational data model.

Other systems, such as ODE [AGR89], Gallileo [ALB85], and OPAL [SER87],
have taken the approach of providing query capabilities through the use of Database

Programming Languages (DBPLs). Such DBPLs lack a declarative set-oriented
query capability and manipulate objects singly using programming language con-
structs. Accordingly, a query result containing objects and associations that span
across many classes cannot be represented except as a user-defined program struc-
ture.
Another technique used for query processing in object-oriented databases is to
express the results of query as objects from a single class (the anchor or target
class). Objects from other classes connected to the Anchor, may then be further
accessed via navigational operators (e.g., a dot operator) on the Anchor Class. For
this category, a single set of objects (or oids) is sufficient to serve as an internal
structure for computing queries. However, this is restrictive, since only a given class

of queries can be computed. In particular, queries that return objects from multiple
classes in their results are excluded. Examples of systems which use this technique

include Orion [BAN88], Daplex [SHI81], and GEM [ZAN83].
Kim [KIM89a] proposes a technique in which a new class is created to hold the
results of a query. For example, a "join" between two objects from two different
classes produces a third object of a newly created class. In this case, the system









must address the issue of defining precisely the semantics of the newly created class

and object.

2.4 Methodologies for Software Development

In this section, we review design methodologies that apply to the development

of database system software since our approach emphasizes that the system soft-

ware itself must be developed in an extensible manner in order to realize system

extensibility.

Early approaches to software development were largely ad-hoc processes under-
going many iterations of informal design, coding, and testing. A more methodical

approach to software development was introduced through the concept of "structured

methods." Examples of structured methods or structured design include Structured

Design [CON79], Structured System Analysis [GAN79], and Jackson System De-
velopment [JAC83]. In the structured method or structured design approach, the

system is designed from a functional viewpoint. First, a high-level view of the sys-

tem is developed, and then, using functional decomposition, this view is decomposed

into a more detail design in a step-wise manner.
More recently, the object-oriented paradigm having several desirable features
such as encapsulation, data abstraction, and information hiding, has been proposed

as a methodology for software design. In this approach, the system is viewed as a

collection of objects rather than a collection of functions. Here, messages which are

passed from one object to another take the place of functions. Each object has a
set of operations which are invoked through messages. Liskov and Guttag [LIS86],

present a comprehensive approach to data and function abstraction, and a guide to

program development using such abstractions.

Booch [B0086] focuses on the design of software systems using object-oriented

development. Booch describes a system structuring technique based on an object-

oriented decomposition using data or functional abstractions and decompositions.







21

The technique illustrates factoring the system into objects using small case studies

of application-specific software. The paper does not specifically deal with applying

the approach to the system software of the general class of software systems, or even

to a specific class of software systems (for example, database management systems).

While most examples have applied object-oriented concepts to simple application

software, a more complex task involves determining how the paradigm can be applied

to large software systems. Clearly, it is feasible to apply these notions of abstraction,

and the object-oriented paradigm for developing the system software of large software

systems. In our effort, we plan to apply these notions to one class of software systems,

namely, KBMSs.

2.5 Meta-level and Reflexive Architectures

In this section, we review related work in the area of meta-level and reflexive

architectures for object-oriented systems. Currently, this area is receiving increasing

interest in the context of programming languages. Broadly speaking, a programming

language is considered reflexive if it can operate on itself. While some work has been

done in the area of reflexive architectures for procedure-based languages, logic-based

languages, and rule-based languages, we will focus on reflection in object-oriented

languages and systems.

In the object-oriented paradigm, reflexivity is usually addressed in the context

of meta-objects and meta-classes. Traditionally, the term meta-class has been used

to refer to a class whose instances themselves are classes [COI87, GOL83]. However,

the concept of meta-classes and meta-objects has evolved and today, these terms are

used to describe classes and objects which describe the specification and/or behavior

of languages or systems.

Maes [MAE87] proposes a fairly comprehensive set of concepts to describe re-

flection in object-oriented languages. Computational reflection is defined as "the

activity performed by a computational system when doing computation about (and







22

by that possibly affecting) its own computation." The paper also defines structural
reflection or self-representation as the property of a system which incorporates struc-

tures representing (aspects of) itself. The paper also identifies various issues that

a language interpreter must address in order to achieve the concept of reflexivity.

A uniform and reflexive definition for a system supporting ObjVlisp is described in
[COI87]. This system investigates the use of meta-classes, and studies the transi-
tions from uniform representations to reflexive representations, and the use of such

properties for extensibility. An ObjVlisp Model is developed using classes and ob-

jects at a meta-level and operational semantics are expressed in Lisp. In [KIC91], an

approach to programming using meta-objects is presented. Meta-objects are used
to provide the ability to extend the behavior and implementation of the language.
The approach is verified using meta-objects in the Common Lisp Object System

(CLOS).
In the approaches mentioned above, reflexivity is addressed in the context of

programming languages, with emphasis on the effect of computational reflection on

language interpreters. In contrast, reflexivity in the context of database systems has
not been a well-studied area. In this research, we explore the concept of reflexivity in
database systems with emphasis on using reflexivity as a basis for achieving extensi-
bility. Instead of focusing on computational reflexivity and language interpreters, we
initially deal with structural reflexivity or self-representation in database systems.














CHAPTER 3
A FRAMEWORK FOR EXTENSIBILITY

In this chapter, we outline the framework and software architecture that we

propose for developing advanced Knowledge Base Management Systems (KBMSs).

A clarification of some terminology is in order. We use the term "framework" to

mean the overall approach and methodology. The terms "software architecture" or

"architecture" will be used to refer to the abstract representation of the software

configuration of a complex system such as a Knowledge Base Management System.

The terms "Knowledge Base Management System" or "KBMS" will be used to refer

to the physical realization of this architecture.

First, we list key features of our approach. Then, we present an overview of the

proposed approach and discuss the importance of these features in the context of a

next-generation KBMS architecture. In the overview, we also explain the relevance

of the material to be presented in Chapters 4 through 8 to the proposed approach.

3.1 Key Features of our Approach

The key features of the approach we propose for developing next-generation

KBMSs are as follows:

1. An extensible, object-oriented base model called eXtensible Kernel Object

Model (XKOM).

2. An open, layered and modular framework for defining an extensible system

architecture.

3. Mechanisms for model extensibility.









4. Mechanisms for system extensibility.

5. A novel graph-based approach for query/rule processing in object-oriented
databases.

6. An integrated approach to knowledge management.

3.2 Overview of our Approach

In Chapter 1, we analyzed the task of developing a next-generation KBMS from

two aspects; the data model aspect and the system architecture aspect. Based on this

analysis, we propose an approach that addresses these two aspects in an integrated

manner.
To address the first aspect, we define an appropriate data model to serve as a
basis for the proposed extensible system. In this regard, we were greatly influenced

by many desirable features that object-oriented data models possess over traditional

data models such as relational, network, and hierarchical. These include features

such as data abstraction, encapsulation, polymorphism, inheritance, etc. Object-
oriented (00) data models provide two forms of abstractions; structural abstractions
and behavioral abstractions [DIT86]. Thus, a class in an 00 data model encapsu-

lates structural properties of an object such as its relationships with other objects

together with behavioral abstractions such as methods that operate on the object.
However, many high-level object-oriented data models capture advanced semantics

in complex structural constructs. Thus, different object-oriented data models may

provide similar semantics by using various structural constructs in different ways.

To unify the semantics corresponding to the diverse structural constructs in dif-

ferent models, we propose an eXtensible Kernel Object Model (XKOM) to serve

as the basis for our approach. XKOM is a generalized base model which contains

the basic structural abstractions that form a common denominator among the ex-

isting object-oriented and semantic data models. A key design philosophy is to







25

provide minimal semantics in basic structural constructs and extended semantics

via powerful behavioral abstractions. This allows the base model to be extended to

incorporate additional semantics provided by high-level data models for supporting

advanced application domains. To provide this capability, XKOM includes behav-

ioral abstractions in the form of methods and rules. Similar to methods, XKOM
incorporates rule specification as part of the class definition thereby providing an

integrated approach to knowledge management [RAS87, RAS88, SU85].

Using this extensible data model as a basis, we then propose an open, layered,

and modular framework for defining an extensible system architecture. By coupling

an extensible data model with an extensible system architecture, we aim to support

advanced application domains which require (a)advanced data model abstractions

such as specialized structural constructs, and facilities for defining behavioral ab-

stractions such as rules and methods, (b)specialized interfaces such as query lan-

guages, data definition and manipulation languages, graphical user interfaces, and

database programming languages, and (c)storage and processing techniques such as

specialized file organizations and access methods. In particular, an open, layered,

and modular framework allows the incorporation of such features at different levels
(logical and physical) of abstraction in an integrated and unified manner.

The integration of the two concepts described above, the base model (XKOM),
and an open, layered and modular framework is carried out as follows. In the lay-

ered framework, a middle-out approach is used with XKOM serving as the basis
for a well-defined intermediate level of abstraction. Figure 3.1 illustrates this lay-

ered framework, with the different layers and the corresponding mappings between

such layers. Logical extensibility or extensions to upper levels of abstraction are

carried out by upwardly extending the intermediate layer to support appropriate

high-level, end-user, data modeling constructs to be used in advanced application















LOGICAL REPRESENTATION LAYER
High level, logical (end-user) data modeling constructs
End-user interfaces such as query languages, etc
Other logical end-user abstractions (new association types),
constructs, application-related features/constructs etc
MAPPING
Mappings from logical (end-user) data models, constructs,
abstractions, query languages to underlying eXtensible
Kernel Object Model (XKOM) Layer
1 KERNEL OBJECT MANAGEMENT LAYER
eXtensible Kernel Object Model (XKOM): a basic, canonical,
object based model serving as an intermediate level of
abstraction
Provides extensibility mechanisms
Provides a base set of extensible object-level operations
for kernel objects
MAPPING
Defines the implementation of XKOM
Mapping the Kernel Object Model to underlying storage
structures and implementation of the base set of object level
operations

UNDERLYING STORAGE LAYER
Physical Storage of kernel objects



Figure 3.1: A Layered Framework for Extensibility









domains. Physical extensibility or extensions to lower levels of abstraction are car-

ried out by downwardly extending the intermediate layer to different and possibly
alternative physical data organizations, access paths, and storage sub-systems. We
note that XKOM also serves as an internal model of implementation for the system.

The use of levels of abstraction provides a systematic design and implementation
philosophy, enabling the system designer to visualize many different aspects of the
system architecture. The open, layered and modular framework that we propose

realizes an "open system architecture"--an architecture that enables the system to

be incrementally extended at any level of abstraction.

Based on the framework described above, a kernel KBMS is realized--a system

which serves as a core from which more sophisticated KBMSs can be built. Similar

to the notion of a DBC or DBI, we assume that extending and configuring the kernel

KBMS is the task of a KBMS Customizer (KBC).

In Figure 3.2, we illustrate the different steps involved in configuring and using a

kernel KBMS. If necessary, the KBC must configure or extend the kernel KBMS to

satisfy the requirements of an end-user data model to be used in a specific application

domain, and generate a final KBMS having the desired functionality. (A special

case is where the kernel KBMS is used in its basic form). The Knowledge Base

Administrator (KBA) then uses the final KBMS to develop an application knowledge
base, which can then be used by various end-users. Note that in the figure, the kernel

KBMS is portrayed as a black box, and a KBMS derived from the kernel KBMS

is portrayed as a larger black box. Later on, we will show that these black boxes

represent a well-defined specification and implementation of the model and system,

and that our approach provides a well-defined methodology to customize the model
and system. As a result, the tasks of the KBC, like the tasks of a KBA, are fairly

well-defined. In contrast, other approaches to extensible systems have not made an

attempt to clearly identify the tasks of a DBI or DBC.












SOURCE TARGET APPLICATION
(KERNEL) --TASK KBMS TASK (TARGET)
KBMS KBMS Customizer (KBC) KBMS Administrator (KBA) KNOWLEDGE
customizes Kernel KBMS implements a given applications BASE
to produce a Target KBMS on the target KBMS


KERNEL -
KBMS

[special case: target KBMS = source KBMS = kernel KBMS]


Figure 3.2: The Proposed Extensible KBMS Scenario


KERNEL
KBMS


application
knowledge
base







application
knowledge
base




application
knowledge
base


31







29

We now outline the techniques we propose to achieve extensibility. The basic

technique we propose is to reflexively apply data modeling techniques to model the

data model itself, and to model the software architecture of the system. Figure 3.3
illustrates this technique. When a data model is used to model an application such as

a University database, a schema or class system is produced representing an abstract

specification of the "application world." Using the same technique, the model can

be used to model itself, resulting in a schema or class system which represents a

"model of the data model," and to model the software architecture of the KBMS

which results in a "model of the system." We note that the black boxes referred to

previously and shown in Figure 3.2, represent these model and system schemata.

Data model extensions are realized using Model Reflexivity. In Model Reflexivity,

a data model (XKOM) is used to reflexively model itself. This results in a meta-

model schema--a set of (meta) classes which are used to describe and implement the

semantics of the data model (XKOM). Initially this meta-model schema represents a

basic and generalized model. To illustrate this concept, Figure 3.4 shows a high-level

(not detailed) schema of the "model of the basic XKOM model." Model Extensibil-
ity then involves tailoring or customization of the meta-model schema to extend the

basic model (XKOM) into a high-level end-user data model. The extension to the

meta-model schema is carried out using a number of extension mechanisms namely

user-defined data types, association types, methods (operations), and knowledge

rules. Rules provide a convenient and declarative mechanism for specifying con-

straints associated with customized data model semantics. The task of tailoring the

data model schema is the responsibility of the KBC. Data model extensions such as

user-defined class types and association types are investigated in this research.
Extensions to the software architecture of the system are realized by using an

open and modular software architecture. The object-oriented paradigm is used to













model abstract specification
"real world" 4 and implementation
of "real world"


model of a user application
University Schema
Class System
university model of Application
application





model of the data model
Meta-model Schema

model Class System
Data Model of Data Model






model of the system System Architecture
Schema
KBMS model
software Class System
of System
Architecture




Figure 3.3: Applying data modeling techniques for model and system specification









































Figure 3.4: Class System for "Model of the Model" (top level view with no details)









generically model functionally distinct system components (modules) in various lay-

ers resulting in a system meta-architecture schema--a set of (system) classes which

are used to describe and implement the software architecture of the system. To illus-
trate this concept, Figure 3.5 shows a high-level (not detailed) schema of the "model

of the system." Functional extensions are carried out through appropriate modifica-

tions to the sub-schema corresponding to specific functional modules by using data

types, association types, methods, and rules. In this dissertation, we will illustrate
this approach using three important system modules, namely, a Kernel Object Man-
ager, a Query/Rule Processor, and a Meta-model/Meta-information Management

Module. However, the same approach can be used in developing other modules such

as Storage Managers, Transaction Managers, etc.
Each chapter of this dissertation deals with some aspect of the extensible data

model and the open, modular and layered framework and architecture for next-gen-

eration KBMSs.

The first feature of our approach is defining an eXtensible Kernel Object Model

(XKOM) to serve as a basis for the approach. Chapter 4 describes the eXtensible

Kernel Object Model (XKOM). We identify a set of basic or generalized data model

structural abstractions which include the generic notions of object, instance, class,

identity, and association. XKOM also provides behavioral abstractions in the form

of rules and methods. The specification of high-level declarative rules are included

as part of class definition. This allows for an integrated approach to knowledge

management. Another important aspect of the approach which is related to the

data model, namely, Model Reflexivity is also described in this chapter.

The class system that results from reflexively modeling the data model also

serves as a natural basis for managing meta-information. Chapter 5 describes the

use of this class system in the management of meta-information. In the approach

we propose for managing meta-information, an important feature is that data and








































Figure 3.5: Class System for "Model of the System" (top level view with no details)







34

meta-data (including model, system, and application meta information) is managed
in a uniform and integrated manner based on the object-oriented paradigm. In

contrast, many existing DBMSs treat meta-data differently from application data.
For example, the notion of catalog relations in relational systems treats the defi-

nition of meta-data in a manner similar to application data, but specialized (and

non-extensible) access routines are embedded in the system for accessing meta-data

differently from application data. Similarly, in many object-oriented DBMSs, meta-

data is not treated like application data but rather embedded in internal structures

and access routines. In the approach we propose, the necessary access methods for

manipulating meta-information are realized by specifying appropriate methods in

the classes that comprise the meta-model schema. A bootstrap process is used to

instantiate the meta-model class system and generate the initial set of meta-objects

which define the semantics of the initial data model. Also, the same class system is
used to parameterize classes, associations and other data model concepts.

The material presented in Chapter 4 and Chapter 5 provide a broad perspective

on the data model (XKOM), and the usefulness of the concept of Model Reflexivity.

Issues relating to the realization of a kernel KBMS corresponding to XKOM are
addressed in Chapter 6, which deals with the management of kernel objects. The
kernel KBMS which deals with the management of kernel objects, must address is-
sues relating to the storage and processing of kernel objects. A distributed model of

storage for kernel objects, having better characteristics for inheritance is proposed.

In order to support the notion of associations, strong support is provided for pro-

cessing object references. Access patterns in object-oriented databases are classified

as either value-based access or association-based access, and processing strategies

are defined accordingly. Based on these factors, a generalized set of kernel object

manipulation operators are defined as an interface for an extensible kernel object

management system. The software configuration and class system corresponding to









this kernel object management system are used to illustrate the concept of modeling

the software components of the system architecture. The implementation of the

kernel object management system is also described.
An important feature of a next-generation KBMS is the capability to specify and
process high-level declarative queries and rules. This aspect is the focus of Chapter

7. A generalized approach to query processing for object-oriented databases using

adjacency matrix data structures is used. The approach is based on the concept

that query processing in object-oriented databases involves the manipulation and
processing of large sets of instance graphs or patterns. A representation scheme using

adjacency-matrix-based data structures is proposed and algorithms for manipulating

sets of graphs are also investigated. A classification of query types using graphs as a

basis is exploited to generate and execute query execution plans (QEPs). The same

technique of modeling software components of the system architecture is also used

in the case of the query processor and illustrates the feasibility of our approach for

an extensible system architecture. The implementation of a query processor based

on these concepts is described.
Chapter 8 provides a further study on Model Extensibility. Two important forms

of model extensibility, namely class extensibility and association extensibility are

investigated. Class extensibility relates to the ability to define different types of

classes, that is, different types of objects. For example, a particular application
domain or data model may require the notion of design objects having certain specific
characteristics or semantics. Association extensibility relates to the ability to define

different type of associations or relationships among object classes. In this case

too, a particular application domain or data model may require the notion of a

specialized association or relationship such as Interaction [SU89]. To illustrate these

concepts, we use the Object-oriented Semantic Association Model (OSAM*) [SU89]

as an end-user target model at the logical level.















CHAPTER 4
AN EXTENSIBLE KERNEL OBJECT MODEL (XKOM)

In this chapter, we address the data model aspect of next-generation KBMSs by
proposing an eXtensible Kernel Object Model (XKOM). This chapter is organized

as follows. In Section 4.1, we introduce the concept of an extensible data model

approach, outline the benefits of such an approach, and specify some requirements

for defining the extensible data model (XKOM). The structural aspects of XKOM

are presented in Section 4.2, and in Section 4.3, we use the data model to illus-
trate the object-oriented view of an example database. The behavioral aspects of

the data model are discussed in Section 4.4. In Section 4.5, we introduce language

components which are necessary to define and use the various structural and behav-

ioral abstractions. Finally, Section 4.6 addresses issues related to extending the data

model.

4.1 The Extensible Data Model Approach

To overcome the limitations of existing data models, we propose an extensible

data model approach which preserves many of the advantages of existing high-level
object-oriented data models and yet, overcomes many of their limitations. We now

describe the philosophy underlying our approach.
Our approach proposes that the data model be extensible, unlike other ap-
proaches which assume that the data model represents a fixed set of constructs

(that is, a rigid framework). To do so, we begin with a kernel data model having
a set of core data model constructs and adopt a building-blocks approach towards

extending the kernel data model to realize a customized model.









4.1.1 Benefits of the Approach

The benefits of using an extensible data model approach are enumerated below:

1. The concept of extensibility alleviates the semantic gap since the customized
data model can include appropriate data model constructs to more accurately

model the mini-world.

2. The concept of extensibility ensures that emerging application domains having

varying and dynamic requirements for data modeling can be accommodated.

3. Each application uses a specific data model consisting of the set of kernel

constructs plus any additional constructs it requires. Thus, the application

does not have to be burdened with the entire complex data model which may

include constructs not needed by the application. This feature implies a leaner
and more efficient system.

4. The implementation complexity of the kernel system is reduced since the basic

nature of the kernel concept ensures that a small and optimized implementation

of the core or kernel system can be realized.

4.1.2 Data Model Requirements

To define an extensible data model, we now outline three key requirements that

the data model must satisfy.

1. Basic Structural Abstractions: The data model must provide a set of basic

structural constructs. Ideally, these constructs must represent a set of core

concepts that are common to the range of existing object-oriented and semantic

data models. The resulting model can then unify these existing data models

by serving as a common core to all such models.









2. Powerful Behavioral Abstractions: The data model must provide powerful be-

havioral abstractions which include methods and rules. Methods serve as an

efficient and procedural approach to specifying behavioral semantics and can
be used by the system for developing and modifying system software as well as

by end-user applications. Rules are important because they serve as a powerful

declarative approach for specifying behavioral semantics. The declarative na-

ture of rules aids extensibility since rules can be used in a declarative manner

for specifying and tailoring system and application semantics.

3. Extensibility: The data model must be extensible. That is, it must provide the

necessary constructs to specify and extend the data model. Consequently, the

system underlying such a model can be made extensible, so as to realize the

data model extensions.

4.2 Basic Data Modeling Constructs: Structure

In this section, we address the first requirement that the data model must satisfy,

namely, that the model provides a set of basic structural abstractions. To support

the kernel or core concept, a deliberate attempt is made to identify constructs that
are neither semantically too specialized nor too primitive.

4.2.1 Object, Class, and Instance

Object

Since an object is a fundamental notion underlying all object data models,

XKOM supports the notion of objects.


Kernel Object: is a basic unit that models the abstract representation of any entity.

Unlike many data models and systems which tend to view objects mostly from

an application point of view, we take the view that everything is an object. Thus,









data model constructs (e.g., classes, associations, methods, rules), system software

(e.g., layers, modules), and application data are all uniformly treated as objects.
An important concept that is proposed is the notion of different types of objects.

In its kernel or core form, XKOM supports two fundamental types of objects: self-

named objects and system-named objects.

self-named object: is a kernel object whose value serves as the only mechanism for

identifying and referencing the object.

system-named object: is a kernel object to which a globally unique identifier is as-

signed.

In the case of self-named objects, the value of the object is used to identify,
reference, store and process the object. Such objects are used typically to model

values corresponding to basic data types such as the integer 5, the list [2, 3, 4] or the

string "John." Self-named objects usually have an underlying domain corresponding

to their values such as Integers, Reals, Strings, etc. While it is always possible to
model a self-named object as a system-named object, it may not be semantically

meaningful to do so and can lead to efficiency problems. Self-named objects are
usually embedded as part of system-named objects.

System-named objects are used to model entities in the mini-world that have
a need for independent existence. Examples of these mini-world entities include

physical objects (e.g., a Person), abstract concepts (e.g., a Company), relationships

(e.g., a Marriage), events (e.g., an Earthquake), software (e.g., a Module, a Method),
etc. The identifiers assigned to such objects are used for referencing such objects,

and in the storage and processing of such objects.

Class

Since class is a fundamental notion underlying all object data models, XKOM
supports the notion of classes.









Kernel Class: is an abstraction that describes the structural and behavioral seman-

tics of a set of like objects.


Classification or the notion of a class provides a specification and representa-

tion for a group of objects having similar semantics. In XKOM, the class is itself

considered to be a system-named object.

An important concept that is proposed is the notion of different types of classes

corresponding to different types of objects (Class Extensibility). In its kernel or core

form, XKOM supports two basic types of classes: Entity (E-)classes and Domain

(D-)classes.


E-class: is a class representing objects which are independently accessible and have

system-assigned identifiers (that is, system-named objects).


D-class: is a class representing objects which use values as the mechanism for iden-

tification and for reference (that is, self-named objects).


Thus, E-classes have an associated set of materialized objects whereas D-classes

serve to declare domains of values for materializing E-class objects.

Instance

Kernel Instance: is the representation or materialization of a kernel object in a par-

ticular class


A kernel object may participate (have a representation) in more than one class.

Consequently, the complete representation of a single kernel object is partitioned

across as many classes as it belongs to. Effectively, the complete representation

(CR) of a kernel object is the union (both structurally and behaviorally) of all its

instances.









Thus, CR(Ok) = U ki
i=1
where Ok is a kernel object
Zki is an instance of Ok in class i
p is the number of classes to which Ok belongs

This partitioned or distributed view of objects and object instances will dictate

the mechanisms and strategies used for supporting the notions of generalization
and inheritance. Such issues relating to the implementation of kernel objects and

instances are addressed in Chapter 6.

4.2.2 Identity

XKOM incorporates a strong notion of identity, based on tagged surrogates for

system-named objects. We propose the use of system-defined surrogates which can
enforce both the immutability and uniqueness requirements of identity. Since we are
taking a layered approach, the use of surrogates rather than (logical) disk addresses

serves to insulate the upper layers from having to know the address formats used by

lower layers (e.g., storage managers), thus providing data independence.

object identity (oid): a unique k bit integer assigned to each system-named object

class identity (cid): a unique k bit integer assigned to each class in the system, that
is, the object identifier of the system-named class object

instance identity (iid): a (k+k) bit integer used to identify the instantiation of a

specific object in a particular class

Thus, instance identity (iid) = (cid) (oid)


Finally, we note that identity itself is a self-named object since identity is repre-

sented as a particular value. Thus, different and extensible formats for identity can

be realized by using different domains of values for identity. These issues relating to
the implementation of identity are addressed in Chapter 6.









4.2.3 Association

In data modeling, an important concept is the notion of associations or rela-

tionships [CHE76, SU83, SU89] among classes and the corresponding associations

or relationships among object instances. Thus, XKOM supports the fundamental

notion of Association.

An important concept that we propose is the notion of different types of associa-

tions corresponding to the semantics of different types of associations or relationships
in the real world (this notion of Association Extensibility is described later in Section

4.6). The notion of different types of associations is analogous to and complements
the notion of different types of classes. In its core or kernel form, XKOM supports

two fundamental and orthogonal types of associations, namely Generalization (G)

and Aggregation (A) [SMI77].

Generalization

Generalization represents the super-sub class relationships between two classes.
In XKOM, each class can have a number of superclasses and every class must have

at least one superclass except the root class ("OBJECT") which has no superclass.

A class inherits all the structural abstractions of its superclasses as well as the
behavioral abstractions (rules and methods) defined for its superclass. A class can
itself be a subclass of several classes. This gives rise to a superclass-subclass lattice

or network. The notion of multiple inheritance is supported for such a generalization

lattice or network.

Aggregation

Aggregation is an association that defines a characterization relationship between
a defining class and a constituent class. An object in the defining class is character-

ized or described by an object in the constituent class. In XKOM, an aggregation as-

sociation is identified by a named mapping from the defining class to the constituent









class. Multiple aggregation associations are generally used to describe/characterize

a class in terms of its associations with other classes. Consequently, an instance

of the defining class consists of the instances or references to the instances of some

constituent classes. Aggregation associations between an E-class and one or more

D-classes are used to describe the descriptive attributes of the E-class. An aggre-

gation association may have a cardinality constraint which specifies the mapping

relationship between objects of the defining class and the constituent class to be 1:1,

l:n, n:l, or n:m.

Issues and details relating to the implementation of associations are described in

Chapter 6.

4.2.4 Class Definition

Based on the above description of the data model, we now specify the structure

of a class in XKOM. A class consists of a specification and an implementation. In

addition, E-classes may have a set of persistent instances associated with a class.

In Figure 4.1, we show a template representing the specification of a class in

XKOM. Each class specifies a system-wide unique class name, a class type, a set of

associations, a set of methods, and a set of rules.

The class type is specified as "E-class", "D-class" or any other user-defined class

type. A variable in the form of a character string is used to specify the class type.

This allows the parameterization of class types since no changes need be made in

the DDL (Data Definition Language) when a new user-defined class type is added.

The associations section of the class specification serves to define the set of struc-

tural associations for the class. Each association type is specified as "generalization,"

"aggregation" or any other user-defined association type. Corresponding to each as-

sociation type, the class specifies the set of associations of that type. For each

association of that type, an association name and the domain corresponding to the

constituent classes for the association are specified. The complete set of structural







44








CLASS: class-name
Class-Type = ;
/* e.g. "E-class" */

ASSOCIATION SECTION:
Association-Type = "generalization";
{ SUPERCLASSES : ;
SUBCLASSES :

Association-Type = ;
/*e.g. "aggregation" */
{ assoc_name : ;
assoc_name : ;
assoc_name : < type constructor> ;
*
*





METHODS SECTION:
4{
Specifications of Methods



RULES SECTION:
{
Specifications of Rules

S


Figure 4.1: Specification of a Class







45

associations of a class is the sum of associations of various association types. Simi-

lar to class type, a variable in the form of a character string is used to specify the

association type. In this case too, this parameterization of association types ensures

that no changes are necessary in the DDL when a new user-defined association is

added.
The method section of the class specification serves to define the set of methods

applicable to the objects of that class, and the rule section serves to define the set

of rules applicable to the objects of that class.

The implementation of a class refers to the creation and processing of objects cor-

responding to the class, and the implementation of the methods and rules applicable

to the objects of that class.

4.3 An Example Database

We illustrate the object-oriented view of an example database as modeled by

XKOM. This object-oriented view of a database can be viewed at two levels. First,

the database schema presents a class level view of the database. Second, the exten-

sional view of the database which represents an object or instance level view of the
database.

4.3.1 Database Schema

A database schema is represented as a network of associated (inter-related)

classes. We use a graphical/visual representation called Semantic diagrams (or

S-diagrams) [SU89] to depict a database schema. In S-diagrams, classes are rep-

resented as nodes and associations are represented as links between these nodes.

The S-diagram corresponding to an example database is shown in Figure 4.2.

E-classes are shown as rectangular nodes with the name of the class within the

node, and D-classes are shown as circular nodes with the name alongside or below

the node. A semantic association is represented as an outgoing edge from a defining
















,, section#
-. enrolment
0 class-period
semester


Figure 4.2: An example database schema corresponding to an university application









class to the constituent classess. From each class, all outgoing links or edges of a

given association type are grouped together and labeled using a letter that denotes

the association type. The name of the association (or attribute) is shown beside the

link, and if no name is specified, the name of the underlying domain is used as the

default association/attribute name.

In the Figure 4.2, E-classes such as Person, Father or Course contain objects

that are abstract representations of corresponding objects (that is persons, fathers,

and courses) in the real world. The classes Father and Mother are subclasses of

class Person, and represent persons in the real world who are fathers and mothers

respectively. The generalization or superclass-subclass association models the fact

that a person can be a father or mother, and that a father or mother object inherits

the structure and behavior of person objects from the class Person. The S-diagram

also illustrates D-classes such as degree, title, etc. which are used to define the

structure of E-classes. Descriptive data attributes of E-classes represent aggregation

associations defined over D-classes and are named by attributes such as title, dept

and course# defined for the E-class Course. An aggregation association defined
over another E-class is illustrated in the class Father which defines a multi-valued

aggregation association called father-of whose data type is SET-OF Person and
having the E-class Person as the domain or constituent class. This aggregation is a

multi-valued association since a father can have a set of children.

An n-ary relationship can be represented by defining an E-class having n binary

(aggregation) associations over the n classes participating in the relationship. The
properties and constraints of the n-ary relationship are associated with objects in

the defining E-class and objects in the constituent E-classes. The example schema

illustrates how a ternary relationship may be defined in the class Section. The

class Section represents this ternary relationship by using three binary (aggregation)

associations. Constraints relating to the ternary relationship can then be specified






48

on such a set of binary associations. For example, a particular course must be taught

by a teacher at a location (class-room). Such a relationship is representative of a

typical class scheduling process in a university environment.

4.3.2 Database Extension

A database extension is represented as a network of associated object instances.

We use a graphical/visual representation called an Object Diagram to depict the

database extension. A dot in an object diagram denotes an object instance identified

by its unique IID, and a solid edge between instances indicates an object reference.

An oval containing a set of dots is used to illustrate a set (or subset) of instances from

a given class. In Figure 4.3, we illustrate an example object diagram corresponding
to part of the database schema of Figure 4.2. Note that in an object diagram, we do

not distinguish between the types of links or object references between objects since

the S-diagram captures this aspect through relationships or associations at the class

level. However, for the sake of clarity, we use a dotted edge between instances of the

class Person and instances of the class Father in Figure 4.3 to distinguish between the

two different associations among the Person and Father classes. The dotted line is
used to indicate the father-of association. Similarly, a dotted line between instances
of class Person and instances of class Mother indicates the mother-of association.

For simplicity, we will use lower case alphabetic letters taken from the name of

the class to indicate class identity, and integers to indicate object identity. Thus, an

instance is represented by a dot having an alpha-numeric instance identifier.
We see that instance s33 in class Section is associated with instances t32 and t58

in class Teacher, instance 134 in class Location, and instance c38 in class Course.

This represents the fact that a section (s33) corresponding to a course (c38) is taught

by teachers (t32, t58). To illustrate a G-association, we observe that instance p32

in class Person represents a person who is a father and a teacher. Thus, there are

corresponding instances (f32, t32) in class Father, and in class Teacher respectively.












PERSON


TEACHER


SECTION


FATHER


MOTHER


LOCATION


Figure 4.3: An object diagram showing part of the database extension


COURSE







50

That is, an object having the same oid can instantiate several classes. Incidentally,

instance f32 in class Father is the father of p58 as indicated in the association between

f32 and p58. Then, since t58 is the instance of class Teacher corresponding to the

person p58, we can infer from the object diagram that the two teachers that are

teaching section s33 are a father and a child.

Conceptually, an entire database represents one giant object diagram containing

many complex object association patterns. Thus, specifying association patterns of

interest is an important concept for the query and rule languages, as well as for

the language used to define methods. This aspect will be evident later, when the

language components of the data model are described.

4.4 Basic Data Modeling Constructs: Behavior

In this section, we address the second requirement that the data model must

satisfy, namely, that the model provides a set of powerful behavioral abstractions.

XKOM provides two forms of behavioral abstractions as outlined below.

1. Methods: The data model provides methods as a procedural form of behav-

ioral abstraction. Methods are specified as part of a class definition and are

applicable to the set of objects which represent the extension of the class.

2. Rules: The data model provides rules as a declarative form of behavioral ab-

straction. Like methods, rules are specified as part of a class definition and

are applicable to the set of objects which represent the extension of the class.

However, rules provide a powerful form of behavioral abstraction since their

declarative nature allows for convenient and flexible specification of behavioral

semantics.

4.5 Language Components

To specify the structural and behavioral abstractions described in Sections 4.3

and 4.4, a language or a set of languages are needed. We discuss the various language









components that are needed to specify and process the behavioral as well as struc-

tural semantics of a class. We will use rules and methods to illustrate behavioral

semantics in the context of persistent data (object instances) based on the example
schema of Figure 4.2.

In this discussion, we shall focus on the notion of behavioral and structural
abstractions using one or more language components to specify and process such ab-

stractions. For the sake of completeness, we will also consider language components,

such as query languages, which are used for object retrieval and manipulation. The

specifications of such languages are outside the scope of this dissertation, and any

language that supports these concepts can be used. For XKOM, we will adapt lan-

guage components from previous and on-going research [ALA89a, ALA89b, DS088,

PUR88, SHY91, SU91] of the Database Systems Research and Development Center,

University of Florida.

The language components that are needed are enumerated below;


1. KDL: A Knowledge Definition Language (analogous to a DDL Data Defi-

nition Language) component which is used to specify class definitions, define

class hierarchies, and knowledge schemata in the data model. Integral to this

notion of a KDL component is the notion of a Knowledge or Data Dictionary

used to maintain meta-information. As part of knowledge definition, a rule

specification language component is also needed.

2. RSL: A Rule Specification Language component that is used to specify the

knowledge rules associated with instances and classes. The rule language com-

ponent must be declarative, and expressive enough for specifying a variety of

semantic constraints.

3. KML: A Knowledge Manipulation Language component that is used to manip-

ulate the persistent objects in the knowledge base. The KML must include a









Query Language (QL) component. This language component must be declar-

ative, provide set-oriented access, and provide an appropriate execution model

and concepts for query processing and object manipulation.

4. KBPL: A Knowledge Base Programming Language (KBPL) component that
is used for coding the methods of a given class. A KBPL must be compu-
tationally complete (that is, possess the full capabilities of a general-purpose

programming language), facilitate integrated access to persistent objects, and

provide an appropriate model of execution (preferably, object-oriented). It is

also possible for the first three language components described above to be

incorporated into a single KBPL, thus providing an integrated language to

specify and process classes, rules, methods, and persistent objects.


An important issue is that these languages or language components be designed

to be compatible with and complementary to one another, and to support the struc-

tural and behavioral abstractions of the data model. We note that it is possible to

design these four language components as individual languages or as a single inte-

grated language, as long as the same functionality is achieved. In 0-0 programming

languages such as Smalltalk [GOL83] or C++ [STR86], the language represents an
integration of data definition and programming language components, with class def-

inition being carried out separately from method implementation. Such languages

lack a data manipulation or query language component since the languages do not
support persistent objects, and a rule language component is not provided since the
languages do not support rules. In Database Programming Languages (DBPLs) such

as Opal [SER87] and Gallileo [ALB85], the programming language component is in-

tegrated with a data manipulation component to process persistent objects. Such

languages do not support rules and lack the ability to specify declarative queries due

to the absence of a query language component.






53

The four language components described above represent the specification and

processing of structural semantics, specification and processing of behavioral seman-

tics, and also, object querying and manipulation. Very few existing systems possess

the complete set of these language components. In related research at the Database

Systems Research and Development Center, an Object-oriented Semantic Associa-
tion Model (OSAM*) [SU89] has been developed as a powerful end-user data model

for supporting complex application domains. Various language components have

been designed and developed, including a KDL component, a KML component and

a RSL component. In this research, we will adapt and use the KDL, KML, and

RSL components from OSAM*. For the interested reader, details of the query and

rule language, and the rules system can be found ii [ALA89a, ALA89b, CHU90,
SIN90, SU91]. An association algebra which serves as the underlying formal ba-

sis for the pattern-based languages is described in [ U090, GUO91] An integrated

knowledge-base programming language design is presented in [SHY91]. In the in-

terim, the programming language component will be dressed in the context of the

C++ programming language [STR86] to specify and write methods. The behavioral
aspects of XKOM are now illustrated using these language components.

4.5.1 Queries and Methods

The KML language component of XKOM is illustrated by addressing methods

in the context of queries since queries form an impo tant mechanism for retrieving

the data that a method acts upon. A simple example will be used to illustrate this

concept.

The query model and language developed in [AL 89a] are based upon two key

concepts. First, queries are specified based upon ass ciation patterns of interest to

the user. Second, the language satisfies the properly of closure. That is, queries

issued against a database produce a result that is str ctured and modeled using the









same data model as the original database. The result of a query can then further

operated upon by other queries.

In the Object-oriented Query Language (OQL), a query is considered to be

a function which when applied to a database (or a sub-database) returns a sub-
database, which is composed of some select object classes (with each object class
containing a sub-set of its instances), and some selected associations between these

classes. A subdatabase forms a "context" under which further processing such as

the invocation of user/system defined methods (e.g., update, print) can be carried

out. The execution of the query can be considered as having two phases. First, the

establishment of a subdatabase context. Second, the processing of system or user

defined methods, e.g., retrieving the descriptive data for the query.

Specifying queries

A query is specified in OQL using the following query structure:

CONTEXT (Association Pattern Expression)
WHERE (inter-class conditions)
SELECT (object classes and/or attributes)
(class: operation-name parameter-list)


In the CONTEXT clause, the user specifies a subdatabase of interest using an
Association Pattern Expression (APE). The CONTEXT clause causes a set of data-

base extensional patterns which satisfy the CONTEXT clause to be extracted from

the database. Associated with the CONTEXT clause are the optional WHERE and

SELECT sub-clauses. The WHERE sub-clause specifies some inter-class conditions

based on attribute values which further causes some extensional patterns that do

not satisfy the where condition to be dropped from the subdatabase. The SELECT

clause provides the capability for the user to further select some classes from the

subdatabase and project out descriptive attributes of object from such classes. The

operation clause allows the user to specify a set of messages to invoke a sequence of







55

methods (defined for classes comprising the subdatabase), which are to be executed

on objects in the subdatabase.

The key component of a query block is the context clause which specifies a
subdatabase. The establishment of a subdatabase context can be viewed as a "fil-

tration" process in which objects of interest and the association patterns of interest
are "filtered out" from the original database.

The APE specifies a subdatabase by the use of several operators such as the

association operator (*), and the non-association operator(!). When the association

operator (*) is applied to two directly associated E-classes A and B in the database

(i.e., using A*B as the APE), it returns a subdatabase whose intensional pattern

consists of the classes A and B, and their association. The resulting subdatabase

contains a set of extensional patterns containing objects from class A and objects

from class B, such that every object selected from class A is directly associated with

(i.e., has object reference to) at least one object from class B and vice versa. When

the non-association operator (!) is applied to two directly associated E-classes A

and B in the database (i.e., using A!B as the APE), it returns a subdatabase whose

intensional pattern consists of the classes A and B, and their association. However,

the resulting subdatabase contains a set of extensional patterns containing objects

from class A and objects from class B, such that every object selected from class A

is not associated with (i.e., has no object reference to) any object from class B and

vice versa.
An APE specifies branches in an association pattern by the use of AND, OR

operators, in conjunction with the *, operators. A fork class is the class at which

the AND or OR condition is used to indicate a branching of associations. The AND

operator, when used in conjunction with the operator, implies that in the resulting

subdatabase, each instance of the fork class must be associated with at least one

instance from every branch class. An OR operator used in conjunction with the *









operator implies that in the resulting subdatabase, each instance of the fork class
must be associated with at least one instance from at least one of the branch classes.

An equivalent interpretation applies to the use of the AND, OR operators with the
! operator. Further details of the query language are available in [ALA89a], and
details of the association algebra are available in [GUO90].

Example query

To illustrate how methods can be specified and executed against a subdatabase,

we use an example query which invokes a method.

Queryl: Print a schedule for all CIS graduate classes which have a current offering
and have been assigned a teachers) and location ?

The corresponding OQL query is;

CONTEXT Course[dept='CIS' AND course# > 5000] Section
*AND (Teacher, Location)
PrintSchedule(Section, ...);


The Intensional Association Pattern (IAP) corresponding to the subdatabase

generated by this query is shown in Figure 4.4(a). The IAP shows the E-classes

(Section, Teacher, Location and Course) and the associations of interest. Corre-
sponding to a given IAP, there exists a set of Extensional Association Patterns

(EAPs) at the instance level. Each EAP represents a pattern (network) of instances

and associations belonging to the classes and associations specified by the IAP. The

set of EAPs corresponding to a subdatabase are shown using an extensional dia-

gram in Figure 4.4(b). The method printSchedule defined for the class Section is

now invoked on the relevant context that has been "filtered" out of the database.

The query thus provides a high level declarative means of specifying the printing of

a schedule to meet the user requirements.












SECTION
A


TEACHER COURSE

LOCATION

(a I--n---siol ------- ---t------ ---

(a) Intensional Association Pattern (IAP)


SECTION


COURSE


LOCATION


TEACHER


(b) Extensional Diagram



Figure 4.4: Intensional Association Pattern and Extensional Diagram for
an example subdatabase
a) Intensional Association Pattern (IAP); b) Extensional Diagram









4.5.2 Rules

The rule language [ALA89a, SU91] is also pattern-based, and is well-integrated

with the query language. It combines a set-oriented approach (which databases
require), with a declarative syntax. The structure of a rule is as follows:

RULE rule-id
Trigger-cond(Trigger-time, Trigger-operation)
Rule body
Corrective-action
END


The rule-id is a unique identifier assigned to each rule. A trigger condition

associated with each rule specifies the conditions under which a rule is fired. A

trigger condition may specify a combination of trigger time (such as before, after or

in parallel) and the operation (such as insert, delete) that triggers the rule.

The rule body is normally specified as an IF-THEN-ELSE clause. The exact

form of the rule body is determined by the type of the rule. Rules are classified as

state, operational, and deductive rules [CHU90, SIN90]. We illustrate each of these

rule types with the following examples.

State rules

A state rule is a knowledge rule designed to ensure semantic correctness and

consistency of a knowledge base by declaring the valid states that must exist in the

database at the time the rule is triggered. The IF clause of the rule body contains

an OQL Context Expression that looks for certain association patterns that exist

in a particular subdatabase context. The THEN part may contain an OQL context

expression which the subdatabase must satisfy, thus enforcing certain existential

constraints among patterns. For an unconditional state rule, the IF part is omitted

and only the predicate corresponding to the THEN part is specified. An example

state rule is now described:









RULE fm101
Trigger-cond(After InsertObject(Father), After InsertObject(Mother))
IF context Person Father
THEN Person Mother
Corrective-action Message ("A father and mother cannot
be the same person")
END

The above state rule, which is invoked after an object is inserted in the class

Father or class Mother is used to specify the constraint that the same person cannot

be a father or mother. Thus, the IF part of the rule body of rule fml01 identifies

association patterns corresponding to persons who are fathers, and the THEN part

specifies the constraint that these persons should not be mothers.

Operational rules

An operational rule is a rule that performs an operation if a particular state in

the knowledge base exists when the rule is triggered. Although an operational rule

can serve to correct undesirable states that exist in the knowledge base by specifying

corrective actions which enable the knowledge base to return to a consistent state,

in general, any operation can be triggered. The IF clause of the rule body contains

an OQL Context Expression that specifies a particular state in terms of certain
association patterns that must exist. The THEN clause contains operations that

must be triggered when the IF part is satisfied. An example operational is now
described:

RULE s-121
Trigger-cond(After DeleteObject(Teacher),
After DeleteObject(Course), After DeleteObject(Location))
IF context Section !OR (Teacher, Course, Location)
THEN DeleteObject(Section)
END


The above operational rule, which is invoked after an object is deleted from the

class Teacher, class Course or class Location, is used to enforce the constraint that









a Section object can exist only if it is associated with Teacher, Course and Location
objects respectively. In the rule body, the IF clause checks if there is a Section object
which is not associated with any Teacher, Course and Location object. The THEN
clause causes those objects from the class identified in the IF clause to be deleted.

Deductive rules

A deductive rule is a knowledge rule that derives new information that is not

explicitly stored in the knowledge base. In a deductive rule the IF clause of the

rule body contains an OQL Context Expression that identifies certain association
patterns that exist in the knowledge base. The THEN clause then derives a new

subdatabase, new associations or a combination of both, based on the patterns
identified in the IF clause.

To illustrate deductive rules, we use a commonly used example in logic and logic-

based languages such as prolog. We use the generation query as an example. Such
rules can infer information such as grandfathers from existing clauses (facts) such as
father, mother. In logic, such rules are expressed as:

Grandfather (?X, ?Y) :- Father(?X, ?Z) Father (?Z, ?Y)
Grandfather (?X, ?Y) :- Father(?X, ?Z) Mother (?Z, ?Y)

The equivalent deductive rule is;

RULE f141
IF (Father *[father-of] Person OR (Father-1 *[father-of],
Mother *[mother-of]) Person-1)
THEN Grandfather (Father, Person-1)
END

The rule specifies the deduction as follows. Starting from the class Father, the

corresponding children are determined by finding all objects in class Person which
are associated with the father objects through the father-of association. The next

level of association determines which of these children are fathers or mothers by

checking the G association. Finally, the children corresponding to these fathers or









mothers are determined through the father-of or mother-of association to the class

Person. Thus, a new association has been derived between the class Father and the

class Person, where the new association represents the Grandfather relationship.
In Figure 4.5, the extensional diagram showing the derivation of associations

based on the IF part of the rule is shown (the dotted line indicates the derived

associations or links). The corresponding intensional and extensional patterns for

the derived subdatabase are shown in Figure 4.6. Unlike logic based languages, the

emphasis here is on set-oriented deductive rules.


Figure 4.5: An extensional diagram showing the derivation of associations


4.6 Model Extensibility


In this section, we present techniques which allow the data model (XKOM) to be

extended to cater to various application domains. First, we use the data model to





















FATHER A g r PERSON



(a) Intensional Association Pattern


FATHER


PERSON


(b) Extensional Diagram


Figure 4.6: The Intensional Association Pattern and Extensional
Diagram for a subdatabase derived by a rule
a) Intensional Association Pattern; b) Extensional Diagram









model itself resulting in a set of model meta-classes. Next, we show that extending

the data model involves extending the schema corresponding to the set of model
meta-classes.

4.6.1 Model Reflexivity

We define Model Reflexivity as the capability of a given data model to model

itself. The use of a data model to explicitly model itself results in a model meta-class

system: a set of meta-classes which provide a specification and implementation of the

data model constructs. We use the term meta-class to refer to a class which is used

to define data model semantics. The distinction between classes and meta-classes is

transparent since classes and meta-classes are treated exactly the same. We will use

the terms model meta-class system, model meta-schema or model meta-architecture

interchangeably to refer this model of the model.

We now describe the meta-class system that results when XKOM is used to

model itself. Figure 4.7 illustrates a simplified version of the model meta-schema in

which many details have been omitted so as to illustrate the basic concepts of model

reflexivity. Model constructs such as classes, associations, methods, and rules are

treated as first class objects.
The root of the class hierarchy is the class OBJECT which represents the concept

that everything in the model (and underlying system) is modeled (treated) as an

object. Since every object in the system is either a system-named object or self-

named object, classes E-CLASS OBJECT and D-CLASS OBJECT are subclassed

from class OBJECT to represent this concept. Thus, objects of class E-CLASS

OBJECT represent all objects that are system-named objects and objects of class

D-CLASS OBJECT represent all objects that are self-named objects.
The class CLASS represents classes as objects. Such class objects may include

application classes, system classes or meta-classes. Since class objects are system-
named objects, the class CLASS is subclassed from class E-CLASS OBJECT. The












OBJECT
G

D-CLASS
application OBJECT
schema
COURSE STRING


A
/D\ FLOAT
PERSON INTEGER G


CID OID CHAR
SHORT
RAW LONG
I I RAW


Figure 4.7: Modeling the data model (Model Reflexivity)









meta-class CLASS is an important meta-class since its specification defines the struc-

tural properties of a class in the data model, and its implementation defined in terms

of methods and rules realizes the behavioral properties of a class in the data model.
Thus, modifying the specification and implementation of this class changes the se-

mantics of a class in the data model.

In XKOM, the definition of a class includes a class name, a set of associations,

a set of methods, and a set of rules. Corresponding to this concept of a class in

XKOM, the class CLASS is defined to have the following attributes: classID, class-

Name, setOfAssociations, setOfRules, and setOfMethods. The set of associations as-

sociated with a class includes GENERALIZATION associations, AGGREGATION

associations or any other type of association that may be defined. In its core or

kernel form, XKOM supports two types of classes: D-classes and E-classes. Thus, a

class object may represent an E-class or D-class. Corresponding to this concept, the

class CLASS is sub-classed into class E-CLASS and class D-CLASS. Class E-CLASS

represents those class objects that are E-classes, and class D-CLASS represents those

class objects that are D-classes.

Similar to class CLASS, class ASSOCIATION represents associations or relation-

ships between classes as objects. Such association objects may include relationships

such as generalization, aggregation or any other types of associations. Since asso-
ciation objects are system-named objects, the class ASSOCIATION is subclassed

from class E-CLASS OBJECT. The meta-class ASSOCIATION is an important

meta-class since its specification defines the structural and behavioral properties

of a relationship or association in the data model, and its implementation realizes

these properties. Thus, modifying the specification and implementation of this class

changes the semantics of an association in the data model.

In XKOM, the definition of an association includes an association name, a defin-

ing class (the class that defines the relationship), and one or more constituent classes









(the classes which constitute the domain of the relationship). In binary relationships,
an association has a single constituent class whereas in n-ary relationships, an asso-

ciation has multiple constituent classes. Corresponding to this concept of an associa-

tion in XKOM, the class ASSOCIATION is defined to have the following attributes:

associationID, associationName, definingClass, and setOfConstituentClasses. In its

core or kernel form, XKOM supports two types of associations: aggregation and gen-

eralization. Thus, an association object may represent an aggregation association

or a generalization association. Corresponding to this concept, the class ASSOCI-

ATION is sub-classed into class AGGREGATION and class GENERALIZATION.

Class AGGREGATION represents those association objects that are aggregation as-

sociations, and class GENERALIZATION represents those association objects that

are generalization objects.

In XKOM, objects corresponding to primitive data types (D-classes) are rep-

resented as self-named objects. Thus, primitive data types are represented as sub-

classes of the class D-CLASS OBJECT. Accordingly, class INTEGER, class FLOAT,

class CHAR, and class STRING are sub-classed from class D-CLASS OBJECT, and

represent D-class objects corresponding to primitive data types such as integers, re-

als, characters, and strings. In a similar manner, class IID, class CID, and class OID,

which are sub-classed from class D-CLASS OBJECT represent self-named objects

corresponding to instance identity, class identity, and object identity. An additional

primitive data type called raw, and two forms of the raw data type (short-raw, long-

raw) are represented by class RAW, class SHORT-RAW, and class LONG-RAW,

which are sub-classed from class D-CLASS OBJECT.

In a manner similar to classes and associations, objects in the class METHOD

represent method objects and objects in the class RULE represent rule objects. In

XKOM, since methods and rules are treated as system-named objects, class RULE

and class METHOD are sub-classed from class E-CLASS OBJECT.







67

The correspondence between the classes that comprise an application schema and

the model meta-schema is as follows. Top-level E-classes such as Person, Section,

Location, and Course, in the application schema shown in Figure 4.2, are immediate
sub-classes of the class E-CLASS OBJECT. Other E-classes such as Teacher or

Mother which are sub-classes of class Person are indirectly sub-classed from the
class E-CLASS OBJECT through the class Person. D-classes in the application

either represent primitive data types or are sub-classed from the class D-CLASS

OBJECT. In Figure 4.7, this correspondence is illustrated for a few classes taken

from the example schema of Figure 4.2.

The model meta-schema serves as a powerful tool for model extensibility. Model

Extensibility encompasses data model extensions such as adding multiple inheri-

tance, addition of abstract data types, adding user-defined class types, adding user-

defined association types, etc. Model Extensibility is achieved by modifying the

model meta-schema. The model meta-schema serves not only as a specification of the

semantics of end-user data model constructs but also as a basis for the implementa-

tion of such constructs. Methods (functions) and/or rules defined in the meta-classes

that comprise the model meta-schema are used to implement data model constructs.

By modifying the specification and implementation of the class CLASS, the seman-

tics of a class in the data model can be changed. We illustrate some scenarios with

respect to Figure 4.7. Consider the case where the class CLASS does not have the

attributes setOfRules and setOfMethods. This implies a model that is structurally

object-oriented but not behaviorally object-oriented [DIT86]. Another example is

the case where a data model (e.g., the relational data model) does not allow entities

to be defined in terms of other entities. That is, no abstract data types are allowed,
and an entity must be defined in terms of primitive or pre-defined data types. In

this case, the setOfAssociations attribute of class CLASS is constrained to have ob-

jects of class ASSOCIATION which represent association objects having D-classes








as constituent classes. Similarly, appropriate constraints on the setOfAssociations
attribute can determine the nature of inheritance supported by the data model (no

inheritance, single or multiple inheritance). For example, if a data model does not
allow generalization hierarchies or inheritance, then the setOfAssociations attribute

defined for class CLASS will not include an object from the class GENERALIZA-
TION. If the data model allows multiple inheritance, then the setOfAssociations

attribute will include an object from the class GENERALIZATION which models

the fact that each class is associated with more than one superclass.
Consequently, one well-defined task of the KBC is to extend the model meta-

schema to fit a given application by modifying the model meta-schema. Two aspects

of such model extensibility are of main interest to us, namely, class extensibility and

association extensibility, which are described below. We note that the model meta-

schema, in addition to providing a powerful basis for extensibility, also serves as
a powerful basis for parameterization and management of meta-information. This

aspect dealing with parameterization, meta-information, and the implementation of

the meta-class system will be presented in Chapter 5.

4.6.2 Class Extensibility

Class Extensibility is a form of extensibility whereby a model can be extended by
adding new class types or extending existing class types of a data model. Thus, it is

possible to define new class types in addition to the two basic class types offered by

XKOM: E-classes and D-classes. It is also possible to extend the data model by sub-
classing existing class types. We use an example to illustrate the usage of different

class types in different applications and discuss the usefulness of Class Extensibility

for such applications.









Design objects

In applications such as Engineering Design, an important concept is the notion

of design objects [BAT85, LOR83]. A design object corresponds to a distinct type of

object having certain well-defined characteristics, and classes used to specify design
objects can be considered as design object classes. The class type corresponding

to design object classes can be considered to be a special type of E-class. Such

specialized characteristics of a design object must be used to specify the semantics of

design objects. This can result in specialized methods such as methods for clustering

or methods for accessing and staging design object in memory. Clearly, such methods

and rules that govern design objects must be incorporated into the model meta-

schema.

Achieving class extensibility

To achieve the concept of class extensibility, we start by illustrating how the

model of the model is used to support the existing class types. Consider the notion of

E-class and objects belonging to an E-class. An E-class explicitly stores an extension,

and it may be necessary to select a particular object or objects from this extension.

Consequently, an operation such as select can be defined and implemented for the
class E-CLASS, and can be invoked on any E-class (that is, the object that represents

an E-class). If an application defines an E-class, say Person, then class Person is

made a subclass of E-CLASS OBJECT. The class Person inherits methods and rules

that apply to all E-class objects, and these methods and rules will apply to all objects

in the class Person. At a meta-level, methods defined in E-CLASS will apply to the

class Person (the object representing the class Person), since the object representing

the class Person is an instance of the class E-CLASS. Thus, to select a sub-set of the

extension of class Person, a message called select is sent to the instance of E-CLASS

that represents the Person class.









Class Extensibility is carried out as follows. If a new class type called X is re-

quired, then X-CLASS OBJECT is defined as a sub-class of Object, and X-CLASS

is defined as a sub-class of CLASS. The semantics that apply to all X-CLASS ob-
jects are defined in the class X-CLASS OBJECT, and the semantics that apply to

all X-classes are defined in the class X-CLASS. When the application declares an
application class (Ci) to be of type X, objects of class Ci inherit methods and rules

from the class X-CLASS OBJECT. The class itself (Ci) is subjected to methods and
rules in the class X-CLASS.

Existing class types (e.g., E-class, D-class) may also be extended by sub-classing

the meta-classes corresponding to such existing class types.

4.6.3 Association Extensibility

Association Extensibility is a form of extensibility whereby a model can be ex-

tended by adding new association types or extending existing association types of a

data model. Thus, it is possible to define new association types in addition to the

two basic association types offered by XKOM: aggregation and generalization. It

is also possible to extend the data model by sub-classing existing association types.
We use two examples to illustrate the usage of different association types in different

applications and discuss the usefulness of Association Extensibility for such applica-

tions. The following two association types can be defined as new association types
or as sub-types of the aggregation association.

Interaction association

A commonly used concept in many applications is the Interaction association

[SU89]. The interaction association models the concept that an object of a given class

represents a relationship or interaction between objects of two or more constituent
classes. Different from aggregation, the interaction association implies that the
object which specifies the interaction association is defined as a result of an n-ary







71

relationship with other objects. The object defining the interaction cannot exist

unless all the objects (from the constituent classes) participating in the relationship

exist.

Uses or message-passing association

An important association that we propose for achieving a higher form of abstrac-

tion in software engineering is the notion of the Uses or Message-passing association.

In this dissertation, we will use this association type extensively in modeling system

software.

The Uses or Message-passing association is a form of functional aggregation (in

contrast to structural aggregation), in which messages can flow from the defining

class to the constituent classes. The association models the relationship among

classes in which one class (the defining class) invokes methods in another class by

sending messages to objects of the constituent classes. An object involved in a

Uses relationship may play a role as an actor object which sends messages to other

objects, as a server object which receives messages from other objects, or as both

actor and server.

Achieving association extensibility

To achieve the concept of association extensibility, we start by illustrating how

the model of the model is used to support the existing association types. In Figure

4.7, class AGGREGATION and class GENERALIZATION which are sub-classed

from class ASSOCIATION model the aggregation and generalization associations

respectively. If a new association type is to be added, a new class corresponding to

this association type is defined as a sub-class of ASSOCIATION, similar to the exist-

ing association types. If an existing association type is to be refined or constrained,

a new class corresponding to the new association type is defined as a sub-class of the

class corresponding to the association type that is being refined. Methods and rules







72

are then defined for this new class to enforce the semantics of the new association

type.














CHAPTER 5
MANAGEMENT OF META-INFORMATION

The data dictionary module which is responsible for the management of meta-

information is considered to be the "heart" of a KBMS. The capabilities of the

system depend largely on the functionality that this module affords. As such, the

design and implementation techniques underlying the data dictionary module are

critical to the success of the KBMS. In this chapter, we describe the approach we

propose for managing meta-information.
This chapter is organized as follows. In Section 5.1, we discuss the important

role that model reflexivity plays in the management of meta-information. Concepts

for the management of meta-information pertaining to the model and system it-

self are presented in Section 5.2, while Section 5.3 describes the management of

meta-information pertaining to application data. In Section 5.4, we focus on some

important dictionary access functions. Finally, in Section 5.5, we briefly outline

the notion of a data dictionary module: the implementation of this module will be

discussed later in Chapter 6.

5.1 Using Reflexivity for Managing Meta-information

The concept of Model Reflexivity introduced in Chapter 4 has two important

uses. First, it can be used to specify data model extensions as described in Section

4.5. Second, it can be used for managing meta-information. In this section, we focus

on this latter use of model reflexivity.
A key characteristic of the traditional meta-information management technique

is that meta-information is accessed through specialized access methods and rou-

tines rather than through regular data manipulation operators. Although it may be

73







74

possible to use data manipulation operators to access meta-data, it is usually not

practical or efficient to do so. Instead, specialized access routines are necessary in

order to satisfy the specialized access needs of clients which use the database dic-
tionary module and/or to satisfy performance requirements since meta-information

is accessed very frequently. Consequently, the design of any meta-data management

module must consider both the structural aspect of the meta-data itself, and the

operational requirements of the meta-data such as specialized access routines.

A shortcoming in many existing DBMSs is that meta-data is treated differently

from data itself. If meta-data is treated differently from data, there is an implicit

assumption that the DBMS is recommended for managing (application) data but

is not good enough for representing and processing its own meta-data. Consider

for example the notion of catalog relations in relational DBMSs. From a structural

viewpoint, meta-data is treated like data since catalog relations are defined in a

manner similar to data by using the same modeling constructs, that is, relations,

columns, and tuples. While this meta-data is modeled as relations, it is not ma-

nipulated by regular relational data manipulation operators. Instead, specialized

access routines are used to access meta-data differently from data. Such routines or

methods are not part of the relational data model since the relational model does

not allow functional or operational specification as part of the model. Thus, from a

functional or behavioral viewpoint, meta-data is treated differently from data since

user-defined routines on the (relational) data cannot be defined in a manner similar

to the access-routines on the (relational) meta-data. As a result, access routines are

embedded within the system software and cannot be easily modified or extended.

Instead, external application programs must be written on top.

Now, let us consider object-oriented (0-0) DBMSs. From a structural view-

point, we consider an 0-0 DBMS as treating meta-data like data only if meta-data

is structurally represented as first-class objects in the system. From a behavioral






75

viewpoint, we consider an 0-0 DBMS as treating meta-data like data only if the
specialized access routines are defined as methods for processing (first-class) objects

that represent meta-data in a manner similar to user-defined methods which are de-

fined for processing objects that represent data. The use of such a reflexive concept

in which the structural and behavioral abstractions of the data model are themselves

used to model and manage meta-data is the basic premise of our approach. In this

regard, some existing object-oriented DBMSs do not treat meta-data like data ei-

ther from a structural viewpoint and/or a behavioral viewpoint. Often, meta-data

is embedded in internal data structures and/or accessed using hard-coded internal

routines.

In the approach we propose, data and meta-data (including model, system, and

application meta-information) are treated exactly alike: data and meta-data are

modeled and processed in an uniform and integrated manner based on the object-

oriented paradigm. The class system that results when the data model is used to

reflexively model itself is used as a natural and powerful basis for managing the

first class objects that represent meta-data. Specialized access methods for manipu-

lating meta-information are then realized using appropriate behavioral abstractions

(methods or rules) in the classes representing meta-data.

5.2 Model and System Meta-information

We now describe the usage of the meta-class system of the model, shown earlier

in Figure 4.7, in the management of meta-information.

5.2.1 The Bootstrap Process

When using the model to model itself, a bootstrap process is required to initially

populate the model schema with information of the model and system. We define the

bootstrap process as that process which generates the meta-class system and creates

the initial set of objects that define and represent the data model and system.









We illustrate this concept by using an important bootstrap class, the meta-class
CLASS, as an example. To bootstrap the meta-class CLASS, the meta-class CLASS

must be first defined, and the first object that must be instantiated in this class
is the object that represents the meta-class CLASS itself. This object is the first

class in the system and is also the first object of the first class. For the sake of

clarity, we will term this first object as CLASS-object. The CLASS-object is the
only object in the system whose object-id is identical to the class-id of the class

it belongs to. The instance-id is thus a concatenation of two 32 bit integers, both

of which have the same value. In the model of the model, the attribute called

SetOfInstances defined for E-CLASS, represents the fact that all E-classes have an
extension. The meta-class CLASS is also an E-class, since instances of class CLASS

represent system-named objects. Hence, CLASS-object must also be instantiated

into the meta-class E-CLASS. The extension of the meta-class CLASS is represented

by the setOfInstances attribute of the instance in E-CLASS corresponding to the

CLASS-object. Thus, if we iterate the extension of the meta-class CLASS, we would

get all classes in the system.
The bootstrap process proceeds by setting up the class hierarchy that defines

the model, setting up the first object of class CLASS, and then, instantiating meta-
classes such as CLASS, ASSOCIATION, etc., with all necessary objects that describe

the model itself (that is, classes and associations that describe the model). In Figure

5.1, we show some objects and meta-classes that represent model meta-information

after the bootstrap process is completed. Once the bootstrap process is completed,

the model and system objects have been created and the model is ready for use by

an application.

Within the context of reflexivity, we also use the term "bootstrap" in the sense

that another model or system must be used to generate the first version of the target
















as object


Links show the G-association
between object instances






E-CLASS


Figure 5.1: Meta-classes as object instances









model. In our case, the C++ programming language [STR86] is used to perform
bootstrapping.

5.2.2 Parameterization

An important effect of using the set of meta-classes to represent meta-information
is the ability to achieve parameterization. Parameterization refers to specification
and manipulation of modeling constructs such as classes and associations as parame-

ters or variables. Thus, we support the notion of class as a parameter and association
as a parameter. A parameter or variable which represents a class or association ob-
ject can be assigned, passed as an argument or have a message passed to it. This

property of parameterization is used to access and manipulate meta-information,
and is illustrated using some examples.

In the first example, we illustrate how all classes in the system and all associations
in the system can be accessed as objects.

IID x; /* x represents an IID object */
IID y; /* y represents an IID object */
IID-ARRAY r; /* r represents an array of IIDs */
IID-ARRAY s; /* s represents an array of IIDs */
ECLASS* p; /* p represents a pointer to an E-class object */
ECLASS* q; /* q represents a pointer to an E-class object */

/* Assign to x the E-class instance representing class CLASS. That is, x is now
the iid of an instance of E-CLASS representing the class CLASS object */
x = select("ECLASS", className= "CLASS");

/* Assign to y the E-class instance representing class ASSOCIATION. That is, y is
now the iid of an instance of E-CLASS representing the class ASSOCIATION object */
y = select( "ECLASS", association Name= "ASSOCIATION");

/* p is the virtual memory pointer to the E-class instance of class CLASS object */
p = #x;

/* Get virtual pointer to the E-class instance of class ASSOCIATION object */
q = #y;


/* r now represents the set of all classes in the system */









r = p -+ getSetOflnstances();

/* s now represents the set of all associations in the system */
s = q -- getSetOflnstances();

In this example, the first two steps are to access the instances of class ECLASS

which correspond to class CLASS and class ASSOCIATION (Note that instances of
class ECLASS represent all E-classes in the data model). This is done by using a
select operator to select instances of ECLASS which satisfy the selection condition

(name = "string"). In the next two steps, a lookup is performed using the instance
identifiers of the selected instances. A lookup operator (#) is used to transform the

instance identifier to the corresponding virtual memory pointer (this lookup operator
will be later discussed in Chapter 6). Now, the variables p, q point to instances of
ECLASS which represent the E-classes CLASS and ASSOCIATION respectively. In

the last two steps, we examine the setOfInstances attribute of these instances. This
gives us all the classes and all the associations in the model. After the bootstrap
process terminates, the only classes and associations are those belonging to the
meta-class system created by the bootstrap process.
We now use a more complex example to illustrate the access of a combination
of classes and associations. In this example, we show how all the associations of a
given class can be accessed by retrieving the association objects associated with the
class object.

lID x; /* x represents an IID object */
CLASS* y; /* y represents a pointer to a class object */
IID-ARRAY z; /* z represents an array of IIDs */

/* Assign to x the class object representing class CLASS */
/* x is now the iid of the Class CLASS object */
x = select("CLASS", name="CLASS");

/* Get virtual pointer to class CLASS object */
y = #x;









/* Get all associations of class CLASS */
z = y -- getSetOfAssociations);

In this example, the association objects associated with the class CLASS object
are retrieved. In the first step, the instance identifier of the class CLASS object is
looked up (using a select operator). Then, a lookup operator (#) is used to map from
the instance identifier (IID) to a virtual memory pointer (y). The virtual memory
pointer (y) now points to the class CLASS object. The IIDs of the association

objects associated with the class CLASS object (represented by z) are now accessed
by sending an appropriate message of class CLASS to the class CLASS object (y).
The approach and techniques described above to achieve parameterization can be
extended to rules and methods. Thus, rule and method objects can be parameterized
and manipulated in a manner similar to classes and associations.

5.3 Application Meta-information

The meta-information that relates to an application is manipulated in exactly
the same manner as the meta-information that relates to the model itself. The same

technique and approach described above is used. However, instead of manipulating
classes and associations that belong to the data model, we manipulate classes and as-
sociations that belong to the application. We illustrate our approach to management
of application meta-information using the following examples.
In the first example, we illustrate how the set of all instances of an application
class can be accessed. This is the mechanism by which the extension of a class is
stored and accessed.

IID x; /* x represents an lID object */
IID-ARRAY r; /* r represents an array of IIDs */
ECLASS* p; /* p represents a pointer to an E-class object */

/* Assign to x the E-class instance representing class TA. That is, x is now
the iid of an instance of E-CLASS representing the class TA object */
x = select("ECLASS", className="TA");










/* Get virtual pointer to the E-class instance of class TA object */
p = #x;

/* r now represents the set of all instance of class TA */
r = p --+ getSetOflnstancesO;

In the second example, we illustrate how the superclasses of an application class
can be accessed. First, all the associations of the class are accessed and then, the
superclass (generalization) association is singled out.
IID x; /* x represents an IID object */
CLASS* y; /* y represents a pointer to a class object */
IID p; /* p represents an lID object */
ASSOCIATION* q; /* q represents a pointer to an association object */
IID-ARRAY z; /* z represents an array of IIDs */

/* Assign to x the class object representing class TA */
/* x is now the iid of the Class TA object */
x = select("CLASS", name="TA");

/* Get virtual pointer to class TA object */
y = #x;

/* Get all associations of class TA */
z = y -+ getSetOfAssociations);

/* Iterate this set of associations to determine the superclass association */
FOR each element in AssociationSet (z)
BEGIN
p = [z -+getNextElement)]
q = #p;
IF [q --getAssocType() = superclasss"]
return q
END


5.4 Dictionary Access Functions

Due to the reflexive nature of the approach we propose, the model of the model
is realized through a series of incremental steps or extensions. Accordingly, the
dictionary access functions are extended or added to, as necessary. In Appendix A,






82

we show a relevant sub-set of dictionary access functions that are currently supported

after performing the initial bootstrap process.

5.5 Data Dictionary Module

The data dictionary module and the model meta-schema management module

are represented as one integrated module in the architecture we propose. Classes
and objects that describe and implement the data model semantics are defined here.

The module also provides a set of access methods used to access run-time meta-

information of the data model or of an application schema. The implementation of

this module is presented in Chapter 6 as part of the implementation of a Kernel

Object Management System (KOMS).














CHAPTER 6
MANAGEMENT OF KERNEL OBJECTS

In this chapter, we address storage and processing issues relating to the manage-
ment of kernel objects: objects whose abstractions are described by XKOM. Cor-

respondingly, the design and development of a Kernel Object Management System

(KOMS) is also presented.

This chapter is organized as follows. In Section 6.1 we outline a set of basic

requirements that serve as a basis for the management of kernel objects, and influence

the design and implementation of KOMS. Based on these requirements, Section 6.2

deals with various issues related to the storage of kernel objects and Section 6.3

deals with various issues related to the processing of kernel objects. In Section

6.4, we describe the implementation of the Kernel Object Management System and

techniques used to realize extensibility.

6.1 Basic Requirements

The basic requirements that influence the management of kernel objects, and

play an important role in the design and development of KOMS are enumerated

below.


1. Storage Requirements: The storage needs of KOMS are primarily influenced

by the basic structural constructs of the data model. In this regard, KOMS

must support the set of core data model constructs that XKOM incorporates:

objects, classes, instances, identity, and associations.

2. Processing Requirements: The processing needs of KOMS are primarily influ-

enced by the processing needs of clients in the upper layers. To support a

83









generic class of clients, KOMS must support set-oriented processing, value-
based processing, and association-based processing.

3. Extensibility Requirement: In order to support the various requirements of
clients in the upper layers, the software modules of KOMS must be designed
and developed in an extensible manner.

6.2 Storage Issues for Kernel Objects

In KOMS, an important issue is a generalized mapping of kernel objects to the un-
derlying storage layer. To facilitate such a mapping, a well-defined model of storage

for kernel objects is developed, and issues relating to such a storage representation

and mapping are investigated.

6.2.1 Models of Storage: Static Storage Model vs Distributed Storage Model

In implementing the structural aspects of XKOM, the storage and processing of

objects in a generalization or super-sub class hierarchy is an important consideration.

This factor determines the storage and processing of inherited attributes.

We consider two possible strategies for objects in a Generalization (G) hierarchy;

a Static Storage Model (SSM), and a Distributed Storage Model (DSM). These
strategies are illustrated in Figure 6.1.

In SSM, an object physically exists in exactly one class of the class hierarchy. In

this case, an object is "pushed" to the lowest class it belongs to in the hierarchy, and

each object stores direct attributes of that class, and also stores statically inherited
attributes from all superclasses. Thus, for example, a teacher object (based on the

schema of Figure 4.2) contains storage slots or fields for direct attributes (degree,

salary), and for inherited attributes (name, age, ssn).

In DSM, the structural properties of an object are physically distributed into as

many classes as it belongs to. An instance is thus the corresponding partition of

an object in a given class. Each instance only stores the attributes defined for that






85











ol: represents a Person object
o2: represents a Teacher object
o3: represents a TA object


PERSON
PERSON
ol2 Issnlaqlname .
ol ssnae name
o ssnagenameo2 ssn e name ......
2 i,, ___ s |o a | I"--.-name rx---ni -*. r'."''

TEACHER TEACHER
o2 I deee I salary V
f2 ssn age name 1A____
I salary IdegreeJ --- J o3 ,,rl salary03
.- GRAD
TA STUDENT
', t-------- ^t
classification
o3 ssn age name o3 j TA .
salary degree *
GPA Iclassificationl ...-office
office# o3


(a) Static Storage Model (b) Distributed Storage Model

Figure 6.1: Models of storage
a) Static Storage Model (SSM);
b) Distributed Storage Model (DSM)






86

class. Thus, for example, the same teacher object has a representation (instance)

in the Teacher class and a representation (instance) in the Person class, as well. A
dotted line in Figure 6.1(b) shows that they represent the same object.
The main advantage of SSM is that since all the attributes (direct and inherited)

are clustered together, creation, update, and deletion of objects is straightforward

and efficient. For retrieving all attributes of a given object, this approach is fast. In

SSM, a main disadvantage is that scan-based access is inefficient, and indexing can be

complicated. For example, retrieving all persons whose age > 50, is not very efficient.

This requires scanning all objects in the class Person, and scanning all objects in all

subclasses of Person. Similarly, indexing becomes complicated, requiring strategies

such as class hierarchy indexes [KIM89b, MAI86b]. A more serious shortcoming is
the inability to represent an object that spans more than one branch of a hierarchy.

For example, the case where a person is a parent and a teacher cannot be handled.

For DSM, the main advantages are faster access for scan based access such as se-

lection, and the ability to represent the instantiation of an object across many classes

(including the case where the object spans more than one branch of the generaliza-
tion hierarchy). Both these factors are important in database applications, and thus

we opted for using DSM. The main disadvantage in DSM is the added complexity

and overhead in creating, updating, and deleting an object that is partitioned. Also,

retrieving all attributes of a single object involves accessing all instances of the ob-

ject resulting in an increased cost of access. The cost of inserts, updates, deletes,

and accessing all attributes of a single object is higher than SSM, but can be reduced

by clustering together all instances of an object.

The DSM approach also allows for more flexible clustering options since it allows
instances to be clustered on a class basis (all instances of a class clustered together) or

on a class hierarchy basis (all distributed instances of an object clustered together).

In SSM, the latter technique is built in, and cannot be changed.









6.2.2 Logical Storage Structure of an Instance

Based on the Distributed Model of Storage (DSM), we now investigate the storage

representation of a generic instance. In object-oriented data models, various types

of objects such as complex/composite objects, structured objects, and large/small

unstructured objects have been identified and studied. The proposed storage repre-
sentation must encompass these various types of objects. To do so, we present below

a discussion on the characteristics of various types of objects, and how they can be

supported in a single and integrated storage representation.


1. Structured Objects: These objects are "regular" objects recognized by most
object-oriented data models. Such objects have a regular structure described

by the class that they belong to, and can be typically considered as objects

described in terms of other objects. The structural characteristic of this type

of object is that the object usually contains two components. First, it contains

"descriptive data," which are data values embedded directly in fields of the

storage object, and are usually expressed using data types such as character,
integer, string or other complex data types. Second, it contains an object refer-

ence component (association data), which represents object references (links)
between this object and other objects. A key operational characteristic for this

kind of object is set-oriented processing.

2. Large/Small unstructured objects: These objects are objects having a struc-

ture which is typically expressed as a sequence of uninterpreted bytes: its size
can range from 1 KByte to 100+ MBytes. A key characteristic of the large

unstructured objects is the need to uniformly and independently access and

manipulate parts of such large objects. Examples of such storage objects are









large (arbitrarily sized) text, images (from satellites), bit maps, etc. In Exo-

dus [CAR86a] all storage objects are treated as uninterpreted bytes and issues

related to the processing of large, uninterpreted storage objects are studied.

3. Complex/Composite objects: These objects are objects whose primary feature
is that they represent a composition of several objects from several classes
and collectively define one complex object. A key characteristic of this type of

object is the need to access and manipulate the entire composition of objects as

one entity. Such objects may be found in discrete manufacturing or engineering

design: for example, a jet engine that represents one "complex" entity.

In order to provide a unified and integrated representation for structured objects,

long/small uninterpreted objects, and complex/composite objects, we propose two

types of attributes (a) object reference attributes and (b) value attributes.

Using these two types of attributes allows for uniform representation of all types

of objects. On the one hand, a large uninterpreted object could be stored in a value

attribute using a data type called "raw": raw represents an uninterpreted sequence

of bytes. Processing the raw data type could exploit techniques and algorithms pro-
posed by Exodus [CAR86a] for processing large uninterpreted objects. On the other
hand, complex/composite objects can be represented using a combination of object

reference and value attributes. Such objects, for example, could utilize clustering

techniques and algorithms developed in application areas such as CAD/CAM for

processing complex/composite objects.

The storage format of an instance is a structure having the following fields;

instance-id field: Each instance stores its instance identifier in the first field.

object reference fields: Each instance can have several object reference attributes,

each of which is stored as an object reference field. An object reference field
stores one or more (iids) of the objects referred to by this instance, and the







89

object reference field is specified as IID or as IID-ARRAY. The former supports

1:1 references and the latter supports l:m references.

value fields: Each instance may have several value attributes, each of which is stored

as a value field.


The storage representation of an instance corresponding to this format is shown

in Figure 6.2.


instance id
of instance

reference
: ,attributes
of instance
J
value (primitive data type)
value (D class object)
value (complex D class object) value
attributes
of instance

value


Figure 6.2: A generic storage instance



6.2.3 Value Attributes

Value attributes of an instance are used to store the actual value of other object

instances as part of the instance. In Figure 6.3, we illustrate the notion of different

types of value attributes by showing a single instance of the class Person.

The different types of value attributes include;


1. primitive data types (e.g., integer, string)




Full Text
143
7.4 Processing Sets of Graphs
7.4.1 A Class Index for Sets of Instance Graphs
In database applications, an association set involved in a query may contain
a large number of instance graphs. A common access required by many of the
association algebra operators is the access to instances of a particular class in a
given association set. In particular, an instance of a particular class may participate
in many of the association patterns in a given association set. Thus, we construct
a class index. A class index is an index on a particular class of a given association
set. Given a specific instance of a particular class, it is possible using this index to
determine all the patterns of a given association set in which this instance appears.
In Figure 7.8, we illustrate this notion of a class index. We note that a class index
is a dynamic main memory index that is created and manipulated during query
processing.
The class index serves several purposes. First, it is used heavily in operations
such as Associate and NonAssociate in determining which patterns concatenate or
do not concatenate. Second, it serves to eliminates duplicates when it is necessary to
determine a unique set of instance identifiers of a particular class that participate in
a pattern. This is necessary when calling the lower-level object manager functions.
7.4.2 Processing Algebraic Query Operators
We now show how the proposed adjacency-matrix data structure is used to pro
cess the association algebra operators.
In Figure 7.9, we illustrate the usage of the adjacency-matrix data structures
for processing each of the four primary association algebra operators: Associate,
NonAssociate, A-Union, and A-Intersect. All examples are based on the database
schema and extension described previously in Chapter 4 and shown in Figure 4.2
and Figure 4.3 respectively. The association sets and operators used in each example


169
Cross-product association fXl
This is an association in which the defining E-class describes objects that result
from a cross-product of objects from some constituent D-classes. The cross-product
of the set of D-classes names a set of object categories, where object categories are
generally characterized by some descriptive attributes. In Figure 8.3, we show an ex
ample of an X-association in which objects of the class Population-Group represent
categories of persons identified by their state, county, age, and sex. The attribute
count and average salary describe characteristics of objects of the class Popula-
\
tion_Group: such objects represent categories of object rather than just objects.
The semantics of category attributes and summary attributes found in statistical
databases can be captured by the X-association and A-association respectively.
Population_Group
X
Figure 8.3: Example of a cross-product association
8.2 Specification and Processing of Rules
8.2.1 Rule Types
In order to specify the rules of a class, we propose two types of rules: explicit
rules and parameterized (generic) rules.
explicit rule: a rule that is specified for a given class and is defined explicitly in
terms of specific classes and associations that are involved.


U: indicates the Uses relationship (that
is, passing of messages)
QUERY
PARSER
HANDLER
V'
'N
^U5
classes
IH
\ O
7
CONTEXT
SUB-TREE
HANDLER
.U
QUERY
OPTIMIZER
HANDLER
CONTEXT
SUB-TREE
CONTEXT
HANDLER
SELECT
SUB-TREE
HANDLER
NCLASS
CONTEXT
OPERATOR
LOOKUP
TABLE
SELECT
SUBTREE
ONE
CLASS
CONTEXT
CLASS
GRAPH
MATRIX
INSTANCE
GRAPH
TABLE
lVw.
OPERATION
SUB-TREE
HANDLER
OPERATION
SUB-TREE
OPERATOR
LOOKUP
TABLE
Figure 7.17: System Architecture Schema of Query Processor
05
CO


109
is invoked at the root class, the net effect is the removal of all instances
of the given object. The operation proceeds by starting with the given
class, and determines the subclass hierarchy rooted at the given class. It
then invokes the delete_Instance operator for all classes in this subclass
hierarchy, beginning from the bottom most level in the hieraxchy up to
the level of the given class. The algorithm that implements this operation
is based on the partitioning of an object along class boundaries.
10. destroy-Object ((oid))
Returns: success/failure
Description: Deletes all instances of a given object (oid). The operation pro
ceeds by determining the root classes of the given object. The delete_Object
operation is then invoked for each root class.
Category #5: Retrieve
11. retrieve ((class), (oid-list), (attr-list))
Returns: A set of partial objects.
Description: Retrieves a set of specified objects (oid-list) from the class (class).
If a list of attributes (attr-list) is specified, only these selected attributes
of the objects are projected out. The attributes which are specified in
(attr-list), must be descriptive attributes only (no association attributes
may be specified). Inherited attributes may be specified. If the (oid-list)
is specified as (all), then oids of all instances of the given class (class)
are used as the given oid-list. If the (attr-list) is specified as (all), then
all attributes are projected out. The operation returns a set of partial
objects, where a partial object is a projection of the original object on
the specified attributes.


210
[CHE76]
[CH085]
[CHU90]
[COD70]
[COI87]
[CON79]
[COP 84]
[DAD86]
[DEP86]
[DIT86]
[DIT87]
[DS088]
[FIS87]
[FIS89]
P. P. Chen, The Entity-Relationship Model: Towards a Unified View
of Data, ACM Transactions on Database Systems, Vol. 1, No. 1, 1976.
H. T. Chou, D. J. DeWitt, R. H. Katz, and A. C. Klug, Design and
Implementation of the Wisconsin Storage System, Software Practice
and Experience, Vol. 15, No. 10, 1985.
H. S. Chuang, Operational Rule Processing in a Prototype OSAM*
Knowledge Base Management System, M.S. thesis, University of
Florida, 1990.
E. F. Codd, A Relational Model of Data for Large Shared Data
Banks, Communications of ACM, Vol. 13, No. 6, 1970.
P. Cointe, Metaclasses are First Class: the ObjVLisp Model, Pro
ceedings of ACM OOPSLA, Orlando, FL, Oct., 1987.
L. L. Constantine, and E. Yourdon, Structured Design, Prentice-Hall,
Englewood Cliffs, NJ, 1979.
G. Copeland, and D. Maier, Making Smalltalk a Database System,
Proceedings of the ACM SIGMOD International Conference on Man
agement of Data, Boston, MA, June, 1984.
P. Dadam, K. Kuespert, F. Anderson, H. Blanken, R. Erbe, J. Gue-
nauer, V. Lum, P. Pistor, and G. Walch, A DBMS Prototype to Sup
port Extended NF2 Relations: An Integrated View on Flat Tables and
Hierarchies, Proceedings of the ACM SIGMOD International Confer
ence on Management of Data, Washington, DC, May, 1986.
U. Deppisch, H. -B. Paul, and H. -J. Schek, A Storage System for Com
plex Objects, Proceedings of the International Workshop on Object-
Oriented Database Systems, Pacific Grove, CA, Sept., 1986.
K.R. Dittrich, Object-Oriented Database Systems: The Notions and
the Issues, Proceedings of the International Workshop on Object-
Oriented Database Systems, Pacific Grove, CA, Sept., 1986.
K. R. Dittrich, W. Gotthard, and P. C. Lockemann, DAMOKLES -
The Database System for the UNIBASE Software Engineering Envi
ronment, IEEE Database Engineering, Vol. 10, No. 1, 1987.
T. G. DSouza, A Graphic Semantic Data Definition Language and
a Graphic Language for the Object-oriented Semantic Association
Model, M.S. thesis, University of Florida, 1988.
D. Fishman, D. Beech, H.P. Cate, E.C. Chow, T. Connors, T. Davis, N.
Derrett, C.G. Hoch, W. Kent, P. Lyngbaek, B. Mahbod, M.A. Neimat,
T.A. Ryan, and M.C. Shan, Iris: An Object Oriented Database Man
agement System, ACM Transactions on Office Information Systems,
Vol. 5, No. 1, 1987.
D. Fishman, J. Annevelink, E. Chow, T. Connors, J. W. Davis, W.
Hasan, C. G. Hoch, W. Kent, S. Leichner, P. Lyngbaek, B. Mahbod,
M. A. Neimat, T. Risch, M. C. Shan, and W. K. Wilkinson, Overview


98
allocation, and probably, has the worst hashing performance for oid manipu
lation. In this scheme, the system must keep track of the last oid issued.
2. Skewed Counter: A 32 bit counter is used to generate a sequence of oids. How
ever, instead of directly using the number generated by the counter, the num
ber generated by the counter is skewed (by a pre-defined transformation on
the bit positions constituting the number) to produce another 32 bit integer.
This scheme requires a slightly higher cost of allocating oids, but provides a
fax superior distribution of allocated oids. All other considerations remain the
same.
3. Time-stamp: A 32 bit time stamp can be used to represent an oid. Effectively,
oids that are time stamps signify the time of birth (creation) of the object. Such
a scheme ensures immutability, and uniformity. However, uniqueness depends
on the resolution of the clock, and the number of bits used. The distribution
of the allocated oids can be skewed or altered, to improve performance, by
changing the order of the bits. The cost of allocating oids is not too high, and
reasonable hashing performance can be expected. The main problems with this
approach are (a) a restriction on the lifetime of the system, (b) a restriction
on the number of oids generated per sec., and (c) the under-utilization of
oids. However, this scheme has the advantage that the oid actually contains
some semantic information (time of creation), which can be used in certain
applications.
6.2.6 Identity-Address Mappings
The main argument against using surrogates as identity is that it involves a
performance penalty due to the use of an object table to perform identity-address
mappings. While this is a valid argument, we believe that surrogates serve an


133
Teacher, and Location are specified in a query, then the IGAM could be ordered so
that instances from class Course use the first row (7*0101) and the first column (co/i),
instances from class Section use the second row (7*0102) and the second column (co/2),
instances from class Teacher use the third row (7*0103) and the third column (co/3),
and instances from class Location use the fourth row (7*0104) and fourth column
(co/4). Diagonal elements of X represent nodes of the instance graph, and contain
the oids of the instances from the corresponding classes. Thus, X^\) contains c61
(oid of the instance from class Course), X^,2) contains s51 (oid of the instance from
class Section), X^3) contains t32 (oid of the instance from class Teacher), and X(4i4)
contains 145 (oid of the instance from class Location). Non diagonal elements contain
a 0 or 1. If X(i-¡ contains a zero, this implies that in the instance graph there is no
object reference from the object instance X^ of class C,- to the object instance X(j)
of class Cj. If X({j) contains a 1, this implies that there exists an object reference (or
link) between the object instance X^ of class Ct- to the object instance Xy^ of class
Cj. Thus, an object reference (or link) between c61 and s51 would be represented by
a 1 in the position specified by row 1 and column 2, whereas a non-object reference
(no-link) between c61 and t32 would be represented by a 0 in the position specified
by row 1 and column 3. Only the upper diagonal matrix of the IGAM is necessary to
represent non-directional references(links). If the entire IGAM is used, it is possible
to represent bi-directional links. By navigating along a row or column, it is possible
to determine the links between objects easily and directly. Figure 7.2(b) shows an
example IGAM corresponding to the association pattern of Figure 7.2(a).
7.3.2 A Three-Dimensional Matrix Structure
We have described a data structure to formally represent a single instance graph.
For a query resulting in a set of m extensional patterns corresponding to a given
intensional pattern, we represent the result as a set of m Instance Graph Adjacency


(a) A simple schema
object diagram
course iid
storage instance
(b) 1:1 reference
(c) l:n reference
Figure 6.5: Storage strategy for object references
a) A simple schema; b) 1:1 reference;
c) l:n reference


REFERENCES
[ABI86]
[ABI87]
[ABR74]
[AGR89]
[AH083]
[ALA89a]
[ALA89b]
[ALB85]
[ALL80]
[AND87]
[AST76]
S. Abiteboul, M. Scholl, G. Gardarin, and E. Simon, Towards DBMSs
for supporting new applications, Proceedings of the 12th International
Conference on Very Large Databases, Kyoto, Japan, Aug., 1986.
S. Abiteboul, and R. Hull, IFO: A Formal Semantic Database Model,
ACM Transactions on Database Systems, Vol. 12, No. 4, 1987.
J. R. Abrial, Data Semantics, DataBase Management, North-Holland,
Amsterdam, 1974.
R. Agrawal, and N. H. Gehani, ODE (Object Database and Environ
ment): The Language and the Data Model, Proceedings of the ACM
SIGMOD International Conference on Management of Data, Portland,
OR, May, 1989.
A. V. Aho, J. E. Hopcroft, and J. D. Ullman, Data Structures and
Algorithms, Addison Wesley, Reading, MA, 1983.
A. M. Alashqur, A Query Model and Query and Knowledge Definition
Languages for Object-Oriented Databases, Ph.D. Dissertation, Dept,
of Electrical Engineering, Univ. of Florida, 1989.
A. M. Alashqur, S. Y. W. Su, and H. Lam, OQL: A Query Language
for Manipulating Object-oriented Databases, Proceedings of the 15th
International Conference on Very Large Databases, Amsterdam, Hol
land, Aug., 1989.
A. Albano, L. Cardelli, and R. Orsini, Galileo: A Strongly Typed In
teractive Conceptual Language, ACM Transactions on Database Sys
tems, Vol. 10, No. 2, 1985.
J. E. Allchin, A. M. Keller, and G. Wiederhold, FLASH: A Language
Independent, Portable File Access System, Proceedings of the ACM
SIGMOD International Conference on Management of Data, Santa
Monica, CA, May, 1980.
T. Andrews, and C. Harris, Combining Language and Database Ad
vances in an Object-oriented Development Environment, Proceedings
of ACM OOPSLA, Orlando, FL, Oct., 1987.
M. Astrahan, M. W. Blasgen, D. D. Chamberlin, K. P. Eswaran, J.
N. Gray, P. P. Griffiths, W. F. King, R. A. Lorie, P. R. McJones, J.
W. Mehl, G. R. Putzolu, I. L. Traiger, B. W. Wade, and V. Watson,
System R: A Relational Approach to Database Management, ACM
Transactions on Database Systems, Vol. 1, No. 2, 1976.
208


107
Description: Updates the attributes of the instance corresponding to object
(oid) in class (class). An argument list (arg-list) specifies attributes to
be updated. The (arg-list) contains (direct) attributes from the specified
class only (no inherited attributes), and association attributes (except G)
may be specified.
5. update-Object ((class), (oid), (arg-list))
Returns: success/failure.
Description: Updates the attributes of the corresponding instances of the object
(oid) in the given class (class) and in any class in the super-class hier
archy of the given class. An argument list (arg-list) specifies attributes
to be updated. The (arg-list) may contain inherited attributes, and as
sociation attributes (except G) are also allowed. Starting with the given
class, the operation determines which instances of the specified object in
the superclass hierarchy of the given class are to be updated. The up-
dateJhstance operation is then invoked, with the appropriate argument
list, in the classes corresponding to the instances that are to be updated.
6. associate ((classl), (oid), (class2), (oid-list), (assoc-name))
Returns: success/failure.
Description: Associates the instance of object (oid) in class (classl) with the
instances of objects (oid-list) of class (class2). The (assoc-name) spec
ifies the name of the schema level association from (classl) to (class2).
The operation is a mechanism to set or update the association or object
reference attribute of a kernel object. The operation ensures that when
objects are associated, two-way(inverse) binary associations (or links) are
created.


27
domains. Physical extensibility or extensions to lower levels of abstraction are car
ried out by downwardly extending the intermediate layer to different and possibly
alternative physical data organizations, access paths, and storage sub-systems. We
note that XKOM also serves as an internal model of implementation for the system.
The use of levels of abstraction provides a systematic design and implementation
philosophy, enabling the system designer to visualize many different aspects of the
system architecture. The open, layered and modular framework that we propose
realizes an open system architecturean architecture that enables the system to
be incrementally extended at any level of abstraction.
Based on the framework described above, a kernel KBMS is realizeda system
which serves as a core from which more sophisticated KBMSs can be built. Similar
to the notion of a DBC or DBI, we assume that extending and configuring the kernel
KBMS is the task of a KBMS Customizer (KBC).
In Figure 3.2, we illustrate the different steps involved in configuring and using a
kernel KBMS. If necessary, the KBC must configure or extend the kernel KBMS to
satisfy the requirements of an end-user data model to be used in a specific application
domain, and generate a final KBMS having the desired functionality. (A special
case is where the kernel KBMS is used in its basic form). The Knowledge Base
Administrator (KBA) then uses the final KBMS to develop an application knowledge
base, which can then be used by various end-users. Note that in the figure, the kernel
KBMS is portrayed as a black box, and a KBMS derived from the kernel KBMS
is portrayed as a larger black box. Later on, we will show that these black boxes
represent a well-defined specification and implementation of the model and system,
and that our approach provides a well-defined methodology to customize the model
and system. As a result, the tasks of the KBC, like the tasks of a KBA, are fairly
well-defined. In contrast, other approaches to extensible systems have not made an
attempt to clearly identify the tasks of a DBI or DBC.


128
operator must specify the association name (R) between the classes (Cm, Cn) of the
operand association-sets over which the patterns are to be associated (concatenated).
An example of the Associate operator is shown in Figure 7.1(a).
The defaults arguments for this operator are as follows. The name of the class
from the first operand (i.e., Cm) may be omitted if it is the last class in the intensional
expression of a, the name of the class from the second operand (i.e., Cm) may be
omitted if it is the first class in the intensional expression of /?, and the name of
the association between the two classes may be omitted if there is a single unique
association name between the classes.
NonAssociate (0
The NonAssociate operator is a binary operator used to identify the association
patterns in one operand association-set (a) that are not associated (over a specified
association) in the original database with any pattern in another association-set (/?),
and vice versa:
result association-set, 7 = a.\[R{Cm^ Cn)\/3
The result of a NonAssociate operator is an association set (7) containing patterns
of the first operand association-set that are not associated with any patterns of the
second operand association-set, and patterns of the second operand association-set
that are not associated with any patterns of the first operand association-set. The
operator must specify the association name (R) between the classes (Cm, Cn) of the
operand association-sets over which the patterns must not be associated. The same
default naming convention used for the Associate operator applies. An example of
the NonAssociate operator is shown in Figure 7.1(b). The dotted line between two
instances indicates that the two instances are not associated.


CLASS: class-name
Class-Type = ;
/* e.g. "E-class" */
ASSOCIATION SECTION:
Association-Type = "generalization";
{ SUPERCLASSES : ;
SUBCLASSES :
}
Association-Type = ;
/*e.g. "aggregation" */
{ assoc_name : ;
assoc_name : ;
assoc_name : < type constructor ;
}
METHODS SECTION:
{
Specifications of Methods
}
RULES SECTION:
{
Specifications of Rules
}
Figure 4.1: Specification of a Class


151
CONTEXT TA Teacher [degree= MS]
! (Section Course [course# > 5000])
SELECT TA[name]
Display
This query illustrates the use of the NonAssociate operator, and the query exe
cution plan corresponding to this query is shown in Figure 7.11. The NonAssociate
operator in this query corresponds to the example illustrated previously in Figure
7.9(b). The display operator shown as the top-level node of the query tree is used
to retrieve and display the descriptive data of instances that satisfy the specified
association pattern.
Queries with branching association patterns
Query: Display all sections of currently offered course which have not been assigned
a teacher or a location. Show also the course#, and section#.
CONTEXT Course Section !OR (Teacher, Location)
SELECT Course[course#], Section[section#]
Display
This query illustrates a branching association pattern based on an OR condi
tion at the fork class.. This branching association pattern is decomposed into an
association algebra expression as follows.
Course Section \OR (Teacher, Location)
= (Course Section Teacher) + (Course Section Location)
Based on this decomposition, the corresponding query execution plan is shown
in Figure 7.12. It illustrates the use of the A-Union operator. The A-Union operator
in this query corresponds to the example illustrated previously in Figure 7.9(c). We
note that y, = Course Section, is not computed twice. Rather, the same result (y)
is shared by the two branches of the query tree.
Query: Display all teachers who have been assigned to teach sections of undergrad
uate classes for which the capacity of the classroom exceeds 60.


164
parse tree to an optimized query tree. The default is that the parse tree is used
as the query tree. The query tree is now ready for execution. Third, it calls the
QueryTreeHandler (QTHandler) class to execute the query tree. This sequence of
messages is shown below;
QueryHandler::executeQuery(char* querytext){
ParseTree *x;
QueryTree *y;
QueryParserHandler *hl;
QueryOptimizerHandler *h2;
QueryTreeHandler *h3;
/* parse the textual query */
x =s hi parseQuery( query-text)',
/* optimize the parsed query */
y = h2 -* optimizeQuery(x);
/* execute the query tree */
h3 executeQueryTree(y);
}
The QueryTreeHandler class is again an interface class which is responsible for
coordinating the execution of the query tree. It breaks a query tree down into several
smaller sub-trees which are then individually processed by modules responsible for
executing each of these sub-trees. Such sub-trees include; a context sub-tree for
generating the subdatabase context of a query, a select sub-tree for performing the
select operation, and an operation sub-tree for processing the user or system defined
operations involved in a query. The QueryTreeHandler class invokes methods in each
of the sub-tree handler classes to process each sub-tree. To illustrate this concept,
we will use the processing of the context sub-tree as an example, since the processing
of this sub-tree is an important component of the query processor.
The QueryTreeHandler class calls the ContextSubTreeHandler class as follows.
ContextSubTree *p;
ContextSubTreeHandler *hl;
/* extract the context subtree from the query tree (y) generated above */
p = y > extractContextSubTree();
hi > executeContextSubtree(p);


200
Auxilliarv Function: Retrievelnstance
This is an auxilliary function that retrieves the specified attributes of a single in
stance from a given class.
RetrieveInstance(0,-, Oj, (arg-list));
BEGIN
PartialObject POump,
/* Retrieve the specified value attributes of the instance */
FOR p = 1 TO [No of elements in (arg-list)]
BEGIN
Attribute [p] = Ap= [(arg-list)>-getElement(p)];
Value [p] = Vp get Value Attribute( Oj, Ap)]
setValueAttribute(POtemp, Ap, Vp)\
END
return (POtemp);
END
B.5.2 Select
select(0,-, (sel-cond));
BEGIN
DicHandler* h OTHandler* hot]
(oid-list)= null;
IF [(sel-cond) = all]
THEN
BEGIN
(oid-list)= [hot>getA110IDs(0,)];
return ((oid-list));
END
condi = first clause in (sel-cond);
Ai = attribute used in condi;
Ci = local class of attribute Aj;
(sel-list) = LocalSelect(0/,cond1);
(oid-list) = (sel-list);
FOR j = 2 TO [No of clauses in (sel-cond)]
BEGIN
condj = jth clause in (sel-cond);
Aj = attribute used in condi]
Ci = local class of attribute Aj]
(sel-list) = LocalSelect(0/,condi);
IF [CONJUNCTION between condj-1, condj]
THEN (oid-list) = (oid-list)n (sel-list);
IF [DISJUNCTION between condj-i, condj]
THEN (oid-list)= (oid-list)U (sel-list);
END


129
a
P V
t32 S33
t21 s23
* (Cm, Cn)
Cm = Section
Cn = Course
(a) Example of Associate Operation
Of
ta24 t24
ta74 t74
75 t75
A
J
p
| (Cm, Cn)
Cm = Teacher
Cn = Section
V
(b) Example of NonAssociate Operation
Figure 7.1: Association algebra operators
a) Example of Associate Operation; b) Example of NonAssociate
Operator, c) Example of A-Union Operator, d) Example of
A-Intersect Operator


187
schemata corresponding to the model and system, a better approach is to develop
an intelligent tool which can assist the KBC in modifying and extending the system.
Third, extensible systems exhibit a classic trade-off between functionality and
performance. The emphasis on generic modules and parameterization leads to bet
ter functionality but decreased performance. In general, the performance aspects of
extensible systems has been a largely ignored area. We make an important obser
vation in this regard. Monolithic systems provide higher performance by optimizing
the system as a whole although internal components are usually fixed. Instead,
extensible systems may be able to exploit the extensibility feature itself for better
performance. Since internal components can be easily modified or replaced, it may
be possible to optimize the system as a whole by modifying or substituting each
internal component or module based on some performance requirements. In this
case, extensibility is used not simply to satisfy application domain requirements but
to satisfy performance requirements.
Fourth, a mathematical model for model and system reflexivity must be devel
oped. Such a model can provide better insight into the process of extending the data
model and system, and can serve as a basis for checking consistency in the extensions
to the model and system. Developing such a mathematical model involves defining
a mathematical notation for representing data model and system reflexively, and a
mathematical formulation of the transformation process involved in extending the
model and system.
Finally, in the prototype we have developed for testing our concepts, the un
derlying storage layer must be made extensible. Currently, this storage layer is
implemented using ONTOS, a fixed and proprietary (that is, non-open) component.
To demonstrate physical extensibility at the storage layer, a future task is to replace
such a storage layer with an extensible storage layer. In an extensible storage layer,
files, buffers, records, etc., must be treated and manipulated as first class objects.


99
important purpose and instead better techniques for performing fast lookups must
be developed. To perform faster lookups, the following techniques are utilized.
specialized formats for identity: Currently, the system uses 32 bit identifiers that
are generated using a counter or the system clock. To improve the hashing
performance of an object lookup, a skewing technique may be used to shuffle
the positions of the identifier bits by a predefined transformation to produce
another 32 bit identifier having better hash characteristics.
partitioned object tables: Partitioned object tables are used, with each class main
taining a partition to perform identity-address mappings for that class. The
smaller size of the partition implies faster lookup. This notion of partitioned
object tables is illustrated in Figure 6.6.
main memory object tables: Currently, if any class is referenced or an object of a
class is accessed, the entire object table partition corresponding to that class
is staged in memory to provide faster lookups.
6.2.7 Homogeneous and Heterogeneous Clustering of Objects
To support different forms of access for different types of objects, two funda
mental storage configurations are required: (a)a homogeneous clustering of object
instances, and (b)a heterogeneous clustering of object instances.
A homogeneous clustering of object instances implies the ability to cluster a set
of instances that belong to a single class, and possibly sort or index these instances
based on some attribute value. Such a clustering allows efficient partial or full scans
of the instances of a class. A file organization such as an indexed sequential file
organization can be used to achieve such a clustering strategy.
A heterogeneous clustering of object instances implies the ability to cluster an
arbitrary set of instances taken from various classes. Such a clustering allows the


CHAPTER 9
SUMMARY AND FUTURE RESEARCH
9.1 Summary
To summarize the research presented in this dissertation, we have investigated
several key issues relating to the development of next-generation Knowledge Base
Management Systems for supporting advanced application domains.
A key contribution of this dissertation is the concept of coupling an extensible
data model with a corresponding extensible system architecture for realizing next-
generation KBMSs.
A fixed data model restricts the ability of the model to model numerous features
of complex application domains. Instead, the use of an extensible data model allows
the data model to be tailored to the needs of the application domain and not vice
versa. In this context, we have proposed an extensible data model: a data model
containing a set of basic object-oriented data modeling constructs plus the capacity
to add new and advanced data modeling constructs. In order to achieve data model
extensibility, we have proposed techniques in which the basic data model constructs
are reflexively modeled using the data model itself, and subsequent extensions are
realized by modifying this reflexive model of the model using the structural and
behavioral abstractions that the basic data model itself provides.
A key concept underlying the extensible data model approach is the notion of
a model meta-architecture which is composed of meta-objects. Such meta-objects
are objects that model the data model itself. Thus, data model constructs such
as classes, associations, rules, methods, etc. are defined and managed as first class
184


50
That is, an object having the same oid can instantiate several classes. Incidentally,
instance f32 in class Father is the father of p58 as indicated in the association between
f32 and p58. Then, since t58 is the instance of class Teacher corresponding to the
person p58, we can infer from the object diagram that the two teachers that are
teaching section s33 are a father and a child.
Conceptually, an entire database represents one giant object diagram containing
many complex object association patterns. Thus, specifying association patterns of
interest is an important concept for the query and rule languages, as well as for
the language used to define methods. This aspect will be evident later, when the
language components of the data model are described.
4.4 Basic Data Modeling Constructs: Behavior
In this section, we address the second requirement that the data model must
satisfy, namely, that the model provides a set of powerful behavioral abstractions.
XKOM provides two forms of behavioral abstractions as outlined below.
1. Methods: The data model provides methods as a procedural form of behav
ioral abstraction. Methods are specified as part of a class definition and are
applicable to the set of objects which represent the extension of the class.
2. Rules: The data model provides rules as a declarative form of behavioral ab
straction. Like methods, rules are specified as part of a class definition and
are applicable to the set of objects which represent the extension of the class.
However, rules provide a powerful form of behavioral abstraction since their
declarative nature allows for convenient and flexible specification of behavioral
semantics.
4.5 Language Components
To specify the structural and behavioral abstractions described in Sections 4.3
and 4.4, a language or a set of languages are needed. We discuss the various language


42
4.2.3 Association
In data modeling, an important concept is the notion of associations or rela
tionships [CHE76, SU83, SU89] among classes and the corresponding associations
or relationships among object instances. Thus, XKOM supports the fundamental
notion of Association.
An important concept that we propose is the notion of different types of associa
tions corresponding to the semantics of different types of associations or relationships
in the real world (this notion of Association Extensibility is described later in Section
4.6). The notion of different types of associations is analogous to and complements
the notion of different types of classes. In its core or kernel form, XKOM supports
two fundamental and orthogonal types of associations, namely Generalization (G)
and Aggregation (A) [SMI77].
Generalization
Generalization represents the super-sub class relationships between two classes.
In XKOM, each class can have a number of superclasses and every class must have
at least one superclass except the root class (OBJECT) which has no superclass.
A class inherits all the structural abstractions of its superclasses as well as the
behavioral abstractions (rules and methods) defined for its superclass. A class can
itself be a subclass of several classes. This gives rise to a superclass-subclass lattice
or network. The notion of multiple inheritance is supported for such a generalization
lattice or network.
Aggregation
Aggregation is an association that defines a characterization relationship between
a defining class and a constituent class. An object in the defining class is character
ized or described by an object in the constituent class. In XKOM, an aggregation as
sociation is identified by a named mapping from the defining class to the constituent


54
same data model as the original database. The result of a query can then further
operated upon by other queries.
In the Object-oriented Query Language (OQL), a query is considered to be
a function which when applied to a database (or a sub-database) returns a sub
database, which is composed of some select object classes (with each object class
containing a sub-set of its instances), and some selected associations between these
classes. A subdatabase forms a context under which further processing such as
the invocation of user/system defined methods (e.g., update, print) can be carried
out. The execution of the query can be considered as having two phases. First, the
establishment of a subdatabase context. Second, the processing of system or user
defined methods, e.g., retrieving the descriptive data for the query.
Specifying queries
A query is specified in OQL using the following query structure:
CONTEXT (Association Pattern Expression)
WHERE (inter-class conditions)
SELECT (object classes and/or attributes)
(class: operation-name parameter-list)
In the CONTEXT clause, the user specifies a subdatabase of interest using an
Association Pattern Expression (APE). The CONTEXT clause causes a set of data
base extensional patterns which satisfy the CONTEXT clause to be extracted from
the database. Associated with the CONTEXT clause are the optional WHERE and
SELECT sub-clauses. The WHERE sub-clause specifies some inter-class conditions
based on attribute values which further causes some extensional patterns that do
not satisfy the where condition to be dropped from the subdatabase. The SELECT
clause provides the capability for the user to further select some classes from the
subdatabase and project out descriptive attributes of object from such classes. The
operation clause allows the user to specify a set of messages to invoke a sequence of


/* delete an instance in the class as the recursion unravels */
flag = deleteJnstance(C,-, Oj)] return (flag);
END
B.4.3 Destrov-Obiect
delete_Object (C,-, Oj);
BEGIN
DicHandler* hac]
OTHandler* hot;
/* Check if class is valid and if class does contain this instance */
IF NOT [fcdtcisClass(C,i)]
THEN return (failure: No Such Class);
IF NOT [hotdsInstanceOf(Ci, Oj)\
THEN return (failure: No Such Object);
(rc-list)= [/*d,c->getAllRootClasses(C,-)];
FOR p = 1 TO [No of elements in (rc-list)]
BEGIN
RootClass[p] = CiTp [(rc-list)vget Element (p)];
delete_Object(C',rp, Oj);
END
return (success);
END
B.5 Retrieve
B.5.1 Retrieve
retrieve^,-, (oid-list), (arg-list));
BEGIN
DicHandler* h
diej
BOOLEAN flag;
/* Check if class is valid */
IF NOT [A,-cMsClass(C'i)]
THEN return (failure: No Such Class);
PartialObjectList = (po-list)= null;
FOR j = 1 TO [No of elements in (oid-list)]
BEGIN
PartialObject *x;
PartialObject, POj= (x mew);
(po-list)vaddElement (POj)\
END
flag = RecursiveRetrieve(Ci, (arg-list), (po-list));


LOGICAL REPRESENTATION LAYER
High level, logical (end-user) data modeling constructs
End-user interfaces such as query languages, etc
Other logical end-user abstractions (new association types),
constructs, application-related features/constructs etc
MAPPING
Mappings from logical (end-user) data models, constructs,
abstractions, query languages to underlying extensible
Kernel Object Model (XKOM) Layer
KERNEL OBJECT MANAGEMENT LAYER
extensible Kernel Object Model (XKOM): a basic, canonical,
object based model serving as an intermediate level of
abstraction
Provides extensibility mechanisms
Provides a base set of extensible object-level operations
for kernel objects
MAPPING
Defines the implementation of XKOM
Mapping the Kernel Object Model to underlying storage
structures and implementation of the base set of object level
operations
UNDERLYING STORAGE LAYER
Physical Storage of kernel objects
Figure 3.1: A Layered Framework for Extensibility
to
o


79
r = p > getSetOflnstances();
/* s now represents the set of all associations in the system */
s = q > getSetOflnstances();
In this example, the first two steps are to access the instances of class ECLASS
which correspond to class CLASS and class ASSOCIATION (Note that instances of
class ECLASS represent all E-classes in the data model). This is done by using a
select operator to select instances of ECLASS which satisfy the selection condition
(name = string). In the next two steps, a lookup is performed using the instance
identifiers of the selected instances. A lookup operator (#) is used to transform the
instance identifier to the corresponding virtual memory pointer (this lookup operator
will be later discussed in Chapter 6). Now, the variables p, q point to instances of
ECLASS which represent the E-classes CLASS and ASSOCIATION respectively. In
the last two steps, we examine the setOflnstances attribute of these instances. This
gives us all the classes and all the associations in the model. After the bootstrap
process terminates, the only classes and associations are those belonging to the
meta-class system created by the bootstrap process.
We now use a more complex example to illustrate the access of a combination
of classes and associations. In this example, we show how all the associations of a
given class can be accessed by retrieving the association objects associated with the
class object.
HD x; /* x represents an IID object */
CLASS* y; /* y represents a pointer to a class object */
IID-ARRAY z; /* z represents an array of IIDs */
/* Assign to x the class object representing class CLASS */
/* x is now the ¡id of the Class CLASS object */
x = select("CLASS, name= "CLASS);
/* Get virtual pointer to class CLASS object */
y = #*;


29
We now outline the techniques we propose to achieve extensibility. The basic
technique we propose is to reflexively apply data modeling techniques to model the
data model itself, and to model the software architecture of the system. Figure 3.3
illustrates this technique. When a data model is used to model an application such as
a University database, a schema or class system is produced representing an abstract
specification of the application world. Using the same technique, the model can
be used to model itself, resulting in a schema or class system which represents a
model of the data model, and to model the software architecture of the KBMS
which results in a model of the system. We note that the black boxes referred to
previously and shown in Figure 3.2, represent these model and system schemata.
Data model extensions are realized using Model Reflexivity. In Model Reflexivity,
a data model (XKOM) is used to reflexively model itself. This results in a meta
model schemaa set of (meta) classes which are used to describe and implement the
semantics of the data model (XKOM). Initially this meta-model schema represents a
basic and generalized model. To illustrate this concept, Figure 3.4 shows a high-level
(not detailed) schema of the model of the basic XKOM model. Model Extensibil
ity then involves tailoring or customization of the meta-model schema to extend the
basic model (XKOM) into a high-level end-user data model. The extension to the
meta-model schema is carried out using a number of extension mechanisms namely
user-defined data types, association types, methods (operations), and knowledge
rules. Rules provide a convenient and declarative mechanism for specifying con
straints associated with customized data model semantics. The task of tailoring the
data model schema is the responsibility of the KBC. Data model extensions such as
user-defined class types and association types are investigated in this research.
Extensions to the software architecture of the system are realized by using an
open and modular software architecture. The object-oriented paradigm is used to


137
that comprise the pattern, differ from one adjacency matrix to another. Since
the interconnection structure of the instance graphs remain unchanged, the
adjacency information does not need repetition for each instance graph.
We use the above properties to design an exactly equivalent structure that main
tains the same information with a very much lower storage complexity. In the
equivalent structure, the 3D matrix (n x n x m), representing m instance graphs
is reduced to the following; (a) a single (n x n) Class Graph Adjacency Matrix
(CGAM), which represents the adjacency information at the class level, and (b)
an Instance Graph Table (IGT), which is n columns wide and contains m entries.
The Instance Graph Table (IGT) represents the set of m instance graphs having an
interconnection structure specified by the CGAM.
The CGAM represents information that is common to all the extensional asso
ciation patterns such as the interconnection structure, by extracting and preserving
adjacency information at the class level. An upper diagonal or a lower diagonal
matrix is sufficient to represent undirected edges (associations or links), while a
full matrix can be used to represent directed associations. The set of extensional
association patterns of the subdatabase are represented as instance graphs in the
Instance Graph Table (IGT) as follows. The IGT is organized so that the ith column
corresponds to the class represented by the ith row and ith column of the CGAM.
For example, if class A is represented by the third row and the third column of the
CGAM, then the third column of the IGT represents class A. The Instance Graph
Table (IGT) is thus n columns wide, and contains m entries (rows). Each column
represents a class specified in the query, and each column contains oids of objects
from that class. Each entry (row) contains n oids from the n classes participating
in the query. Each row of the IGT represents the object instances participating in
a single instance graph, and, when combined with the template or adjacency infor
mation from the CGAM, it is exactly equivalent to the Instance Graph Adjacency


56
operator implies that in the resulting subdatabase, each instance of the fork class
must be associated with at least one instance from at least one of the branch classes.
An equivalent interpretation applies to the use of the AND, OR operators with the
! operator. Further details of the query language axe available in [ALA89a], and
details of the association algebra axe available in [GUO90].
Example query
To illustrate how methods can be specified and executed against a subdatabase,
we use an example query which invokes a method.
Query 1: Print a schedule for all CIS graduate classes which have a current offering
and have been assigned a teacher(s) and location ?
The corresponding OQL query is;
CONTEXT Course[dept=CIS AND course# > 5000] Section
*AND (Teacher, Location)
PrintSchedule(Section,...);
The Intensions! Association Pattern (IAP) corresponding to the subdatabase
generated by this query is shown in Figure 4.4(a). The IAP shows the E-classes
(Section, Teacher, Location and Course) and the associations of interest. Corre
sponding to a given IAP, there exists a set of Extensional Association Patterns
(EAPs) at the instance level. Each EAP represents a pattern (network) of instances
and associations belonging to the classes and associations specified by the IAP. The
set of EAPs corresponding to a subdatabase are shown using an extensional dia
gram in Figure 4.4(b). The method printSchedule defined for the class Section is
now invoked on the relevant context that has been filtered out of the database.
The query thus provides a high level declarative means of specifying the printing of
a schedule to meet the user requirements.


(a) Intensional Association Pattern
FATHER PERSON
(b) Extensional Diagram
Figure 4.6: The Intensional Association Pattern and Extensional
Diagram for a subdatabase derived by a rule
a) Intensional Association Pattern; b) Extensional Diagram


3
may be semantically inadequate. That is, the data modeling constructs may not be
semantically rich enough to capture the semantics of various application domains.
Second, the data model may be fixed. That is, a given application can only be
modeled using a fixed set of data model constructs even though diverse applications
have different needs. These factors which have contributed to the semantic gap are
an important aspect of the problem that this dissertation addresses, and techniques
that aim to reduce the semantic gap are an important part of the solution that we
propose. As discussed below, these factors have influenced the development of data
models in recent yeaxs.
Traditionally, data models such as relational, hierarchical, and network were
primarily designed for use in business-oriented applications. When used in more
complex and non-traditional application domains, such data models were found to
be semantically inadequate. This resulted in the development of early semantic data
models such as the Binary Relationship Model [ABR74], Aggregation and Gener
alization data modeling constructs [SMI77], the Entity-Relationship (ER) Model
[CHE76], the Semantic Data Model (SDM) [HAM81], the Functional Data Model
(DAPLEX) [SHI81], and Semantic Association Model (SAM*) [SU83]. In compar
ison with traditional models, these semantic data models incorporated additional
semantics into the data modeling constructs so as to reduce the semantic gap.
The emergence of the object-oriented paradigm from Artificial Intelligence (AI)
knowledge representation concepts and its incorporation into languages such as Sim
ula [BIR74], Smalltalk [GOL83], Loops [BOB83], and CLU [LIS86] led to the merging
of semantic data models and object-oriented concepts, resulting in a class of new
and advanced data models referred to as object-oriented (00) or object-oriented
semantic data models. In addition to providing advanced structural data model ab
stractions, object-oriented data models also provide a strong behavioral abstraction
component through the use of abstract data types and methodsa feature absent


140
(b) Normalized association patterns
1
A
B
C
A
1
0
B
1
C
A B C
alO
b20
c41
alO
b20
c65
alO
b20
c75
(c) The graph-based representation for normalized association patterns
Figure 7.6: Normalized association patterns and their representation
a) Unnormalized association patterns; b) Normalized
association patterns; c) The graph-based representation
for normalized association patterns


155
LEGEND
T s TEACHER
S SECTION
C COURSE
L LOCATION
DIS: indicates Display operation
RET: indicates Retrieve operation
SEL: indicates Select operation
O indicates association-set
indicates CLASS from
DATABASE
o
indicates OPERATION
NODE
T
S
C
L
T
1112
0000
0000
S
1112
1112
C
0000
L
Y =
T
S
C
L
t75
s71
c 66
169
127
s62
c66
169
T
S
C
T
S
L
a =
1112
0000
1112
T
S
L
t32
s33
134
t58
s33
134
t27
s62
169
t75
s71
169
a s
T S
C
1112
0000
1112
P =
T
S
C
t74
s86
c77
t27
s62
c66
t75
s71
c66
tS5
s49
c63
T
S
T
S
1112
V- =
[course#
<4000]
T
S
t32
s51
t32
s33
t58
s33
t55
s49
t21
s23
t24
sl9
t27
s62
t74
s86
t75
s71
Figure 7.13: Processing a query having an A-Intersect operator


195
THEN [DirectArgList dnsert Element ((Ap, Vp))
ELSE [BalanceArgList >insertElement((Ap, Vp))
END
/* Start recursively navigating up the hierarchy */
SuperClassList = (sc-list)= [hdic>getSuperClassesOf(C',)];
FOR q = 1 TO [No of elements in (sc-list)]
BEGIN
aSuperClass = C3C= [(sc-list)getElement(q)];
flag = RecursiveUpdateObject(Cac, Oj, (BalanceArgList));
IF flag success
return (flag);
END
/* updates the instance as the tail recursion unravels */
flag = update_Instance(C,-, Oj, (DirectArgList));
return (flag);
END
B.3.3 Associate
associate(C, Oj, Ck, (oid-list), (assoc-name));
BEGIN
DicHandler* hac\
OTHandler* hot]
I* Check if specified class, instance, and association are valid */
IF NOT [/id,c^isClass(C,)]
THEN return (failure: No Such Class);
IF NOT [/visInstanceOf(C',-, Oj)}
THEN return (failure: No Such Instance);
IF (Cky [hic>getAssociatedClass(C,-, (assoc-name))])
THEN return (failure: No Such Association);
/* set references from given instance to other instances */
addObjectReference(C, Oj, Ck, (oid-list), (assoc-name));
/* set inverse references from other instances to given instance */
FOR p = 1 TO [No of oids in (oid-list)]
BEGIN
Ov= [(oid-list) get Element (p)];
InverseAssocName = getInverseAssoc(C',-, Ck, (assoc-name));
addObjectReference(C*, Op, C,, Oj, InverseAssocName);
END
END


194
IF AttributeType = value attribute
THEN updateValueAttribute(Oj, Ap, Vp);
IF AttributeType = reference attribute
THEN
BEGIN
Go [hdic-*getAssociatedClass(C*,-, Ap)];
associate^,-, Oj, Cai, Vp, Ap);
END
END
return (success);
END
B.3.2 Update-Obiect
update_0bject(Ct-, Oj, (arg-list));
BEGIN
DicHandler* hdic]
OTHandler* hot\
BOOLEAN flag;
/* Check if class is valid and if class contains an instance of this object */
IF NOT [Adic->isClass(C,)]
THEN return (failure: No Such Class);
IF NOT >isInstanceOf(C',-, Oj)]
THEN return (failure: NO Such Object);
flag = RecursiveUpdateObject(G,-, Oj, (arg-list));
return (flag);
END
Auxiliary Function: RecursiveUpdateObiect
This is an auxilliary function that uses tail-recursion and navigates up the class hi
erarchy updating instances of classes in the hierarchy as necessary.
RecursiveUpdateObject(C, Oj, (arg-list));
BEGIN
DicHandler* hdic,
BOOLEAN flag;
/* terminate the recursion if we reach the root of the hierarchy */
IF Ci= Root Class of Hierarchy
THEN return (success);
/* Separate the argument list into direct and non-direct arguments */
DirectArgList = null;
BalanceArgList = null;
FOR p = 1 TO [No of elements in (arg-list)]
BEGIN
Argument[p] = [{arg-lis t )> get Element (p) ] = (AP,VP)\
IF [/id,-cnsDirectAttribute (C,, Ap)]


89
object reference field is specified as IID or as IID-ARRAY. The former supports
1:1 references and the latter supports l:m references.
value fields: Each instance may have several value attributes, each of which is stored
as a value field.
The storage representation of an instance corresponding to this format is shown
in Figure 6.2.




value (primitive data type)
value (D class object)
value (complex D class object)
value
instance id
of instance
\
reference
, attributes
of instance
y
value
> attributes
of instance
J
Figure 6.2: A generic storage instance
6.2.3 Value Attributes
Value attributes of an instance are used to store the actual value of other object
instances as part of the instance. In Figure 6.3, we illustrate the notion of different
types of value attributes by showing a single instance of the class Person.
The different types of value attributes include;
1. primitive data types (e.g., integer, string)


21
The technique illustrates factoring the system into objects using small case studies
of application-specific software. The paper does not specifically deal with applying
the approach to the system software of the general class of software systems, or even
to a specific class of software systems (for example, database management systems).
While most examples have applied object-oriented concepts to simple application
software, a more complex task involves determining how the paradigm can be applied
to large software systems. Clearly, it is feasible to apply these notions of abstraction,
and the object-oriented paradigm for developing the system software of large software
systems. In our effort, we plan to apply these notions to one class of software systems,
namely, KBMSs.
2.5 Meta-level and Reflexive Architectures
In this section, we review related work in the area of meta-level and reflexive
architectures for object-oriented systems. Currently, this area is receiving increasing
interest in the context of programming languages. Broadly speaking, a programming
language is considered reflexive if it can operate on itself. While some work has been
done in the area of reflexive architectures for procedure-based languages, logic-based
languages, and rule-based languages, we will focus on reflection in object-oriented
languages and systems.
In the object-oriented paradigm, reflexivity is usually addressed in the context
of meta-objects and meta-classes. Traditionally, the term meta-class has been used
to refer to a class whose instances themselves are classes [COI87, GOL83]. However,
the concept of meta-classes and meta-objects has evolved and today, these terms are
used to describe classes and objects which describe the specification and/or behavior
of languages or systems.
Maes [MAE87] proposes a fairly comprehensive set of concepts to describe re
flection in object-oriented languages. Computational reflection is defined as the
activity performed by a computational system when doing computation about (and


18
managers deal with objects whose structural representation is a low-level storage
representation such as records, fields and files. Many of these object managers axe
more appropriately called storage managers. The interface to these storage level
managers is a low-level interface (such as get/put, read/write) based on the storage
level representation of objects.
In contrast, in this dissertation we will address object management in the context
of objects modeled at a level of abstraction which incorporates a set of basic seman
tics. Ideally, a storage layer must deal only with abstractions and issues that are
relevant to the storage level. Consequently, storage managers should not incorporate
functionalities relating to high-level object representations, high-level operators, and
set-oriented retrievals, but rather provide adequate support for such functionalities.
Instead, management of objects at a higher level of abstraction should be carried
out in a layer above the storage layer.
2.3 Query Processing in Object-oriented Databases
An important functionality needed to support advanced application domains
in any database system architecture is query processing. Since our approach is
based on the object-oriented paradigm, we review approaches to query processing
in object-oriented databases. Several query languages and processing techniques
[SHI81, ZAN83, MAI86a, ST086, ONT88, ROW87, BAN88, CAR88, KIM89a] have
been proposed for object-oriented database systems. We discuss existing approaches
to query processing by classification the techniques used based on the formal data
structures proposed as a basis for computing queries.
Several systems, such as Vbase [ONT88], Iris [FIS87], Postgres [ST086, ROW87],
and Exodus [CAR88] have combined relational query processing structures with
object-oriented databases. Such systems use tabular (relation-like) structures for
internal representation, and process operations such as joins to compute the results.
Queries are typically specified using O-SQL like languages or variations of QUEL.


/
[ATK89]
[BAN87a]
[BAN87b]
[BAN88]
[BAT85]
[BAT88]
[BIR74]
[BOB83]
[B0086]
[BR084]
[CAR88]
[CAR86a]
[CAR86b]
[CHA82]
209
M. P. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier, and
S. Zdonik, The Object-Oriented Database System Manifesto, Altair
Technical Report 30-89, Rocquencourt, France, Aug., 1989.
J. Banerjee, W. Kim, H. J. Kim, and H. F. Korth, Semantics and
Implementation of Schema Evolution in Object-oriented Databases,
Proceedings of the ACM SIGMOD International Conference on Man
agement of Data, San Francisco, CA, May, 1987.
J. Banerjee, H. -T. Chou, J. F. Garza, W. Kim, D. Woelk, N. Ballou,
and H. J. Kim, Data Model Issues for Object-oriented Applications,
ACM Transactions on Office Information Systems, Vol. 5, No. 1, 1987.
J. Banerjee, W. Kim, and K. C. Kim, Queries in Object-Oriented
Databases, Proceedings of the 4th IEEE Conference on Data Engi
neering, Los Angeles, CA, Feb., 1988.
D. S. Batory, and W. Kim, Modeling Concepts for VLSI CAD objects
, ACM Transactions on Database Systems, Vol. 10, No. 3, 1985.
D. S. Batory, J. R. Barnett, J. F. Garza, K. P. Smith, K. Tsukuda, B.
C. Twichell, and T. E. Wise, GENESIS: An Extensible Database Man
agement System, IEEE Transactions on Software Engineering, Vol. 14,
No. 11, 1988.
G. Birtwistle, 0. Dahl, B. Myhrtag, and K. Nygaard, Simula Begin,
Auerbach Press, Philadelphia, PA, 1973.
D. G. Bobrow, and M. Stefik, The Loops Manual, Xerox Palo Alto
Research Center (PARC), Palo Alto, CA, 1983.
G. Booch, Object-Oriented Development, IEEE Transactions on
Software Engineering, Vol. SE-12, No. 2, 1986.
M. L. Brodie, and M. Jarke, On Integrating Logic Programming and
Databases, Proceedings of the First International Workshop on Expert
Database Systems, Kiwah Island, SC, 1984.
M. J. Carey, D. J. DeWitt, and S. L. Vandenberg, A Data Model and
Query Language for EXODUS, Proceedings of the ACM SIGMOD
International Conference on Management of Data, Chicago, IL, June,
1988.
M. J. Carey, D. DeWitt, J. E. Richardson, and E. J. Shekita, Ob
ject and File Management in the EXODUS Extensible Database Sys
tem, Proceedings of the 12th International Conference on Very Large
Databases, Tokyo, Japan, Aug., 1986.
M. J. Carey, D. J. DeWitt, D. Frank, G. Graefe, M. Muralikrishna,
J. E. Richardson, and E. J. Shekita, The Architecture of the Exo
dus Extensible DBMS, Proceedings of the International Workshop on
Object-Oriented Database Systems, Pacific Grove, CA, Sept., 1986.
A. Chan, S. Danberg, S. Fox, W. K. Lin, A. Nori, and D. Ries, Storage
and Access Structures to Support a Semantic Data Model, Proceedings
of the 8th International Conference on Very Large Databases, Sept.,
1982.


4.6 Model Extensibility 61
4.6.1 Model Reflexivity 63
4.6.2 Class Extensibility 68
4.6.3 Association Extensibility 70
5 MANAGEMENT OF META-INFORMATION 73
5.1 Using Reflexivity for Managing Meta-information 73
5.2 Model and System Meta-information 75
5.2.1 The Bootstrap Process 75
5.2.2 Parameterization 78
5.3 Application Meta-information 80
5.4 Dictionary Access Functions 81
5.5 Data Dictionary Module 82
6 MANAGEMENT OF KERNEL OBJECTS 83
6.1 Basic Requirements 83
6.2 Storage Issues for Kernel Objects 84
6.2.1 Models of Storage: Static Storage Model vs Distributed Stor
age Model 84
6.2.2 Logical Storage Structure of an Instance 87
6.2.3 Value Attributes 89
6.2.4 Object References . 92
6.2.5 Identity 97
6.2.6 Identity-Address Mappings 98
6.2.7 Homogeneous and Heterogeneous Clustering of Objects .... 99
6.3 Processing Kernel Objects 101
6.3.1 Association-based Access 103
6.3.2 Value-based Access 104
6.3.3 Kernel Object Manipulation Operators 104
6.3.4 Algorithms for Processing Kernel Object Manipulation Oper
ators Ill
6.4 Implementation of the Kernel Object Management System Ill
6.4.1 System and Module Configuration Ill
6.4.2 Interface Classes 113
6.4.3 Class System 114
6.4.4 System Extensibility 118
7 A GRAPH-BASED APPROACH TO QUERY AND RULE PROCESSING 120
7.1 Rationale for a Graph-based Approach 120
7.1.1 The Closure Property 120
7.1.2 Pattern-based Query Formulation 121
7.1.3 Using Graphs as a Basis 121
7.2 The Query Language and Algebra 126
7.2.1 Query Language 126
7.2.2 Association Algebra 126
7.3 Representation Schemes for a Subdatabase 131
7.3.1 Adjacency Matrix vs Linked List 132
7.3.2 A Three-Dimensional Matrix Structure 133
7.3.3 An Optimized Data Structure 136
7.4 Processing Sets of Graphs 143
7.4.1 A Class Index for Sets of Instance Graphs 143
vii


55
methods (defined for classes comprising the subdatabase), which are to be executed
on objects in the subdatabase.
The key component of a query block is the context clause which specifies a
subdatabase. The establishment of a subdatabase context can be viewed as a fil
tration process in which objects of interest and the association patterns of interest
are filtered out from the original database.
The APE specifies a subdatabase by the use of several operators such as the
association operator (*), and the non-association operator(!). When the association
operator (*) is applied to two directly associated E-classes A and B in the database
(i.e., using A*B as the APE), it returns a subdatabase whose intensional pattern
consists of the classes A and B, and their association. The resulting subdatabase
contains a set of extensional patterns containing objects from class A and objects
from class B, such that every object selected from class A is directly associated with
(i.e., has object reference to) at least one object from class B and vice versa. When
the non-association operator (!) is applied to two directly associated E-classes A
and B in the database (i.e., using A!B as the APE), it returns a subdatabase whose
intensional pattern consists of the classes A and B, and their association. However,
the resulting subdatabase contains a set of extensional patterns containing objects
from class A and objects from class B, such that every object selected from class A
is not associated with (i.e., has no object reference to) any object from class B and
vice versa.
An APE specifies branches in an association pattern by the use of AND, OR
operators, in conjunction with the *, operators. A fork class is the class at which
the AND or OR condition is used to indicate a branching of associations. The AND
operator, when used in conjunction with the operator, implies that in the resulting
subdatabase, each instance of the fork class must be associated with at least one
instance from every branch class. An OR operator used in conjunction with the *


125
Organization of query results: The intermediate and final results that are generated
in the processing of queries must be structured and organized in a manner that
accommodates the processing of queries in main memory. In query processing,
it is usually necessary to bring together the appropriate fragments of (decom
posed) data from disk into one unified collection of data that represents the
results of a query. If we take relational databases again as an example, the
relation that represents the result of a query is composed of data from one or
more relations on disk. In object-oriented database too, it is necessary to com
pose the set of instance graphs (patterns) that represent the result of a query
from the one-node instance representations on disk. In order to effectively
compute the query, the data structure for representing the intermediate/final
results of the query must be designed for main memory processing. For effec
tive query processing, the data structure must not be decomposed; rather, it
must represent the set of instance graphs in one unified structure.
We note that the above two representations do not violate closure. Rather, they
are two different but equivalent representations. The first is a structure optimized
for disk storage and access, and the second is a structure optimized for processing
queries in main memory. Since the two structures are equivalent, it is always possible
to convert from one to the other. On the one hand, the final results of a query can
be converted to their disk representation and stored on disk, if necessary. This may
be required for storing sub-databases or views. On the other hand, it is theoretically
possible to convert the disk representation of the original database to one laxge
main memory graph structure. The relatively large size of databases stored on disk
compared to the size of main memories will usually preclude such a transformation.


66
(the classes which constitute the domain of the relationship). In binary relationships,
an association has a single constituent class whereas in n-ary relationships, an asso
ciation has multiple constituent classes. Corresponding to this concept of an associa
tion in XKOM, the class ASSOCIATION is defined to have the following attributes:
associationID, associationName, definingClass, and setOfConstituentClasses. In its
core or kernel form, XKOM supports two types of associations: aggregation and gen
eralization. Thus, an association object may represent an aggregation association
or a generalization association. Corresponding to this concept, the class ASSOCI
ATION is sub-classed into class AGGREGATION and class GENERALIZATION.
Class AGGREGATION represents those association objects that axe aggregation as
sociations, and class GENERALIZATION represents those association objects that
are generalization objects.
In XKOM, objects corresponding to primitive data types (D-classes) are rep
resented as self-named objects. Thus, primitive data types are represented as sub
classes of the class D-CLASS OBJECT. Accordingly, class INTEGER, class FLOAT,
class CHAR, and class STRING are sub-classed from class D-CLASS OBJECT, and
represent D-class objects corresponding to primitive data types such as integers, re
als, characters, and strings. In a similar manner, class IID, class CID, and class OID,
which are sub-classed from class D-CLASS OBJECT represent self-named objects
corresponding to instance identity, class identity, and object identity. An additional
primitive data type called raw, and two forms of the raw data type (short-raw, long-
raw) are represented by class RAW, class SHORT-RAW, and class LONG-RAW,
which are sub-classed from class D-CLASS OBJECT.
In a manner similar to classes and associations, objects in the class METHOD
represent method objects and objects in the class RULE represent rule objects. In
XKOM, since methods and rules are treated as system-named objects, class RULE
and class METHOD axe sub-classed from class E-CLASS OBJECT.


114
is only via the interface class. Implementations of member functions in individual
classes, and the implementation of interface functions can be changed provided the
interface itself remains unchanged. An interface may expand and individual classes
may add extra member functions without ill effects. A particular module may have
more than one interface class depending on which group of client modules it serves.
The use of interface classes will be illustrated in subsequent sections.
6.4.3 Class System
In this section, we describe system modules and components via schema diagrams
or class hierarchies to illustrate the notion of system extensibility. System Exten
sibility is the ability to modify or extend the modules that comprise the software
architecture of the system. System extensibility is easily achieved if the software ar
chitecture of a system is developed as an open, modular, and extensible architecture
with well-defined interfaces.
We develop a system architecture schema; a schema consisting of system soft
ware modules and their associations (interactions) with one another. Consequently,
software modules and interfaces are modeled and implemented as classes and ob
jects for ease of extension. Thus, files, buffers, file managers, buffer managers, query
processors, data dictionaries, object managers, etc., can be modeled as classes and
objects. A software module is specified using several classes, and is implemented
using member functions or methods in these classes.
In Figure 6.9, we illustrate the concept of a system architecture schema. The
notions of interface class introduced previously, and the Uses association introduced
in Chapter 4, are used extensively in this system architecture. Each module has one
or more interface classes. The Uses association, shown using dashed lines in Figure
6.9, models the passing of messages between the interface class and component
classes of the module, and the passing of messages among component classes of


141
or is not very expensive computationally (if the size of the resulting subdatabase is
small).
We note that it is possible to extend our representational scheme to directly
deal with unnormalized association patterns by allowing each node of an instance
graph to contain a set of oids from the corresponding class. Such a representa
tional scheme would require the use of hyper-graph structures. This would result
in non-uniform structures and complex control strategies and algorithms. While a
hyper-graph approach reduces the storage space requirement, it incurs additional
overhead for maintaining hyper-graphs. Thus, the normalized vs unnormalized ap
proaches represent a space vs processing trade-off. Initially, we pursue the approach
based on normalized extensional patterns so that a better understanding of our
representational scheme can be achieved.
Support for heterogeneous association patterns
In order to support the notion of a set of heterogeneous association patterns, the
proposed graph-based data structure incorporates the notion of null values. We refer
to a subdatabase as having heterogeneous association patterns when all association
patterns of a subdatabase do not have identical interconnection structures. Null
values are used in the Instance Graph Table(IGT) in place of oids to indicate that,
in a particular instance graph, an object instance from the corresponding class is
absent. This is interpreted to mean that for a given association pattern, if a null
value is specified for a given class, it implies a no-link to any object instance of
that class. In Figure 7.7, we illustrate the use of null values to represent a set of
heterogeneous association patterns.
We note that instance graphs can possess an interconnection structure specified
by the class graph (that is, the CGAM), or any strict subset of that interconnection
structure.


142
(a) Heterogeneous association patterns
A
B
C
A
1
0
B
1
C
ABC
alO
b20
A
A
b21
c30
all
b22
c31
A indicates
null value
(b) The graph-based representation for heterogeneous association patterns
Figure 7.7: Heterogeneous association patterns and their representation
a) Heterogeneous association patterns; b) The graph-based
representation for heterogeneous association patterns


160
illustrates the notion of layering in the approach we propose. Component modules of
the query processor have been implemented using the C++ programming language,
and use the interface of KOMS described previously in Chapter 6 and some of
the dictionary access functions described previously in Chapter 5. Details of this
implementation can be found in [LU91]. We now briefly describe the various modules
that constitute the system configuration of the query processor.
User interface
The user interface represents a set of various external interfaces that are used by
end-users to specify queries. Three types of interfaces are currently being developed.
First, the textual interface is an interface in which a query is specified as a text string
using an ASCII terminal. Second, the graphical interface [LAM91] is an interface
in which a query is specified using a graphical querying tool. Third, the application
program interface is an interface in which the end-user is an application program
and a query is specified as part of an application program written using a Database
Programming Language (DBPL).
Query processor interface
This module represents the interface of the query processor itself. The query
processor can only be accessed via this top-level interface module. It accepts a
query in the form of a text string or in the form of a parsed query tree (such as that
produced by an application program). It is responsible for invoking other modules
and for the overall coordination required to achieve the execution of the query.
Query parser
This module represents a LR parser which is realized using the Unix Yacc parser
generator and the Lex lexical analyzer. The parser generates a parse-tree which is
similar to the query tree described in previous sections.


75
viewpoint, we consider an 0-0 DBMS as treating meta-data like data only if the
specialized access routines axe defined as methods for processing (first-class) objects
that represent meta-data in a manner similar to user-defined methods which are de
fined for processing objects that represent data. The use of such a reflexive concept
in which the structural and behavioral abstractions of the data model are themselves
used to model and manage meta-data is the basic premise of our approach. In this
regard, some existing object-oriented DBMSs do not treat meta-data like data ei
ther from a structural viewpoint and/or a behavioral viewpoint. Often, meta-data
is embedded in internal data structures and/or accessed using hard-coded internal
routines.
In the approach we propose, data and meta-data (including model, system, and
application meta-information) axe treated exactly alike: data and meta-data axe
modeled and processed in an uniform and integrated manner based on the object-
oriented paxadigm. The class system that results when the data model is used to
reflexively model itself is used as a natural and powerful basis for managing the
first class objects that represent meta-data. Specialized access methods for manipu
lating meta-information are then realized using appropriate behavioral abstractions
(methods or rules) in the classes representing meta-data.
5.2 Model and System Meta-information
We now describe the usage of the meta-class system of the model, shown earlier
in Figure 4.7, in the management of meta-information.
5.2.1 The Bootstrap Process
When using the model to model itself, a bootstrap process is required to initially
populate the model schema with information of the model and system. We define the
bootstrap process as that process which generates the meta-class system and creates
the initial set of objects that define and represent the data model and system.


63
model itself resulting in a set of model meta-classes. Next, we show that extending
the data model involves extending the schema corresponding to the set of model
meta-classes.
4.6.1 Model Reflexivitv
We define Model Reflexivity as the capability of a given data model to model
itself. The use of a data model to explicitly model itself results in a model meta-class
system: a set of meta-classes which provide a specification and implementation of the
data model constructs. We use the term meta-class to refer to a class which is used
to define data model semantics. The distinction between classes and meta-classes is
transparent since classes and meta-classes are treated exactly the same. We will use
the terms model meta-class system, model meta-schema or model met a-architecture
interchangeably to refer this model of the model.
We now describe the meta-class system that results when XKOM is used to
model itself. Figure 4.7 illustrates a simplified version of the model meta-schema in
which many details have been omitted so as to illustrate the basic concepts of model
reflexivity. Model constructs such as classes, associations, methods, and rules are
treated as first class objects.
The root of the class hierarchy is the class OBJECT which represents the concept
that everything in the model (and underlying system) is modeled (treated) as an
object. Since every object in the system is either a system-named object or self-
named object, classes E-CLASS OBJECT and D-CLASS OBJECT are subclassed
from class OBJECT to represent this concept. Thus, objects of class E-CLASS
OBJECT represent all objects that are system-named objects and objects of class
D-CLASS OBJECT represent all objects that are self-named objects.
The class CLASS represents classes as objects. Such class objects may include
application classes, system classes or meta-classes. Since class objects are system-
named objects, the class CLASS is subclassed from class E-CLASS OBJECT. The


123
only objects of a single class, and queries in such systems cannot generate a result
containing objects and associations that span across many classes.
For object-oriented databases, the combination of the closure property and pattern-
based query formulation provide a strong justification for using graphs as a formal
and appropriate basis for query processing. At the intensional level, the object-
oriented view of an application database is a network of object classes and associ
ations or inter-relationships among object classes. This intensional view was previ
ously described in Chapter 4 and illustrated using an example database application
in Figure 4.2. These schema graphs, also known as Class or Type graphs, encompass
notions such as Aggregation, Generalization, Class hierarchies, Class composition hi
erarchies, complex objects, and numerous forms of directed acyclic graphs (DAGs).
At the extensional level, such a database can be viewed as a set of large and complex
instance graphs corresponding to the intension of the database. Again, this exten
sional view was previously described in Chapter 4 and illustrated using an example
database in Figure 4.3.
If pattern-based query specification is used, the complex (intensional pattern)
specified by the user in a query represents a sub-graph of the original database in
tension or schema graph. This sub-graph corresponds to the intension or schema
graph of the query result. Thus, the query processor must determine the instance-
level (extensional) patterns that satisfy the specified intensional pattern. Such ex
tensional patterns can be materialized as instance graphs. To maintain the closure
property, data structures and strategies for query processing must be developed so
that intermediate and final results of a query must conform to the graph-oriented
structure of object-oriented databases.
While much research has focussed on class or type graphs and their properties,
instance graphs have been largely ignored. Instance graphs represent manifestations
or extensions of class graphs and are crucial for computing queries. We contend that


188
Thus, the entire system at all levels, is modeled using a uniform object-oriented
paradigm.


13
design criterion. Thus, these systems axe not designed or intended to be explicitly
extensible. Such systems do provide a basic form of extensibility in that the systems
allow the notion of user-defined abstract data types and user defined operations:
a feature that is attributed to object-oriented data models. However, in all these
systems, system components (modules) axe not explicitly available for modification.
2.1.3 Extensible DBMS Architectures
The notion of an extensible database system architecture has been derived from
the argument that a single fixed system is unable to support diverse advanced ap
plication domains which have varying requirements. Thus, the focus of extensible
systems is to provide a base system together with an extensibility mechanism such
that the base system can be extended or reconfigured to realize a system that meets
the requirements of an application domain.
To better analyze extensible system architectures, we propose the following clas
sification for extensible systems.
Data Model Extensibility: In data model extensibility, the constructs which concep
tually define a data model are extensible, that is, existing constructs can be
modified or new constructs can be added.
System Extensibility: In system extensibility, the architecture of a database system
can be extended in order to realize functional extensions. From a traditional
database system perspective, system extensibility can be broadly categorized
into logical extensibility and physical extensibility. Logical extensibility refers
to extensions to the upper (logical) layers of a system architecture, and includes
extensions such as support for different data modeling constructs, user defined
abstract data types and operations, query languages, transaction models, etc.


132
7.3.1 Adjacency Matrix vs Linked List
To represent the intension and extension of a subdatabase, we study variations
of standard graph data structures. A key requirement is to provide data structures
for representing sets of graphs rather than representing a single graph. In graph
theory, the emphasis has been mostly on single graphs and their manipulation rather
than sets of graphs and their manipulation. We extend data structures used for
representing single graphs to represent and manipulate sets of graphs.
We consider two representational techniques. Each instance graph can be rep
resented either as a linked list or adjacency matrix. Initially, linked list representa
tions may seem appropriate in view of their compact space requirements, and direct
pointer addressability. However, a subdatabase can contain many complex associa
tion patterns, resulting in many large and complex instance graphs. Representing
these instance graphs as linked lists can cause enormous and difficult problems in the
manipulation and maintenance of pointers during query processing. This difficulty
in processing and maintaining complex pointer structures has been demonstrated in
network database structures. Instead, adjacency matrix approaches for represent
ing instance graphs and subdatabases appear to be more promising. In particular,
it is well known that the adjacency matrix representation is convenient for graph
algorithms which frequently require knowledge of whether certain edges are present
[AH083]. This knowledge is needed by the query processor to compute queries.
In our adjacency matrix representation, each instance graph is represented by an
Instance Graph Adjacency Matrix (IGAM). We now formally describe the structure
of an IGAM. An IGAM is a modified n x n adjacency matrix (Af), where n is the
number of object instances forming the instance graph. The classes corresponding
to these n object instances are designated as C\, Ci-,..., Cn. The ith row (rota,) and
the ith column (co/,) of matrix X are used to represent adjacency information for an
object instance from the ith class (Ct). For example, if four classes Course, Section,


148
Establishing the subdatabase context of a query involves the progressive build
up of larger instance graphs from smaller instance graphs until the final result is
realized. The query processing technique involves a depth-first navigation along the
nodes of the QEP, and building up the appropriate Class Graph Adjacency Matrix
(CGAM), and Instance Graph Table (IGT) by processing the operators specified in
nodes of the QEP.
For establishing the subdatabase context, each node of the query tree involved in
the context generation uses one of the three following techniques to process algebraic
operators such as Associate:
1. A node performs an algebraic operation between two classes from the original
database to produce an intermediate association set, for example, (A*B) = a.
2. A node performs an operation between a class from the original database, and
a class from an intermediate association set to produce another association set.
For example, in the query (A* B C), after a = (A* B) is carried out at one
node, the next node performs a* C = fl
3. A node performs an operation between a class from one intermediate associ
ation set, and a class from another intermediate association set to generate
another association set. For example, ((A*B)\(C*D)) produces two interme
diate association sets a = {A B), and (3 = (C D), and the last query tree
node performs a!/?.
We also note that in the generation of the subdatabase context, a query tree
node can also perform a select operation (by directly invoking the object manager
select operator) to generate a single class association set.
We now use some example queries to illustrate the adjacency-matrix based ap
proach to query processing. For each example, we will show the corresponding Query
Execution Plan, and illustrate the operations and the results at each intermediate


Figure 6.10: Class system for the data dictionary module


168
office#
Figure 8.1: The example university schema with an Interaction association
Figure 8.2: Example of a composition association


197
/io deleteElement(Ct-, Oj);
return (success);
END
B.4.2 Delete_Obiect
delete_Object(C',-, Oj);
BEGIN
DicHandler*
OTHandler* hot;
BOOLEAN flag;
/* Check if class is valid and if class does contain this instance */
IF NOT [hdic->isClass(Ci)}
THEN return (failure: No Such Class);
IF NOT [/io>isInstanceOf(C, Oj)\
THEN return (failure: No Such Object);
flag = RecursiveDeleteObject(, Oj);
return (flag);
END
Auxilliarv Function: RecursiveDeleteObiect
This is an auxilliary function that uses tail-recursion and navigates down the class
hierarchy removing instances from classes in the hierarchy as necessary.
RecursiveDeleteObject(C',-, Oj);
BEGIN
DicHandler*
OTHandler* hot;
BOOLEAN flag;
/* conditions for terminating recursion */
/* navigate down the hierarchy till we do not find an instance */
IF NOT [hot>isInstanceOf(C7t-, Oj)]
THEN return (success);
/* or navigate down the hierarchy till we reach the leaf of the hierarchy */
IF Ci= Leaf Class of Hierarchy
THEN return (success);
/* Start recursively navigating down the hierarchy */
SubClassList = (sc-list)= getSubClassesOf(C',)];
FOR q = 1 TO [No of elements in (sc-list)]
BEGIN
aSubClass = Csc= [ (s c- list )> get Element (q) ];
flag = RecursiveDelete0bject(C3C, Oj);
IF flag success
return (flag);
END


7
extensibility. These different extensible systems axe chaxacterized by the different
models on which they are based and the approaches taken to achieve extensibility.
A shortcoming in many of these systems is that, though the system architecture is
designed to be extensible, the model on which the system is based is fixed and not
extensible. Thus, system extensibility is usually provided only within the framework
of a fixed data model.
Based on the analysis of data models and system architectures presented above,
we conclude that the combination of a single (fixed) data model and a fixed system
axchitecture is clearly unable to support the needs of advanced application domains.
In this dissertation, we present our approach to the development of next-generation
KBMSs for supporting advanced application domains. We propose the use of an
extensible kernel object model as a basis coupled with an open, layered, and mod
ular framework for achieving system extensibility. Our approach builds upon an
integration of the object-oriented DBMS approach and the extensible system ap
proach thereby overcoming the limitations of each of the individual approaches. It
is based on the concept of a generalized, extensible, and object-oriented architecture
for Knowledge Base Management Systems. In comparison with the approaches de
scribed previously, our approach aims to provide a unified and integrated framework
for extending both the data model and the underlying system architecture.
Unlike object-oriented DBMSs which are based on a fixed set of high-level object-
oriented data modeling constructs, our approach begins with a set of basic and
generalized data modeling constructs common to the range of advanced semantic and
object-oriented data models. Collectively, this set of basic data modeling constructs
are used to define an extensible Kernel Object Model (XKOM), which serves as a
basis for our approach and is used to realize a kernel system. By making the data
model extensible, the semantic gap caused by the fixed nature of data models is
alleviated.


39
data model constructs (e.g., classes, associations, methods, rules), system software
(e.g., layers, modules), and application data are all uniformly treated as objects.
An important concept that is proposed is the notion of different types of objects.
In its kernel or core form, XKOM supports two fundamental types of objects: self-
named objects and system-named objects.
self-named object: is a kernel object whose value serves as the only mechanism for
identifying and referencing the object.
system-named object: is a kernel object to which a globally unique identifier is as
signed.
In the case of self-named objects, the value of the object is used to identify,
reference, store and process the object. Such objects are used typically to model
values corresponding to basic data types such as the integer 5, the list [2, 3, 4] or the
string John. Self-named objects usually have an underlying domain corresponding
to their values such as Integers, Reals, Strings, etc. While it is always possible to
model a self-named object as a system-named object, it may not be semantically
meaningful to do so and can lead to efficiency problems. Self-named objects are
usually embedded as part of system-named objects.
System-named objects axe used to model entities in the mini-world that have
a need for independent existence. Examples of these mini-world entities include
physical objects (e.g., a Person), abstract concepts (e.g., a Company), relationships
(e.g., a Marriage), events (e.g., an Earthquake), software (e.g., a Module, a Method),
etc. The identifiers assigned to such objects are used for referencing such objects,
and in the storage and processing of such objects.
Class
Since class is a fundamental notion underlying all object data models, XKOM
supports the notion of classes.


135
Matrices (IGAMs). Conceptually, a 3-dimensional matrix, n x n x m, can be used
to represent a set of m EAPs.
In Chapter 4, an example intensional association pattern and a set of extensional
patterns corresponding to an example subdatabase were presented, and illustrated
using Figure 4.4. In Figure 7.3, we illustrate a 3-dimensional matrix for representing
the set of extensional association patterns of Figure 4.4 (b). This representation is
conceptually very clean, and presents a very organized approach to arranging objects
and object references (links) that constitute a sub-database. This is an extremely
important requirement for processing the object references or links.
Cl- COURSE
C2= SECTION
C3 s TEACHER
C4 = LOCATION
Figure 7.3: A 3-dimensional matrix representing a set of association patterns
In contrast, an equivalent linked list representation for the same set of extensional
patterns (shown in Figure 7.4) illustrates the pointer structures necessary. Such
pointer structures do not allow for easy access to the organization of objects across


34
meta-data (including model, system, and application meta information) is managed
in a uniform and integrated manner based on the object-oriented paradigm. In
contrast, many existing DBMSs treat meta-data differently from application data.
For example, the notion of catalog relations in relational systems treats the defi
nition of meta-data in a manner similar to application data, but specialized (and
non-extensible) access routines are embedded in the system for accessing meta-data
differently from application data. Similarly, in many object-oriented DBMSs, meta
data is not treated like application data but rather embedded in internal structures
and access routines. In the approach we propose, the necessary access methods for
manipulating meta-information are realized by specifying appropriate methods in
the classes that comprise the meta-model schema. A bootstrap process is used to
instantiate the meta-model class system and generate the initial set of meta-objects
which define the semantics of the initial data model. Also, the same class system is
used to paxameterize classes, associations and other data model concepts.
The material presented in Chapter 4 and Chapter 5 provide a broad perspective
on the data model (XKOM), and the usefulness of the concept of Model Reflexivity.
Issues relating to the realization of a kernel KBMS corresponding to XKOM are
addressed in Chapter 6, which deals with the management of kernel objects. The
kernel KBMS which deals with the management of kernel objects, must address is
sues relating to the storage and processing of kernel objects. A distributed model of
storage for kernel objects, having better characteristics for inheritance is proposed.
In order to support the notion of associations, strong support is provided for pro
cessing object references. Access patterns in object-oriented databases are classified
as either value-based access or association-based access, and processing strategies
are defined accordingly. Based on these factors, a generalized set of kernel object
manipulation operators are defined as an interface for an extensible kernel object
management system. The software configuration and class system corresponding to


162
executable code or to a pointer to the code. It is also responsible for any binding
that may be necessary between the subdatabase context that is identified as part of
the query and the operands of the operation that is invoked.
7.6.2 Class System
The approach taken in the system development of the query processor is the
same as that proposed for the implementation of the Kernel Object Management
System (KOMS) and described previously in Chapter 6. We now describe the system
modules and components using schema diagrams or class hierarchies.
The system architecture of the query processor is developed as an open, modular,
and extensible architecture with well-defined interfaces, and is shown in Figure 7.17.
We now use some examples to illustrate the how such a class system is used in the
processing of a query.
The interface to the query processor itself is via the QueryHandler class. The
query processor is invoked as follows. First, an object of the QueryHandler class is
created. Second, a message is sent to this handler object to execute the query. The
QueryHandler object can accept the query either in text form or as a query tree (if
the query tree is available, the query tree may be directly passed). We illustrate this
calling sequence for both these interfaces below, using C++ like code.
QueryHandler *hl;
hi executeQuery( query-text);
hi executeQuery( query-tree);
The QueryHandler class which is an interface class, does not perform any ac
tual computation but rather plays the role of a message controller or message
handler in coordinating the overall execution of a query. The action taken by the
executeQuery method in the QueryHandler class is as follows. First, it invokes the
parser to parse the query if the query is specified as a text string. Second, it invokes
a method in the QueryOptimizer class (currently unimplemented) to transform the


93
memory representation
(a) Using virtual memory pointers
i2
i2
(b) Using logical disk addresses
disk representation
"john" iid2
il
put to disk
get from disk
IDENTITY TO ?
i2
memory representation
"john"
iid2
il
"eel51"
; ADDRESS $
i MAPPINGS ;
''eel5r
(c) Using identity
Figure 6.4: Implementing object references
a) Using virtual memory pointers;
b) Using logical disk addresses;
c) Using identity


Figure 3.5: Class System for "Model of the System" (top level view with no details)


212
[KIM89b]
[KIM88]
[LAW91]
[LEC88]
[LEC89]
[LIN87]
[LIS86]
[LOH88]
[L0086]
[LOR83]
[LU91]
[MAE87]
[MAI86a]
[MAI86b]
[MIT89]
W. Kim, K. -C. Kim, and A. Dale, Indexing Techniques for Object-
Oriented Databases, in Object-Oriented Concepts, Databases, and Ap
plications, W. Kim and F. Lochovsky (ed.), Addison Wesley, Reading,
MA, 1989.
W. Kim, N. Ballou, J. Banerjee, H. T. Chou, J. F. Garza, and D. Woelk,
Integrating an Object Oriented Programming System with a Database
System, Proceedings of ACM OOPSLA, San Diego, CA, Sept., 1988.
S. F. Law, Object-oriented Design and Implementation of a Kernel
Object Manager, M.S. Thesis, University of Florida, 1991.
C. Lecluse, P. Richard, and F. Velez, O2, an Object Oriented Data
Model, Proceedings of the ACM SIGMOD International Conference
on Management of Data, Chicago, IL, June, 1988.
C. Lecluse, and P. Richard, The O2 Database Programming Lan
guage, Proceedings of the 15th International Conference on Very Large
Databases, Amsterdam, Holland, Aug., 1989.
B. Lindsay, J. McPherson, and H. Pirahesh, A Database Management
Extension Architecture, Proceedings of the ACM SIGMOD Interna
tional Conference on Management of Data, San Francisco, May, 1987.
B. Liskov, and J. Guttag, Abstraction and Specification in Program
Development, The MIT Press, Cambridge, MA, 1986.
G. Lohman, Grammar-like Functional Rules for Representing Query
Optimization Alternatives, Proceedings of the ACM SIGMOD Inter
national Conference on Management of Data, Chicago, IL, June, 1988.
M. E. S. Loomis, Data Modeling The IDEF1X Technique, IEEE
Communications, March, 1986.
R. Lorie, and W. Plouffe, Complex Objects and their use in Design
Transactions , Proceedings of the ACM conference on Databases for
Engineering Applications, May, 1983.
L. Lu, A Query Processor for an Object-oriented Query Language,
M.S. Thesis, University of Florida, 1991.
P. Maes, Concepts and Experiments in Computational Reflection,
Proceedings of ACM OOPSLA, Orlando, FL, Oct., 1987.
D. Maier, J. Stein, A. Otis, and A. Purdy, Development of an Object-
Oriented DBMS, Proceedings of ACM OOPSLA, Portland, OR, Oct.,
1986.
D. Maier, and J. Stein, Indexing in an Object-oriented DBMS, Pro
ceedings of the International Workshop on Object-Oriented Database
Systems, Pacific Grove, CA, Sept., 1986.
M. J. Mitchell, Y. Yang, S. Ryan, and B. Martin, Data Model Devel
opment and Validation for Product Data Exchange, Technical Report,
National Institute of Standards and Technology, 1989.


94
interpretation of virtual memory pointers are only valid during the execution of a
program.
Logical disk addresses (secondary storage pointers)
To overcome the inability of virtual memory pointers to be made persistent
(stored on disk), object references can be implemented using secondary storage point
ers. That is, 1 on disk stores the logical (disk) address (Idp2) of 2. Logical disk
pointers (such as Idpi) may take the form (disk-id)(segment-id)(block-id)(offset).
This scheme requires that when 1 is brought into main memory for processing and
if i accesses the reference to 2 then the logical disk pointers such as ldp2 must be
converted to the appropriate virtual memory pointers(ump2)-
This scheme requires that either the system or the user, maintains a mapping
between disk pointers and virtual memory pointers, whenever objects are retrieved
from or stored to disk. This scheme also leads to the pinning of objects on disk,
since disk addresses are used to reference objects. It also requires the storage level
view of reference attributes to be dependent on the formats used for disk addresses.
This feature violates data independence and is undesirable.
Identity reference
In this technique, oids or iids are used to implement object references. That is, ii
stores the instance identifier (<2) of the referred object, 2. This has the desirable
property of uniform representation of object references both in secondary storage,
and in main memory. On disk, 1 stores the instance id (d2) of 2, in an object
reference attribute, and vice versa. When i\ and 2 are brought into main memory, 1
still points to the instance id (<2) of H, and vice versa. However, from the instance,
1, to access the instance, 2, the system must perform a lookup using the identifier
{iidi) and either determine a virtual memory pointer (vmp2) to 2 (if 2 has already


211
[GAN79]
[GOL83]
[GUO90]
[GU091]
[HAA89]
[HAM81]
[HULL87]
[JAC83]
[KER81]
[KER84]
[KH086]
[KIC91]
[KIM89a]
[KIM90]
of the Iris DBMS, in Object Oriented Concepts, Databases, and Ap
plications, W. Kim and F.H. Lochovsky (ed.), ACM Press, New York,
NY, 1989.
C. Gane, and T. Sarson, Structured Systems Analysis Prentice-Hall,
Englewood Cliffs, NJ, 1979.
A. Goldberg, and D. Robson, Smalltalk-80: The Language and its Im
plementation, Addison-Wesley, Reading, MA, 1983.
M. Guo, Association Algebra: A Mathematical Foundation for Object-
oriented Databases, Ph.D. Dissertation, Dept, of Electrical Engineer
ing, Univ. of Florida, 1990.
M. Guo, S. Y. W. Su, and H. Lam, An Association Algebra for Pro
cessing Object-oriented Databases, Proceedings of the 7th IEEE Con
ference on Data Engineering, Tokyo, Japan, 1991.
L. M. Haas, J. C. Freytag, G. M. Lohman, and H. Pirahesh, Extensible
Query Processing in Starburst, Proceedings of the ACM SIGMOD
International Conference on Management of Data, Portland, OR, May
1989.
M. Hammer, and D. McLeod, Database Description with SDM: A
Semantic Data Model, ACM Transactions on Database Systems, Vol.
6, No. 3, 1981.
R. Hull, and R. King, Semantic Database Modeling: Survey, Applica
tions and Research Issues, ACM Computing Surveys, Vol. 19, No. 3,
1987.
M. A. Jackson, System Development, Prentice-Hall, London, 1983.
M. L. Kersten, and A. I. Wasserman, The Architecture of the PLAIN
Database Handler, Software Practice and Experience, 11, 1981.
L. Kerschberg, and A. Shepherd, Constraint Management in Expert
Database Systems , Proceedings of the First International Workshop
on Expert Database Systems, Kiwah Island, SC, 1984.
S. Khoshfian, and G. Copeland, Object Identity, Proceedings of ACM
OOPSLA, Orlando, FL, Oct., 1987.
G. Kiczales, J des Rivieres, and D. Bobrow, The Art of the Metaobject
Protocol, MIT Press, Cambridge, MA, 1991.
W. Kim, A Model of Queries for Object-oriented Databases, Pro
ceedings of the 15th International Conference on Very Large Databases,
Amsterdam, Holland, Aug., 1989.
W. Kim, Object-Oriented Databases: Definition and Research Direc
tions, IEEE Transactions on Knowledge and Data Engineering, Vol.
2, No. 3, 1990.


PERSON
Figure 4.3;
Anol diagram showi
nS pair of the database
extension
location


37
4.1.1 Benefits of the Approach
The benefits of using an extensible data model approach are enumerated below:
1. The concept of extensibility alleviates the semantic gap since the customized
data model can include appropriate data model constructs to more accurately
model the mini-world.
2. The concept of extensibility ensures that emerging application domains having
varying and dynamic requirements for data modeling can be accommodated.
3. Each application uses a specific data model consisting of the set of kernel
constructs plus any additional constructs it requires. Thus, the application
does not have to be burdened with the entire complex data model which may
include constructs not needed by the application. This feature implies a leaner
and more efficient system.
4. The implementation complexity of the kernel system is reduced since the basic
nature of the kernel concept ensures that a small and optimized implementation
of the core or kernel system can be realized.
4.1.2 Data Model Requirements
To define an extensible data model, we now outline three key requirements that
the data model must satisfy.
1. Basic Structural Abstractions: The data model must provide a set of basic
structural constructs. Ideally, these constructs must represent a set of core
concepts that are common to the range of existing object-oriented and semantic
data models. The resulting model can then unify these existing data models
by serving as a common core to all such models.


97
6.2.5 Identity
While it has been argued that logical disk addresses can provide a high perfor
mance mechanism for implementing identity, we use surrogates in order to insulate
the upper layers from having to know address formats used by storage managers.
This provides data independence and allows modules in upper layers such as query
processors, to be developed in a manner that easily accommodates the substitution
or replacement of the storage layer. For the same reasons, object references are im
plemented as identity references. System-defined surrogates can provide the highly
desirable features of uniqueness, immutability, and the ability of the system to define
surrogates in any specialized format. In contrast, if disk addresses are used, identity
is no longer immutable and disk garbage collection becomes a serious problem when
objects are moved around on disk. An in-depth study of these aspects can be found
in [KH086].
Generation and maintenance of oids
When using surrogates, it is necessary to use a scheme that can generate oids
that are unique, immutable, and uniform (same size). Additionally, better perfor
mance (when processing oids) can be obtained if oid generation can guarantee a
good distribution for allocated oids. The maintenance of oids involves developing
strategies for the recycling of oids that are no longer in use. We do not address this
problem, and instead, discard oids that are no longer in use. We enumerate below
several alternatives for generating oids.
1. Using a counter: A sequence of oids can be generated using a 32 bit counter.
This scheme guarantees uniqueness, immutability, and uniformity of oids.
However, the distribution of the oids is badly skewed, and can pose perfor
mance problems. Thus, this scheme is the least expensive in terms of oid


130
a
P
/ c82 s23\ \
r i
c81 s18\
\
c63
A
+
"-i
c43 s19 /i42
/
c81
\c48 s64
r*
yc63 s49 J
(c) Example of A-Union Operation
/ c82 s23\ \
$
c43 s19 /142
A
c48 s64
J
a
62 s33 134
68 s33 134
67 s62 169
\^t75 s71 wj
{W}
W= {Teacher, I
Section} \ t75
P
t74
s86
c77
67
s62
c66
£75
s71
c66
.65
s49
c63
t75 s7
t27 s
(d) Example of A-Intersect Operation
Figure 7.1: continued
A A


CHAPTER 7
A GRAPH-BASED APPROACH TO QUERY AND RULE PROCESSING
In this chapter, we present, as part of the proposed extensible KBMS architec
ture, a generalized graph-based approach to query and rule processing for object-
oriented databases. In the context of the layered approach discussed in Chapter
3, the query and rule processors are developed as upper-layer clients of the Kernel
Object Management System (ROMS).
This chapter is organized as follows. In Section 7.1, we present a rationale for
using a graph-based approach. An overview of the query language and the under
lying association algebra is presented in Section 7.2. In Section 7.3, we propose an
adjacency-matrix based data structure for representing the set of graphs correspond
ing to a subdatabase, and Section 7.4 deals with query processing strategies based
on the data structure proposed in Section 7.3. In Section 7.5 we extend the graph-
based approach to rule processing. Finally, in Section 7.6 we present an extensible
implementation of the query processor.
7.1 Rationale for a Graph-based Approach
7.1.1 The Closure Property
A desirable feature of any query model or language is the closure property. A
query model or language is said to be closed if the results of a query are represented
and structured using the same data model or data modeling constructs used to
model the data upon which the query operates. A closed query model possesses
several advantages. First, since the result of a query is represented by the same data
model, this result can be operated uniformly by another query using the same set of
120


105
3. operations on reference attributes: retrieval, update, deletion, and selection of
binary, inverse object references.
The set of operators that comprise the interface of ROMS can be broadly clas
sified into five categories: create, insert, update, delete, and retrieve. Currently, all
retrieve operations are set-oriented, while the others are specified either as instance
level or object level operations. Operations at the instance level simply deal with
the semantics of a single instance within a given class, while those at the object
level deal with the semantics of an object whose instances are distributed across a
generalization hierarchy or class lattice.
Syntax and informal description of operators
Category #1: Create
1. create-Object ()
Returns: A new oid.
Description: Creates a new oid and calls the necessary identity management
routines. Used when creating a new object.
Category 4k2: Insert
2. insert-instance ((class), (oid), (arg-list))
Returns: success/failure.
Description: Inserts an instance of an object, having oid (oid), into the class
(class). An argument list (arg-list) specifies attributes as (name-value)
pairs, containing both association and value attributes. Association at
tributes (except G) may be specified, by using oids as values. (Association
attributes, corresponding to G-associations cannot be specified, since the
G-association attributes are automatically maintained by the system as


70
Class Extensibility is carried out as follows. If a new class type called X is re
quired, then X-CLASS OBJECT is defined as a sub-class of Object, and X-CLASS
is defined as a sub-class of CLASS. The semantics that apply to all X-CLASS ob
jects are defined in the class X-CLASS OBJECT, and the semantics that apply to
all X-classes are defined in the class X-CLASS. When the application declares an
application class (C,) to be of type X, objects of class C,- inherit methods and rules
from the class X-CLASS OBJECT. The class itself (C,) is subjected to methods and
rules in the class X-CLASS.
Existing class types (e.g., E-class, D-class) may also be extended by sub-classing
the meta-classes corresponding to such existing class types.
4.6.3 Association Extensibility
Association Extensibility is a form of extensibility whereby a model can be ex
tended by adding new association types or extending existing association types of a
data model. Thus, it is possible to define new association types in addition to the
two basic association types offered by XKOM: aggregation and generalization. It
is also possible to extend the data model by sub-classing existing association types.
We use two examples to illustrate the usage of different association types in different
applications and discuss the usefulness of Association Extensibility for such applica
tions. The following two association types can be defined as new association types
or as sub-types of the aggregation association.
Interaction association
A commonly used concept in many applications is the Interaction association
[SU89]. The interaction association models the concept that an object of a given class
represents a relationship or interaction between objects of two or more constituent
classes. Different from aggregation, the interaction association implies that the
object which specifies the interaction association is defined as a result of an n-ary


Copyright 1991
by
Rahim Mohamed Yaseen


68
as constituent classes. Similarly, appropriate constraints on the setOfAssociations
attribute can determine the nature of inheritance supported by the data model (no
inheritance, single or multiple inheritance). For example, if a data model does not
allow generalization hierarchies or inheritance, then the setOfAssociations attribute
defined for class CLASS will not include an object from the class GENERALIZA
TION. If the data model allows multiple inheritance, then the setOfAssociations
attribute will include an object from the class GENERALIZATION which models
the fact that each class is associated with more than one superclass.
Consequently, one well-defined task of the KBC is to extend the model meta
schema to fit a given application by modifying the model meta-schema. Two aspects
of such model extensibility are of main interest to us, namely, class extensibility and
association extensibility, which are described below. We note that the model meta
schema, in addition to providing a powerful basis for extensibility, also serves as
a powerful basis for parameterization and management of meta-information. This
aspect dealing with parameterization, meta-information, and the implementation of
the meta-class system will be presented in Chapter 5.
4.6.2 Class Extensibility
Class Extensibility is a form of extensibility whereby a model can be extended by
adding new class types or extending existing class types of a data model. Thus, it is
possible to define new class types in addition to the two basic class types offered by
XKOM: E-classes and D-classes. It is also possible to extend the data model by sub
classing existing class types. We use an example to illustrate the usage of different
class types in different applications and discuss the usefulness of Class Extensibility
for such applications.


THEN return (success);
/* or navigate till we reach the root of the hierarchy */
IF Ci= Root Class of Hierarchy
THEN return (success);
/* Separate the argument list into direct and non-direct arguments */
DirectArgList = null;
BalanceArgList = null;
FOR p = 1 TO [No of elements in (arg-list)]
BEGIN
Argument[p] = [(arg-list)>getElement(p)] = (AP,VP)]
IF [/idic-dsDirectAttribute (C,-, Ap)]
THEN [DirectArgList >insertElement((Ap, Vp))
ELSE [BalanceArgList >insertElement((Ap, t^,))
END
/* Start recursively navigating up the hierarchy */
SuperClassList = (sc-list)= [hd,-c-+getSuperClassesOf(C',)];
FOR q = 1 TO [No of elements in (sc-list)]
BEGIN
aSuperClass = Cse= [(sc-list)>get Element (q)];
flag = RecursiveInsertObject(C'JC, Oj, (BalanceArgList));
IF flag success
return (flag);
END
/* insert an instance in the class as the recursion unravels */
flag = insert_Instance(C, Oj, (DirectArgList));
return (flag);
END
B.3 Update
B.3.1 Update-Instance
update_Instanee(, Oj, (arg-list));
BEGIN
DicHandler* hd,c;
OTHandler* hoi]
/* Check if class is valid and if class contains this instance */
IF NOT [fc*-c-HsClass(Ci)]
THEN return (failure: No Such Class);
IF NOT [hot>isInstanceOf(C',-, Oj)]
THEN return (failure: No Such Instance);
/* Update the value and reference attributes of the instance */
FOR p = 1 TO [No of elements in (arg-list)]
BEGIN
Argument[p] = [(arg-list)>getElement(p)] = (Ap, Vp)\
AttributeType = [hdiC>getAttrType(Cj, Ap)];


205
C.2 NonAssociatef!)
7 = a\[R(Cm,Cn)]0
Given:
a= (otcGAM, a igt) where
&cgam= Class Graph Adjacency Matrix of a
t*igt= Instance Graph Table of a
0= (lScgam, 0igt) where
0cgam= Class Graph Adjacency Matrix of 0
0igt= Instance Graph Table of 0
Step 1: Generate CGAM of result
'CGAM merge (oicgam, 0cgam)
Step 2: Construct class index for a
ceci= class index on class Cm of a
(by default, Cm is the right-most class in a)
Step 3: Construct class index for 0
0ci= class index on class Cn of 0
(by default, Cn is the left-most class in 0)
Step 4: Invoke object manager
Call star operation of object manager
X array of oids of Cm in o: (easily determined from class index)
a = array of oid pairs = star(Gm, Cn, X, R)
Step 5: Mark Phase
Iterate over a
For each element Omk = oid of Cm in ak
Onk = oid of Cn in ak
If Omk exists in class index aci
then mark as delete the entry in aci corresponding to Omk
If Onk exists in class index 0ci
then mark as delete the entry in 0ci corresponding to Onk
Step 6: Generate IGT of result
Iterate over aci
For each element aciT in aci not marked as delete
rows of 7igt rows from a¡gt having acir as index element
Iterate over 0ci
For each element 0ci3 in /?c/not marked as delete
rows of 7igt= rows from 0igt having 0ci3 as index element


47
class to the constituent class(es). From each class, all outgoing links or edges of a
given association type are grouped together and labeled using a letter that denotes
the association type. The name of the association (or attribute) is shown beside the
link, and if no name is specified, the name of the underlying domain is used as the
default association/attribute name.
In the Figure 4.2, E-classes such as Person, Father or Course contain objects
that axe abstract representations of corresponding objects (that is persons, fathers,
and courses) in the real world. The classes Father and Mother are subclasses of
class Person, and represent persons in the real world who are fathers and mothers
respectively. The generalization or superclass-subclass association models the fact
that a person can be a father or mother, and that a father or mother object inherits
the structure and behavior of person objects from the class Person. The S-diagram
also illustrates D-classes such as degree, title, etc. which are used to define the
structure of E-classes. Descriptive data attributes of E-classes represent aggregation
associations defined over D-classes and are named by attributes such as title, dept
and course# defined for the E-class Course. An aggregation association defined
over another E-class is illustrated in the class Father which defines a multi-valued
aggregation association called father-of whose data type is SET-OF Person and
having the E-class Person as the domain or constituent class. This aggregation is a
multi-valued association since a father can have a set of children.
An n-ary relationship can be represented by defining an E-class having n binary
(aggregation) associations over the n classes participating in the relationship. The
properties and constraints of the n-ary relationship are associated with objects in
the defining E-class and objects in the constituent E-classes. The example schema
illustrates how a ternary relationship may be defined in the class Section. The
class Section represents this ternary relationship by using three binary (aggregation)
associations. Constraints relating to the ternary relationship can then be specified


TABLE OF CONTENTS
ACKNOWLEDGEMENTS iv
ABSTRACT x
CHAPTERS
1 INTRODUCTION 1
2 A SURVEY OF RELATED WORK 10
2.1 KBMS and DBMS Architectures 10
2.1.1 Traditional DBMS Architectures 10
2.1.2 Object-oriented DBMS Architectures 11
2.1.3 Extensible DBMS Architectures 13
2.2 Object Management Techniques 17
2.3 Query Processing in Object-oriented Databases 18
2.4 Methodologies for Software Development 20
2.5 Meta-level and Reflexive Architectures 21
3 A FRAMEWORK FOR EXTENSIBILITY 23
3.1 Key Features of our Approach 23
3.2 Overview of our Approach 24
4 AN EXTENSIBLE KERNEL OBJECT MODEL (XKOM) 36
4.1 The Extensible Data Model Approach 36
4.1.1 Benefits of the Approach 37
4.1.2 Data Model Requirements 37
4.2 Basic Data Modeling Constructs: Structure 38
4.2.1 Object, Class, and Instance 38
4.2.2 Identity 41
4.2.3 Association 42
4.2.4 Class Definition 43
4.3 An Example Database 45
4.3.1 Database Schema 45
4.3.2 Database Extension 48
4.4 Basic Data Modeling Constructs: Behavior 50
4.5 Language Components 50
4.5.1 Queries and Methods 53
4.5.2 Rules 58
VI


40
Kernel Class: is an abstraction that describes the structural and behavioral seman
tics of a set of like objects.
Classification or the notion of a class provides a specification and representa
tion for a group of objects having similar semantics. In XKOM, the class is itself
considered to be a system-named object.
An important concept that is proposed is the notion of different types of classes
corresponding to different types of objects (Class Extensibility). In its kernel or core
form, XKOM supports two basic types of classes: Entity (E-)classes and Domain
(D-)classes.
E-class: is a class representing objects which are independently accessible and have
system-assigned identifiers (that is, system-named objects).
D-class: is a class representing objects which use values as the mechanism for iden
tification and for reference (that is, self-named objects).
Thus, E-classes have an associated set of materialized objects whereas D-classes
serve to declare domains of values for materializing E-class objects.
Instance
Kernel Instance: is the representation or materialization of a kernel object in a par
ticular class
A kernel object may participate (have a representation) in more than one class.
Consequently, the complete representation of a single kernel object is partitioned
across as many classes as it belongs to. Effectively, the complete representation
(CR) of a kernel object is the union (both structurally and behaviorally) of all its
instances.


110
12. select ((class), (select-cond))
Returns: A list of oids that satisfy the selection condition.
Description: Selects a set of instances from the class (class), which satisfy the
selection condition (select-cond). The selection condition is specified as
a conjunction or disjunction of (name op value) triplets, where op is a
comparison operator. The attributes used in the selection condition must
be value or descriptive attributes (inherited attributes are allowed).
13. star (( classl), (oid-list), (classS), (assoc-name))
Returns: A list of oid pairs, each pair signifying an object of (classl) which is
associated with a particular object of (class2).
Description: Retrieves from the class (classl), those objects in (oid-list) which
have object references to any objects in the class (class2), through the
association (assoc-name). If the (oid-list) is specified as (all), then all
objects of (classl) having object references to any object in the class
(class2) are retrieved.
14. nonstar ((classl), (oid-list), (classB), (assoc-name))
Returns: A list of oids. Each oid represents an object of (classl) that has no
object reference to any object of (class2)
Description: Retrieves from the class (classl), those objects in (oid-list) that
have no object references to any object in the class (class2). If the (oid-
list) is specified as (all), then all objects of (classl) having no object
references to any object in (class2) are retrieved. The (assoc-name) spec
ifies the name of the schema level association from (classl) to (class2).


CHAPTER 6
MANAGEMENT OF KERNEL OBJECTS
In this chapter, we address storage and processing issues relating to the manage
ment of kernel objects: objects whose abstractions are described by XKOM. Cor
respondingly, the design and development of a Kernel Object Management System
(KOMS) is also presented.
This chapter is organized as follows. In Section 6.1 we outline a set of basic
requirements that serve as a basis for the management of kernel objects, and influence
the design and implementation of KOMS. Based on these requirements, Section 6.2
deals with various issues related to the storage of kernel objects and Section 6.3
deals with various issues related to the processing of kernel objects. In Section
6.4, we describe the implementation of the Kernel Object Management System and
techniques used to realize extensibility.
6.1 Basic Requirements
The basic requirements that influence the management of kernel objects, and
play an important role in the design and development of KOMS are enumerated
below.
1. Storage Requirements: The storage needs of KOMS are primarily influenced
by the basic structural constructs of the data model. In this regard, KOMS
must support the set of core data model constructs that XKOM incorporates:
objects, classes, instances, identity, and associations.
2. Processing Requirements: The processing needs of KOMS are primarily influ
enced by the processing needs of clients in the upper layers. To support a
83


Internet Distribution Consent Agreement
In reference to the following dissertation:
AUTHOR: Yaseen, Rahim
TITLE: An extensible data model and extensible system architecture for
building advanced knowledge (record number: 1722550)
PUBLICATION DATE: 1991
I, M. ia\ M pi-fvvtw £rp Y A/ as copyright holder for the
aforementioned dissertation, hereby grant specific and limited archive and distribution rights to
the Board of Trustees of the University of Florida and its agents. I authorize the University of
Florida to digitize and distribute the dissertation described above for nonprofit, educational
purposes via the Internet or successive technologies.
This is a non-exclusive grant of permissions for specific off-line and on-line uses for an
indefinite term. Off-line uses shall be limited to those specifically allowed by "Fair Use" as
prescribed by the terms of United States copyright legislation (cf, Title 17, U.S. Code) as well as
to the maintenance and preservation of a digital archive copy. Digitization allows the University
of Florida to generate image- and text-based-versions as-appropriate and to provide and enhance
access using search software.
This grant of permissions prohibits use of the digitized versions for cpmmercial use or profit.
$igna/ure ofCopyright Holder
fl/MltA MtW
Printed or Typed Name of Copyright Holder/Licensee
personal information blurred
ate of Signature
Please print, sign and return to:
Cathleen Martyniak
UF Dissertation Project
Preservation Department
University of Florida Libraries
P.O. Box 117007
Gainesville, FL 32611-7007
5/28/2008


112
(interfact
high level operations
on kernel objects
KERNEL OBJECT
MANAGEMENT LAYER
META-MODEL AND
DATA DICTIONARY
MODULE
KERNEL OBJECT
MANIPULATION
MODULE
TYPE
MANAGEMENT
MODULE
INTERFACE
"get/put
interface
STORAGE LAYER
Figure 6.8: Layer and Module Configuration of the
Kernel Object Management System
dictionary access methods for supplying run time information about model, system,
and application classes.
Type management module
This module represents the component of the system that deals with management
of user-defined complex data types such as matrices, bit-maps, etc. Currently, only
the primitive data types are supported. The implementation of complex data types
as value attributes is not currently supported. Also, since the underlying storage
system (ONTOS) does not support the notions of large uninterpreted objects (as in
Exodus), KOMS is unable to support this feature. Thus, long_raw and short_raw
axe not currently implemented.


6
independent approaches have been proposed, namely, the object-oriented database
system approach and the extensible database system approach.
The object-oriented database system approach [AGR89, ONT88, BAN87a, BAN87b,
COP84, DAD86, DIT87, FIS87, MAI86a, SKA86] proposes the development of a sin
gle (and usually fixed) DBMS axchitecture based on a specific object-oriented data
model. A key disadvantage with this approach is that the system is fixed and not
easily extendable. That is, only a fixed set of higher order data modeling con
structs is supported. This approach implicitly assumes that a single object-oriented
data model suffices to support all applications, with not much provision for appli
cations and data modeling constructs whose requirements fall outside the original
model and system specifications. Furthermore, the issue of defining a single object-
oriented data model is both subjective and controversial. Unlike relational DBMSs,
which are all based on a common relational data model, it is not possible to do the
same for object-oriented database systems because no clear consensus exists on a
common high-level object-oriented data model [ATK89]. Consequently, differences
and incompatibilities may exist even if the same application utilizes different object-
oriented database systems since each system supports its own notion of a high-level
object model.
The extensible database system approach [BAT88, CAR86b, LIN87, ST086] pro
poses the development of an extensible DBMS architecture, an architecture which
is deliberately designed to provide explicit mechanisms for functional extensions to
the system architecture. This allows the database system to be customized or tai
lored to support specific application domains. In Postgres [ST086] and Starburst
[LIN87] extensibility is provided within the framework of a relational data model.
The approach taken by Genesis [BAT88] is characterized by a network model ba
sis and uses a strict building-blocks framework for extensibility. Exodus [CAR86b]
couples a fixed, powerful object-based storage manager with a set of tools to achieve


APPENDIX A
DICTIONARY ACCESS FUNCTIONS
We present below a sample set of dictionary access functions to illustrate how
classes and associations are manipulated at the meta-level. These access functions
are illustrated using a C++ like syntax for the arguments passed and the type of
the return value.
1. Boolean existsClass(char* className); // Check if a class exists given the
classname.
2. char* className(int cid); // Get the classname given the class identity (cid).
3. Class* getClass(int cid); // Get the class object given the class identity.
4. Class* getClass(char* className); // Get the class object given the class
name.
5. int classld(char* className); // Get the class identity (cid) given the class-
name.
6. ClassList* getSuperClassesOf(char* className); // Get the list of super
classes of a class.
7. ClassList* getSubClassesOf(char* className); // Get the list of subclasses
of a class.
8. AssocList* get Associations (char* className); // Get the list of associations
of a class.
9. ClassList* getAUSuperClassesOf(char* className); // Get the list of all super
classes in the class hierarchy of a class.
10. Boolean is Attribute (char* className, char* attributeName); // Check if a
given attribute exists for a class.
11. Boolean islnheritedAttribute (char* attrbuteName, char* className); // Check
if a given attribute is an inherited attribute of a class.
12. Association* getAssociation(char* className, char* assocName); // Get As
sociation object given the classname and association name.
13. Boolean existsAssociation(char* className, char* assocName); // Check if
an association exists.
14. ClassType getClassType(char* className); // Get class type (e.g. E-class,
D-class) of a given class.
189


126
7.2 The Query Language and Algebra
7.2.1 Query Language
The query model and language developed in [ALA89a] are based upon two key
concepts. First, queries are specified based upon association patterns of interest
to the user. Second, the language satisfies the property of closure. Previously,
in Chapter 4, the query language was briefly reviewed as part of the discussion
on the language components of the data model. Later in this chapter, we will
illustrate various complex queries and techniques for processing such queries. We
now elaborate on the association algebra which serves as a formal basis for the
language and provides a basis for processing queries specified using OQL.
7.2.2 Association Algebra
The association algebra (A-algebra) [GUO90, GU091] is an algebra for manip
ulating object-oriented databases, and serves as the formal underlying basis for the
query language (OQL). It is analogous to the relational algebra which is defined for
relational databases and query languages. In this algebra, objects and their asso
ciations are uniformly represented by association patterns and are manipulated by
a number of association algebra operators. Nine operators are defined to operate
upon homogeneous or heterogeneous sets of association patterns: two unary oper
ators [A-Project (t) and A-Select (S)] and seven binary operators [Associate (*),
A-Complement(j), A-Union (+), A-Difference (), A-Divide (4-), NonAssociate (!),
and A-Intersect ()].
To illustrate the graph-based approach to query processing, we consider six as
sociation operators: the two unary operators [A-Project (7r) and A-Select (E)] and
four binary operators [Associate (*), A-Union (+), NonAssociate (!), and A-Intersect
()]. The operators A-Project and A-Select are implicitly used in query processing
by directly calling the retrieve and select operators defined for the Kernel Object


KERNEL
OBJECT
HANDLER
Figure 6.9: The System Architecture Schema


CHAPTER 1
INTRODUCTION
In recent years, an increasing number of complex and advanced application do
mains, such as Computer Integrated Manufacturing (CIM), VLSI Design, Computer-
Aided Software Engineering (CASE), and Engineering Design, have been addressed
in the context of database technology. Existing Database Management Systems
(DBMSs) such as relational, network, and hierarchical have been primarily designed
for use in traditional business-oriented applications and have been found to be in
adequate in supporting the diverse and demanding requirements of these emerging
non-traditional application domains. To support the needs of such diverse and com
plex application domains, the research presented in this dissertation addresses many
aspects pertaining to a framework and architecture for developing next-generation
Knowledge Base Management Systems (KBMSs). A KBMS is a system which pro
vides all the functionality of a DBMS and also incorporates additional facilities for
knowledge management. Since the capabilities of a KBMS encompass those of a
DBMS we will, in general, use the term KBMS in the broader sense to refer to both
KBMSs and DBMSs.
To identify the requirements that pertain to developing next-generation KBMSs,
we analyze such requirements from two aspects: first, the data model aspect, which
deals with identifying an appropriate data model for supporting advanced applica
tion domains; and second, the system architecture aspect, which deals with defining
a suitable system architecture for realizing a system based on the data model.
To analyze the data model aspect, we review some important remarks made by
Dittrich [DIT86] on the notion of a semantic gap that occurs when an application is
1


213
[MOR84]
[MYL80]
[ONT88]
[ONT90]
[PAU87]
[PEC88]
[PUR88]
[RAS87]
[RAS88]
[ROW87]
[SCH82]
[SCH89]
[SCH86]
[SER87]
M. Morgenstern, The Role of Constraints in Databases, Expert Sys
tems, and Knowledge Representation, Proceedings of the First Inter
national Workshop on Expert Database Systems, Kiwah Island, SC,
1984.
J. Mylopolous, P. A. Bernstein, and H. K. T. Wong, A Language Facil
ity for Designing Database-Intensive Applications, ACM Transactions
on Database Systems, Vol. 5, No. 2, 1980.
Ontologic Inc., VBASE: Integrated Object Database, System Docu
mentation, Version 1.0, 1988.
Ontologic Inc., ONTOS: Object Database, System Documentation,
Version 1.5, 1990.
H. -B. Paul, H. -J. Scheck, M. Scholl, G. Weikum, and U. Deppisch,
Architecture and Implementation of the Darmstadt Database Kernel
System, Proceedings of the ACM SIGMOD International Conference
on Management of Data, San Francisco, CA, May, 1987.
J. Peckham, and F. Maryanski, Semantic Data Models, ACM Com
puting Surveys, Vol. 20, No. 3, 1988.
S. Puranik, A Data Definition Language for the Object-oriented Se
mantic Association Model and Algorithms for Intelligent Query Pro
cessing, M.S. thesis, University of Florida, 1988.
L. Raschid, Design and Implementation Techniques for an Integrated
Knowledge Base Management System, Ph.D. Dissertation, Dept, of
Electrical Engineering, University of Florida, 1987.
L. Raschid and S. Y. W. Su, A Transactions Oriented Mechanism to
Control Processing in a Knowledge Base Management System, Pro
ceedings of the International Conference on Expert Database Systems,
April 1988.
L. Rowe, and M. Stonebraker, The POSTGRES Data Model, Pro
ceedings of the 13th International Conference on Very Large Databases,
Brighton, England, Sept., 1987.
H. -J. Schek, and P. Pistor, Data Structures for an Integrated Database
Management and Information Retrieval System, Proceedings of the
8th International Conference on Very Large Databases, 1982.
D. A., Schenck, Information Modeling Language: EXPRESS, Lan
guage Reference Manual, ISO TC184/SC4/WG1, N362, May 1989.
P. M. Schwarz, W. Change, J. C. Freytag, G. M. Lohman, J. McPher
son, C. Mohan, and H. Pirahesh, Extensibility in the Starburst Data
base System, Proceedings of the International Workshop on Object-
Oriented Database Systems, Pacific Grove, CA, Sept., 1986.
Servio Logic Development Corporation, Opal Programming Environ
ment (OPE), Version 1.0.


190
15. AssocType getAssocType(char* className, char* assocName); // Get asso
ciation type (e.g. Aggregation) of a given association.
16. char* getAssociatedClassName(char* defClassName, char* assocName); //
Get name of the associated class for a given association.
17. ObjectTable* getObjectTable(char* className); // Get Object Table of a class
from disk.
18. void putObjectTable(char* className); // Put Object Table of a class to disk.
19. char* get AssocName (char* classl, char* class2); Get default association
name between two classes.


113
Storage layer
The storage layer is the ONTOS object server for C++ [ONT90]. ONTOS pro
vides the C++ language with the notions of persistence. It provides get/put seman
tics for objects, and the regular functionality of object managers such as locking,
buffer management, etc. We have implemented the model of generic storage objects
described in Section 6.2, as an interface to ONTOS, and use the get/put facilities
of ONTOS to read/write instances corresponding to the model of generic storage
instances that we have defined.
6.4.2 Interface Classes
An important concept that we propose for achieving a higher form of abstraction
in modeling the software modules is the notion of Interface Classes. In this disser
tation, we will use this notion of interface classes extensively in modeling system
software.
An interface class is a special class that represents a particular interface to a
group of other classes. The justification for an interface class is as follows. Consider
a software module that consists of 10 classes (i.e., ten inter-related sub-modules).
Each of these classes (i.e., a sub-module) has several methods which comprise the
interface of the class. Assume each class has, say, 8 member functions. Combined,
these 10 classes together will have 80 methods as an interface. However, collectively,
these 10 classes represent a module which may have a much smaller interface (e.g., 5
methods), since many of the 80 methods may be used internally among the 10 classes
to achieve the functionality of the module. We take the collective (not combined)
interface of these group of classes and package it into a class called an interface class
of the module. Thus, a module is a higher level system abstraction than a class.
Note that external modules using a given module may need to see (in order to pass
arguments) the structure of the classes defined inside the module. However, access


LEGEND
C
S
T
L
C = COURSE
C
1112
0000
0000
S SECTION
S
1022
1022
T TEACHER
T
0000
L LOCATION
L
RET: indicates Retrieve operation
SEL: indicates Select operation
O indicates association-set
indicates CLASS from
DATABASE

o
indicates OPERATION
NODE
C
S
1112
P =
Y =
C
S
T
L
c81
s 18
A
A
c48
s64
A
A
A
A
t7
A
c82
s23
A
A
c43
sl9
A
A
c63
s49
A
A
A
A
A
142
C
s
T
a =
1112
0000
1022
C
S
T
c81
sl8
A
c48
s64
A
A
A
t7
Figure 7.12: Processing a query having an A-Union operator


131
A-Union (+)
The A-Union operator is a binary operator used to combine two association-sets
(a, ¡3) into a single association-set (7) based on a union of the operands:
result association-set, 7 = a + ¡3
The result association-set (7) represents a union (analogous to the union of sets) of
the two operands. An example of the A-Union operator is shown in Figure 7.1(c).
We note that the algebra does not require the operands to be union compatible
and that the result association-set may contain a combination of heterogeneous and
homogeneous patterns.
A-Intersect
The A-Intersect operator is a binary operator used to combine two association-
sets (a, ¡3) into a single association-set (7) based on an intersection of the operands.
A set of classes (W) over which the intersection is to be carried out are also specified:
result association-set, 7 = a {W}(3
The result association-set (7) contains a set of result patterns. Two patterns, one
from each of the operand association-sets (a, ¡3), are combined into one result pattern
if they contain the same set of objects for each specified class. An example of the
A-Intersect operator is shown in Figure 7.1(d).
7.3 Representation Schemes for a Subdatabase
In this section, we investigate formal and appropriate data structures to serve as a
basis for query processing, and for representing the subdatabases that are generated
during query processing. An adjacency-matrix-based data structure is proposed to
represent the set of instance graphs that constitute a subdatabase.


I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Doctor of Philosophy.
Stanley Y. W. Sruy Chairman
Professor of Electrical Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for thexiegree of Doctor of Philosophy.
Herman Lam, Cochairman
Associate Professor of
Electrical Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Doctor of Philosophy.
yOl fflV (MnKb^>
Shamkant B. Navathe
Professor of Computer and
Information Sciences
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Dpctor of Philosophy.
Kdith L. Doty
Professor of Electrical Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Doctor of Philosophy.
/C/M0/'
Richard Newman-Wolfe
Assistant Professor of Computer and
Information Sciences


Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy
AN EXTENSIBLE DATA MODEL AND EXTENSIBLE
SYSTEM ARCHITECTURE FOR BUILDING ADVANCED KNOWLEDGE
BASE MANAGEMENT SYSTEMS
By
Rahim Mohamed Yaseen
December 1991
Chairman: Dr. Stanley Y. W. Su
Cochairman: Dr. Herman Lam
Major Department: Electrical Engineering
Traditional data models and the corresponding monolithic database manage
ment system architectures have been found to be inadequate for supporting the
complex and diverse requirements found in many advanced application domains.
More advanced data models and system architectures are needed for developing
new-generation Database Management Systems (DBMSs) and Knowledge Base Man
agement Systems (KBMSs). Clearly, if a data model with a fixed set of modeling
constructs and a fixed system architecture are used, they cannot accommodate the
diverse and dynamically changing requirements that must be supported. This dis
sertation describes an approach of coupling an extensible data model with a cor
responding extensible system architecture for the development of more advanced
KBMSs.
An extensible Kernel Object Model (XKOM) is proposed. XKOM consists of
a set of core data modeling structural abstractions which are commonly available
in existing object-oriented data models and two powerful behavioral abstractions
x


183
parameterized rules are stored only once with the meta-classes which specify the
rules and are bound to the application classes during rule processing time.
Figure 8.6 illustrates the conceptual boundaries of a class system. The system-
defined meta-class system on the left of Figure 8.6 is the part of the class system
which is developed by the developer of the kernel object management system and
is provided to the KBC. The extension of the meta-class system can be made by
the KBC based on the system-defined meta-class system. This is shown in the mid
dle part of Figure 8.6. The resulting class system represents the customized data
model provided to the Knowledge Base Administrator (KBA) or Database Admin
istrator (DBA) to develop the application class structure for use by the application
users. Finally, the resulting application class system is made available for use to the
application users.
Note that under normal circumstances, an application user can access and use the
application class system only but has no schema modification privileges. Similarly,
although the KBA or DBA can modify the application class system (i.e., schema
modification), he/she does not have modification privileges on the extended meta
class system. Finally, the KBC can modify the extended meta-class system (i.e.,
to change the application data model), but cannot modify the basic kernel model
represented by the system-defined meta-class system.


67
The correspondence between the classes that comprise an application schema and
the model meta-schema is as follows. Top-level El-classes such as Person, Section,
Location, and Course, in the application schema shown in Figure 4.2, are immediate
sub-classes of the class El-CLASS OBJECT. Other E-classes such as Teacher or
Mother which axe sub-classes of class Person are indirectly sub-classed from the
class El-CLASS OBJECT through the class Person. D-classes in the application
either represent primitive data types or are sub-classed from the class D-CLASS
OBJECT. In Figure 4.7, this correspondence is illustrated for a few classes taken
from the example schema of Figure 4.2.
The model meta-schema serves as a powerful tool for model extensibility. Model
Extensibility encompasses data model extensions such as adding multiple inheri
tance, addition of abstract data types, adding user-defined class types, adding user-
defined association types, etc. Model Extensibility is achieved by modifying the
model meta-schema. The model meta-schema serves not only as a specification of the
semantics of end-user data model constructs but also as a basis for the implementa
tion of such constructs. Methods (functions) and/or rules defined in the meta-classes
that comprise the model meta-schema are used to implement data model constructs.
By modifying the specification and implementation of the class CLASS, the seman
tics of a class in the data model can be changed. We illustrate some scenarios with
respect to Figure 4.7. Consider the case where the class CLASS does not have the
attributes setOfRules and setOfMethods. This implies a model that is structurally
object-oriented but not behaviorally object-oriented [DIT86]. Another example is
the case where a data model (e.g., the relational data model) does not allow entities
to be defined in terms of other entities. That is, no abstract data types are allowed,
and an entity must be defined in terms of primitive or pre-defined data types. In
this case, the setOfAssociations attribute of class CLASS is constrained to have ob
jects of class ASSOCIATION which represent association objects having D-classes


Single Object Table for
objects of all classes
(a) Single Object Table
Figure 6.6: Single vs Distributed Object Tables


57
(a) Intensional Association Pattern (IAP)
(b) Extensional Diagram
Figure 4.4: Intensional Association Pattern and Extensional Diagram for
an example subdatabase
a) Intensional Association Pattern (IAP); b) Extensional Diagram


116
the module. We now use some examples from ROMS to illustrate the notions of
modules, interface classes, and system extensibility.
In the first example, identity and two currently supported forms of identity, time-
stamp and skewed counter, are modeled as a class and two subclasses respectively. A
single interface class, ID-Handler, is used to access these different forms of identity.
Thus, it is possible to easily extend the notion of identity by sub-classing the class
OID and adding the appropriate semantics to the sub-class. The second related
example is that of identity-address mappings or object Tables. Two variants of
object tables, a Linear Hash version and a B+/B* index version, axe shown as
subclasses. The class OT-Handler serves as an interface.
A more complex example is the meta-data or data-dictionary module. The class
system for the data dictionary and model meta-schema management module is shown
in greater detail in Figure 6.10. It contains all the classes that result from modeling
the data model itself plus one additional class: the Dictionary Handler (DicHandler)
class. The figure also shows the Uses relationship between component classes of the
module.
The DicHandler class is an interface class to the set of model meta-classes, and
represents the set of access functions that any outside module calls when accessing
meta-information. We now illustrate the concept of an interface class, and the
manner in which an external module uses an interface class. First, a DicHandler
object is created and then, a message is sent to this DicHandler object to invoke a
particular interface function. This calling sequence is shown below;
DicHandler *aDicHandler;
aDicHandler getAIISuperClassesOf(TA");
The action taken by the corresponding method in the DicHandler class is as
follows. It examines the arguments list, and unpacks the argument list into various
objects that belong to classes that comprise the module. Messages are sent to these


149
step in the generation of the subdatabase context. Each intermediate/final result of
the subdatabase context is shown as a Class Graph Adjacency Matrix (CGAM) and
Instance Graph Table (IGT).
A query is executed by a depth-first, post-order tree traversal and execution of
operators in the nodes that constitute the query execution plan. In the examples
illustrated below, no effort is made to generate an optimized query execution plan
since no query optimization is assumed (We expect query optimization to be carried
out later as part of an extension of this approach). Rather, the query is executed
using an execution plan that corresponds to the parse tree of the query.
The cases below represent a comprehensive set of linear and branching association
patterns, combined with Associate and NonAssociate operators.
Queries with linear association patterns
Query: Increase by 10% the salary of all teachers who have a PhD degree and are
teaching advanced graduate classes.
The corresponding OQL query is;
CONTEXT Teacher[degree=PhD] Section Course [course# > 6000]
Update Teacher[salary = 1.1 salary]
This query illustrates the use of the Associate operator, and the query execution
plan corresponding to this query is shown in Figure 7.10. The final Associate opera
tor in this query corresponds to the example illustrated previously in Figure 7.9(a).
This example query also illustrates how a query can invoke a system-defined oper
ator. An update operator, shown as the top-most operator node of the query tree,
is invoked on the instances of class Teacher which satisfy the specified association
pattern.
Query: Display the names of all TAs who have a MS degree and are not teaching
any graduate classes.
The corresponding OQL query is;


father-of
: set of Rbrson
section#
enrolment
class-period
semester
title
dept
course#
capacity
room#
bldg-name
office#
Figure 4.2: An example database schema corresponding to an university application


74
possible to use data manipulation operators to access meta-data, it is usually not
practical or efficient to do so. Instead, specialized access routines are necessary in
order to satisfy the specialized access needs of clients which use the database dic
tionary module and/or to satisfy performance requirements since meta-information
is accessed very frequently. Consequently, the design of any meta-data management
module must consider both the structural aspect of the meta-data itself, and the
operational requirements of the meta-data such as specialized access routines.
A shortcoming in many existing DBMSs is that meta-data is treated differently
from data itself. If meta-data is treated differently from data, there is an implicit
assumption that the DBMS is recommended for managing (application) data but
is not good enough for representing and processing its own meta-data. Consider
for example the notion of catalog relations in relational DBMSs. From a structural
viewpoint, meta-data is treated like data since catalog relations are defined in a
manner similar to data by using the same modeling constructs, that is, relations,
columns, and tuples. While this meta-data is modeled as relations, it is not ma
nipulated by regular relational data manipulation operators. Instead, specialized
access routines are used to access meta-data differently from data. Such routines or
methods are not part of the relational data model since the relational model does
not allow functional or operational specification as part of the model. Thus, from a
functional or behavioral viewpoint, meta-data is treated differently from data since
user-defined routines on the (relational) data cannot be defined in a manner similar
to the access-routines on the (relational) meta-data. As a result, access routines are
embedded within the system software and cannot be easily modified or extended.
Instead, external application programs must be written on top.
Now, let us consider object-oriented (O-O) DBMSs. From a structural view
point, we consider an 0-0 DBMS as treating meta-data like data only if meta-data
is structurally represented as first-class objects in the system. From a behavioral


82
we show a relevant sub-set of dictionary access functions that are currently supported
after performing the initial bootstrap process.
5.5 Data Dictionary Module
The data dictionary module and the model meta-schema management module
are represented as one integrated module in the architecture we propose. Classes
and objects that describe and implement the data model semantics are defined here.
The module also provides a set of access methods used to access run-time meta
information of the data model or of an application schema. The implementation of
this module is presented in Chapter 6 as part of the implementation of a Kernel
Object Management System (KOMS).


175
(b) Rule Processing with Static Binding
Figure 8.4: Static Approach
(a) Rule Storage; .
(b) Rule Processing with Static Binding


88
large (arbitrarily sized) text, images (from satellites), bit maps, etc. In Exo
dus [CAR86a] all storage objects axe treated as uninterpreted bytes and issues
related to the processing of large, uninterpreted storage objects are studied.
3. Complex/Composite objects: These objects are objects whose primary feature
is that they represent a composition of several objects from several classes
and collectively define one complex object. A key characteristic of this type of
object is the need to access and manipulate the entire composition of objects as
one entity. Such objects may be found in discrete manufacturing or engineering
design: for example, a jet engine that represents one complex entity.
In order to provide a unified and integrated representation for structured objects,
long/small uninterpreted objects, and complex/composite objects, we propose two
types of attributes (a) object reference attributes and (b) value attributes.
Using these two types of attributes allows for uniform representation of all types
of objects. On the one hand, a large uninterpreted object could be stored in a value
attribute using a data type called raw: raw represents an uninterpreted sequence
of bytes. Processing the raw data type could exploit techniques and algorithms pro
posed by Exodus [CAR86a] for processing large uninterpreted objects. On the other
hand, complex/composite objects can be represented using a combination of object
reference and value attributes. Such objects, for example, could utilize clustering
techniques and algorithms developed in application areas such as CAD/CAM for
processing complex/composite objects.
The storage format of an instance is a structure having the following fields;
instance-id field: Each instance stores its instance identifier in the first field.
object reference fields: Each instance can have several object reference attributes,
each of which is stored as an object reference field. An object reference field
stores one or more (iids) of the objects referred to by this instance, and the


object)
G
Figure 4.7: Modeling the data model (Model Reflexivity)


176
In Figure 8.5, we illustrate the dynamic approach to rule storage and binding.
Figure 8.5(a) shows how each class object is associated with a set of rules, with
each class only storing the explicit or parameterized rules specified in that class.
Figure 8.5(b) shows the process of rule binding and rule processing. Note that the
bound rules returned to the rule processor at rule processing time for the rule base
represented in Figure 8.5(a) axe the same as the ones shown in Figure 8.4(a).
8.3 Realizing Association Extensibility
In this section, we will show how rules can be used to achieve association ex
tensibility. The concept underlying association extensibility is that the semantics
of each association type is represented by a set of rules. For example, the super
class/subclass existence semantics of the generalization association is represented by
the parameterized rule p-pr803 presented in Section 8.2. Thus, each association type
can be added as a building block that extends the core data model (XKOM).
The process of adding a new association type involves two steps. First, a set
of paxameterized rules that define the semantics of the association type must be
specified. Second, the model meta-class system must be suitably extended to ac
commodate the semantics of the new association type. We note that such tasks
are the responsibility of the KBC. To illustrate these concepts, we now use the
Interaction association from OSAM* as an example association type that is to be
supported.
8.3.1 Specifying Parameterized Rules
The semantics of an I-association can be specified as a set of constraints that
apply to the classes involved in an interaction association. For example, in an
interaction association, an object can exist in the defining class only if it is associated
with objects in each of the constituent classes. This constraint can be captured by


4
in previous data modeling paradigms. Examples of such data models can be found
in NIAM [VER82], IDEF1X [L0086], IFO [ABI87], STDM [COP84], IRIS [FIS87],
Gallileo [ALB85], TAXIS [MYL80], DAMOKLES [DIT87], and OSAM* [SU89]. A
survey of such data models can be found in Hull and King [HULL87] and Peckham
and Maryanski [PEC88]. A more powerful behavioral abstraction, namely declara
tive rules, has also been recognized by and incorporated into some of these advanced
data models [BOB83, BR084, KER84, MOR84, SU89]. High-level declarative rules
enhance the data management capabilities by providing knowledge management
capabilitiescapabilities that include truth maintenance, constraint management,
deduction and inferencing, and the ability to trigger or activate actions under user-
specified conditions.
In order to minimize the semantic gap, object-oriented data models provide a
large set of rich data modeling constructs. These include specialized structural
constructs which encode high-level structural semantics. Furthermore, behavioral
abstractions such as methods are provided and enable application programs (nor
mally used for enforcing additional semantics) to be directly incorporated as part
of the database. However, these models suffer from two shortcomings. First, these
data models do not address the second factor that contributes towards an increased
semantic gap. That is, in spite of their advanced data modeling constructs, these
models only provide a fixed set of data modeling constructs. Second, the combi
nation of the large number of constructs and the semantically rich nature of the
constructs lead to unwieldy and inefficient implementations of such models.
Clearly, a fixed data model cannot support a diverse range of applications even
if it possesses many semantically rich constructs. The semantics of different ap
plications require specialized constructs, the absence of which leads to the usage of
complicated application programs for enforcing such semantics. This analysis of data
models leads us to conclude that an extensible data model approach is needed to


92
Complex D-class
A value attribute may be defined over a complex D-class. A complex D-class
object is a D-class object defined in terms of other D-class objects and/or primitive
data types. As such, a complex D-class object may contain other embedded D-class
objects within it. The complex D-class object, itself, is then embedded within the
instance of an E-class. Note that this gives rise to a nested form of objects.
6.2.4 Object References
At the conceptual level, an association is a structural abstraction used to de
fine relationships between classes, and the corresponding relationships between the
instances of such classes. At the storage level, all associations between E-classes
manifest as inverse (two-way) object reference attributes. At the instance level, an
instance (say, 1 having instance id (iidi)), from one class stores a reference at
tribute to an instance (say, z2 having instance id {iidi)) from the other class, and
the instance 2 stores the corresponding inverse reference.
We consider three possible techniques for implementing such object references,
as illustrated in Figure 6.4. These are;
1. Virtual Memory Pointers
2. Disk Addresses
3. Identity Reference
Virtual memory pointers
In main memory based systems such as programming languages, virtual memory
pointers are used for one object to reference another object. That is, 1 stores a
virtual memory pointer (vmp2) to i2. However, when storing objects (such as 1, 2)
on disk, it is not meaningful to store virtual memory pointers (such as vmp2), since


CHAPTER 3
A FRAMEWORK FOR EXTENSIBILITY
In this chapter, we outline the framework and software architecture that we
propose for developing advanced Knowledge Base Management Systems (KBMSs).
A clarification of some terminology is in order. We use the term framework to
mean the overall approach and methodology. The terms software architecture or
architecture will be used to refer to the abstract representation of the software
configuration of a complex system such as a Knowledge Base Management System.
The terms Knowledge Base Management System or KBMS will be used to refer
to the physical realization of this architecture.
First, we list key features of our approach. Then, we present an overview of the
proposed approach and discuss the importance of these features in the context of a
next-generation KBMS architecture. In the overview, we also explain the relevance
of the material to be presented in Chapters 4 through 8 to the proposed approach.
3.1 Kev Features of our Approach
The key features of the approach we propose for developing next-generation
KBMSs are as follows:
1. An extensible, object-oriented base model called extensible Kernel Object
Model (XKOM).
2. An open, layered and modular framework for defining an extensible system
architecture.
3. Mechanisms for model extensibility.
23



PAGE 1

$1 (;7(16,%/( '$7$ 02'(/ $1' (;7(16,%/( 6<67(0 $5&+,7(&785( )25 %8,/',1* $'9$1&(' .12:/('*( %$6( 0$1$*(0(17 6<67(06 %\ 5$+,0 02+$0(' <$6((1 $ ',66(57$7,21 35(6(17(' 72 7+( *5$'8$7( 6&+22/ 2) 7+( 81,9(56,7< 2) )/25,'$ ,1 3$57,$/ )8/),//0(17 2) 7+( 5(48,5(0(176 )25 7+( '(*5(( 2) '2&725 2) 3+,/2623+< 81,9(56,7< 2) )/25,'$

PAGE 2

&RS\ULJKW E\ 5DKLP 0RKDPHG
PAGE 3

7R WKH PHPRU\ RI P\ IDWKHU $QG WR P\ PRWKHU -XEHGD IRU EHLQJ VR FRXUDJHRXV LQ OLIH

PAGE 4

$&.12:/('*0(176 , ZLVK WR WKDQN WKH IROORZLQJ SHRSOH IRU WKHLU FRQWULEXWLRQV WKURXJKRXW WKH GXn UDWLRQ RI P\ JUDGXDWH VWXGLHV 0\ VLQFHUH DSSUHFLDWLRQ JRHV RXW WR 'U 6WDQOH\ 6X IRU JLYLQJ PH WKH RSSRUWXQLW\ WR ZRUN LQ WKH FKDOOHQJLQJ DUHD RI REMHFWRULHQWHG DQG H[WHQVLEOH NQRZOHGJH EDVH PDQDJHPHQW V\VWHPV :LWKRXW KLV WKRXJKWSURYRNLQJ JXLGDQFH LQVSLULQJ WHFKQLFDO GLVFXVVLRQV DQG VWHDGIDVW VXSSRUW WKLV ZRUN FRXOG QRW KDYH EHHQ UHDOL]HG , DP GHHSO\ JUDWHIXO WR 'U +HUPDQ /DP WKH FRFKDLUPDQ RI P\ VXSHUYLVRU\ FRPPLWWHH IRU YDOXDEOH WHFKQLFDO JXLGDQFH IRU FRQWLQXRXV HQFRXUn DJHPHQW DQG WKRXJKWSURYRNLQJ VXJJHVWLRQV DQG IRU DOZD\V EHLQJ WKHUH , WKDQN 'U 6KDP 1DYDWKH IRU IUXLWIXO WHFKQLFDO GLVFXVVLRQV DQG IRU DFFHVV WR KLV SHUVRQDO OLEUDU\ , ZRXOG OLNH WR WKDQN 'U .HLWK 'RW\ DQG 'U 5LFKDUG 1HZPDQQ:ROIH IRU WKHLU WLPH DQG IRU DJUHHLQJ WR VHUYH RQ P\ VXSHUYLVRU\ FRPPLWWHH , DOVR ZLVK WR WKDQN 'U 6KDUPD &KDNUDYDUWK\ IRU YDOXDEOH GLVFXVVLRQV RQ YDULRXV WHFKQLFDO LVVXHV 0\ VSHFLDO WKDQNV JR WR 6KDURQ *UDQW ZKRVH KHOS KDV EHHQ VLPSO\ LPPHQVH 2Q D SHUVRQDO QRWH , WKDQN DOO P\ IULHQGV WRR QXPHURXV WR OLVW IRU PDNLQJ P\ VWD\ LQ *DLQHVYLOOH D SOHDVDQW DQG PHPRUDEOH RQH , WDNH WKLV RSSRUWXQLW\ WR WKDQN 'U 7RP %XOORFN IRU EHLQJ P\ PHQWRU DW WKH EHJLQQLQJ RI P\ VWD\ LQ *DLQHVYLOOH 0\ KHDUWIHOW JUDWLWXGH JRHV RXW WR P\ IDPLO\ IRU DOZD\V EHLQJ WKHUH ZKHQ , QHHGHG WKHP HVSHFLDOO\ P\ EURWKHU ,TEDO IRU KLV ILQDQFLDO KHOS DQG IRU EHLQJ DQ LQVSLULQJ IRUFH LQ P\ OLIH )LQDOO\ , ZLVK WR WKDQN 0RKLQL IRU VR JUDFHIXOO\ SXWWLQJ XS ZLWK DOO WKH XSV DQG GRZQV RI WKH ODVW IHZ \HDUV LY

PAGE 5

7KLV UHVHDUFK ZDV VXSSRUWHG E\ WKH 1DWLRQDO 6FLHQFH )RXQGDWLRQ *UDQW '0& f ,%0 *UDQW 6)0f 1DWLRQDO ,QVWLWXWH RI 6WDQGDUGV DQG 7HFKQROn RJ\ *UDQW 1$1%'f DQG WKH )ORULGD +LJK 7HFKQRORJ\ DQG ,QGXVWU\ &RXQFLO *UDQW 831 f

PAGE 6

7$%/( 2) &217(176 $&.12:/('*(0(176 LY $%675$&7 [ &+$37(56 ,1752'8&7,21 $ 6859(< 2) 5(/$7(' :25. .%06 DQG '%06 $UFKLWHFWXUHV 7UDGLWLRQDO '%06 $UFKLWHFWXUHV 2EMHFWRULHQWHG '%06 $UFKLWHFWXUHV ([WHQVLEOH '%06 $UFKLWHFWXUHV 2EMHFW 0DQDJHPHQW 7HFKQLTXHV 4XHU\ 3URFHVVLQJ LQ 2EMHFWRULHQWHG 'DWDEDVHV 0HWKRGRORJLHV IRU 6RIWZDUH 'HYHORSPHQW 0HWDOHYHO DQG 5HIOH[LYH $UFKLWHFWXUHV $ )5$0(:25. )25 (;7(16,%,/,7< .H\ )HDWXUHV RI RXU $SSURDFK 2YHUYLHZ RI RXU $SSURDFK $1 (;7(16,%/( .(51(/ 2%-(&7 02'(/ ;.20f 7KH ([WHQVLEOH 'DWD 0RGHO $SSURDFK %HQHILWV RI WKH $SSURDFK 'DWD 0RGHO 5HTXLUHPHQWV %DVLF 'DWD 0RGHOLQJ &RQVWUXFWV 6WUXFWXUH 2EMHFW &ODVV DQG ,QVWDQFH ,GHQWLW\ $VVRFLDWLRQ &ODVV 'HILQLWLRQ $Q ([DPSOH 'DWDEDVH 'DWDEDVH 6FKHPD 'DWDEDVH ([WHQVLRQ %DVLF 'DWD 0RGHOLQJ &RQVWUXFWV %HKDYLRU /DQJXDJH &RPSRQHQWV 4XHULHV DQG 0HWKRGV 5XOHV 9,

PAGE 7

0RGHO ([WHQVLELOLW\ 0RGHO 5HIOH[LYLW\ &ODVV ([WHQVLELOLW\ $VVRFLDWLRQ ([WHQVLELOLW\ 0$1$*(0(17 2) 0(7$,1)250$7,21 8VLQJ 5HIOH[LYLW\ IRU 0DQDJLQJ 0HWDLQIRUPDWLRQ 0RGHO DQG 6\VWHP 0HWDLQIRUPDWLRQ 7KH %RRWVWUDS 3URFHVV 3DUDPHWHUL]DWLRQ $SSOLFDWLRQ 0HWDLQIRUPDWLRQ 'LFWLRQDU\ $FFHVV )XQFWLRQV 'DWD 'LFWLRQDU\ 0RGXOH 0$1$*(0(17 2) .(51(/ 2%-(&76 %DVLF 5HTXLUHPHQWV 6WRUDJH ,VVXHV IRU .HUQHO 2EMHFWV 0RGHOV RI 6WRUDJH 6WDWLF 6WRUDJH 0RGHO YV 'LVWULEXWHG 6WRUn DJH 0RGHO /RJLFDO 6WRUDJH 6WUXFWXUH RI DQ ,QVWDQFH 9DOXH $WWULEXWHV 2EMHFW 5HIHUHQFHV ,GHQWLW\ ,GHQWLW\$GGUHVV 0DSSLQJV +RPRJHQHRXV DQG +HWHURJHQHRXV &OXVWHULQJ RI 2EMHFWV 3URFHVVLQJ .HUQHO 2EMHFWV $VVRFLDWLRQEDVHG $FFHVV 9DOXHEDVHG $FFHVV .HUQHO 2EMHFW 0DQLSXODWLRQ 2SHUDWRUV $OJRULWKPV IRU 3URFHVVLQJ .HUQHO 2EMHFW 0DQLSXODWLRQ 2SHUn DWRUV ,OO ,PSOHPHQWDWLRQ RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP ,OO 6\VWHP DQG 0RGXOH &RQILJXUDWLRQ ,OO ,QWHUIDFH &ODVVHV &ODVV 6\VWHP 6\VWHP ([WHQVLELOLW\ $ *5$3+%$6(' $3352$&+ 72 48(5< $1' 58/( 352&(66,1* 5DWLRQDOH IRU D *UDSKEDVHG $SSURDFK 7KH &ORVXUH 3URSHUW\ 3DWWHUQEDVHG 4XHU\ )RUPXODWLRQ 8VLQJ *UDSKV DV D %DVLV 7KH 4XHU\ /DQJXDJH DQG $OJHEUD 4XHU\ /DQJXDJH $VVRFLDWLRQ $OJHEUD 5HSUHVHQWDWLRQ 6FKHPHV IRU D 6XEGDWDEDVH $GMDFHQF\ 0DWUL[ YV /LQNHG /LVW $ 7KUHH'LPHQVLRQDO 0DWUL[ 6WUXFWXUH $Q 2SWLPL]HG 'DWD 6WUXFWXUH 3URFHVVLQJ 6HWV RI *UDSKV $ &ODVV ,QGH[ IRU 6HWV RI ,QVWDQFH *UDSKV YLL

PAGE 8

3URFHVVLQJ $OJHEUDLF 4XHU\ 2SHUDWRUV $OJRULWKPV IRU $OJHEUDLF 4XHU\ 2SHUDWRUV 3URFHVVLQJ 4XHU\ ([HFXWLRQ 3ODQV ([WHQGLQJ WKH *UDSKEDVHG $SSURDFK WR 5XOH 3URFHVVLQJ 5XOH 7UHHV 'HULYLQJ 1HZ $VVRFLDWLRQV ,PSOHPHQWDWLRQ RI 4XHU\ 3URFHVVRU 6\VWHP DQG 0RGXOH &RQILJXUDWLRQ &ODVV 6\VWHP 86,1* 58/(6 72 $&+,(9( 02'(/ (;7(16,%,/,7< 7KH 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rf 6SHFLILFDWLRQ DQG 3URFHVVLQJ RI 5XOHV 5XOH 7\SHV 5XOH 6WRUDJH DQG %LQGLQJ 6WUDWHJLHV 5HDOL]LQJ $VVRFLDWLRQ ([WHQVLELOLW\ 6SHFLI\LQJ 3DUDPHWHUL]HG 5XOHV ([WHQGLQJ WKH 0HWDFODVV 6\VWHP 6800$5< $1' )8785( 5(6($5&+ 6XPPDU\ )XWXUH :RUN $ ',&7,21$5< $&&(66 )81&7,216 % $/*25,7+06 )25 .(51(/ 2%-(&7 23(5$7256 %O &UHDWH % ,QVHUW % ,QVHUW,QVWDQFH % ,QVHUW2EMHFW % 8SGDWH % 8SGDWH,QVWDQFH % 8SGDWHB2EMHFW % $VVRFLDWH % 'LVVRFLDWH % 'HOHWH % 'HOHWH,QVWDQFH % 'HOHWH2EMHFW % 'HVWUR\B2EMHFW % 5HWULHYH % 5HWULHYH % 6HOHFW % 6WDU % 1RQ6WDU & $/*25,7+06 )25 48(5< 352&(66,1* &O $VVRFLDWH æf & 1RQ$VVRFLDWHOf & 8QLRQf YLLL

PAGE 9

& ,QWHUVHFWmf 5()(5(1&(6 %,2*5$3+,&$/ 6.(7&+ ,;

PAGE 10

$EVWUDFW RI 'LVVHUWDWLRQ 3UHVHQWHG WR WKH *UDGXDWH 6FKRRO RI WKH 8QLYHUVLW\ RI )ORULGD LQ 3DUWLDO )XOILOOPHQW RI WKH 5HTXLUHPHQWV IRU WKH 'HJUHH RI 'RFWRU RI 3KLORVRSK\ $1 (;7(16,%/( '$7$ 02'(/ $1' (;7(16,%/( 6<67(0 $5&+,7(&785( )25 %8,/',1* $'9$1&(' .12:/('*( %$6( 0$1$*(0(17 6<67(06 %\ 5DKLP 0RKDPHG
PAGE 11

ZKLFK D[H H[SUHVVLEOH E\ UXOHV DQG PHWKRGV 'DWD PRGHO H[WHQVLRQV DUH UHDOL]HG E\ XVLQJ D QRYHO WHFKQLTXH FDOOHG PRGHO UHIOH[LYLW\ ,Q PRGHO UHIOH[LYLW\ WKH GDWD PRGHO ;.20f LV XVHG WR UHIOH[LYHO\ PRGHO LWVHOI UHVXOWLQJ LQ D f¯PRGHO RI WKH GDWD PRGHOf° ([WHQVLRQV D[H DFKLHYHG E\ PRGLI\LQJ RU H[WHQGLQJ WKLV f¯PRGHO RI WKH PRGHOf° XVLQJ WKH VWUXFWXUDO DQG EHKDYLRUDO DEVWUDFWLRQV SURYLGHG E\ WKH GDWD PRGHO ,Q SDUWLFXODU ZH XVH NQRZOHGJH UXOHV DV D SRZHUIXO DQG GHFODUDWLYH PHDQV RI VSHFLI\LQJ GDWD PRGHO H[WHQVLRQV 7KH H[WHQVLEOH V\VWHP DUFKLWHFWXUH LV UHDOL]HG E\ XVLQJ DQ RSHQ PRGXODU DQG OD\HUHG IUDPHZRUN FRXSOHG ZLWK D UHIOH[LYH DSSURDFK WR V\VWHP GHVLJQ DQG LPSOHn PHQWDWLRQ $ PLGGOHRXW DSSURDFK LV XVHG LQ WKH OD\HUHG DUFKLWHFWXUH ZKHUH WKH GDWD PRGHO ;.20f VHUYHV DV D EDVLV IRU GHYHORSLQJ DQ LQWHUPHGLDWH OHYHO RI DEVWUDFWLRQ 7KH DUFKLWHFWXUH FDQ WKHQ EH Df XSZDUGO\ H[WHQGHG WR VXSSRUW DSSURSULDWH KLJK OHYHO HQGXVHU GDWD PRGHOLQJ FRQVWUXFWV IRU GLYHUVH DSSOLFDWLRQ GRPDLQV DQG Ef GRZQZDUGO\ H[WHQGHG WR GLIIHUHQW SK\VLFDO GDWD RUJDQL]DWLRQV DFFHVV SDWKV SURn FHVVLQJ VWUDWHJLHV DQG VWRUDJH VXEV\VWHPV 7KH REMHFWRULHQWHG SDUDGLJP LV XVHG WR PRGHO IXQFWLRQDOO\ GLVWLQFW V\VWHP FRPSRQHQWV LQ YDULRXV OD\HUV UHVXOWLQJ LQ D f¯PRGHO RI WKH V\VWHPf° )XQFWLRQDO H[WHQVLRQV DUH WKHQ FDUULHG RXW E\ DSSURSULDWH PRGLILFDWLRQV WR WKH VXEVFKHPD FRUUHVSRQGLQJ WR VSHFLILF IXQFWLRQDO PRGXOHV 7R LOOXVWUDWH WKH H[WHQVLEOH DSSURDFK WR GDWD PRGHOLQJ DQG V\VWHP DUFKLWHFWXUH VHYHUDO PRGHO DQG V\VWHP FRPSRQHQWV LQFOXGLQJ D NHUQHO REMHFW PDQDJHU D GDWD GLFWLRQDU\ PRGXOH DQG D TXHU\ SURFHVVRU KDYH EHHQ LPSOHPHQWHG 7KH NHUQHO REMHFW PDQDJHU FRUUHVSRQGV WR DQ LPSOHPHQWDWLRQ RI WKH GDWD PRGHO ;.20f 7KH GDWD GLFWLRQDU\ PRGXOH PDQDJHV WKH PHWDGDWD RI WKH PRGHO DQG WKH V\VWHP 7KH TXHU\ SURFHVVRU XVHV D SDWWHUQEDVHG DSSURDFK IRU IRUPXODWLQJ TXHULHV $ QRYHO JUDSK EDVHG WHFKQLTXH XVLQJ DQ DGMDFHQF\PDWUL[ GDWD VWUXFWXUH IRU SURFHVVLQJ VXFK TXHULHV LV DOVR GHVFULEHG [L

PAGE 12

&+$37(5 ,1752'8&7,21 ,Q UHFHQW \HDUV DQ LQFUHDVLQJ QXPEHU RI FRPSOH[ DQG DGYDQFHG DSSOLFDWLRQ GRn PDLQV VXFK DV &RPSXWHU ,QWHJUDWHG 0DQXIDFWXULQJ &,0f 9/6, 'HVLJQ &RPSXWHU $LGHG 6RIWZDUH (QJLQHHULQJ &$6(f DQG (QJLQHHULQJ 'HVLJQ KDYH EHHQ DGGUHVVHG LQ WKH FRQWH[W RI GDWDEDVH WHFKQRORJ\ ([LVWLQJ 'DWDEDVH 0DQDJHPHQW 6\VWHPV '%06Vf VXFK DV UHODWLRQDO QHWZRUN DQG KLHUDUFKLFDO KDYH EHHQ SULPDULO\ GHVLJQHG IRU XVH LQ WUDGLWLRQDO EXVLQHVVRULHQWHG DSSOLFDWLRQV DQG KDYH EHHQ IRXQG WR EH LQn DGHTXDWH LQ VXSSRUWLQJ WKH GLYHUVH DQG GHPDQGLQJ UHTXLUHPHQWV RI WKHVH HPHUJLQJ QRQWUDGLWLRQDO DSSOLFDWLRQ GRPDLQV 7R VXSSRUW WKH QHHGV RI VXFK GLYHUVH DQG FRPn SOH[ DSSOLFDWLRQ GRPDLQV WKH UHVHDUFK SUHVHQWHG LQ WKLV GLVVHUWDWLRQ DGGUHVVHV PDQ\ DVSHFWV SHUWDLQLQJ WR D IUDPHZRUN DQG DUFKLWHFWXUH IRU GHYHORSLQJ QH[WJHQHUDWLRQ .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPV .%06Vf $ .%06 LV D V\VWHP ZKLFK SURn YLGHV DOO WKH IXQFWLRQDOLW\ RI D '%06 DQG DOVR LQFRUSRUDWHV DGGLWLRQDO IDFLOLWLHV IRU NQRZOHGJH PDQDJHPHQW 6LQFH WKH FDSDELOLWLHV RI D .%06 HQFRPSDVV WKRVH RI D '%06 ZH ZLOO LQ JHQHUDO XVH WKH WHUP .%06 LQ WKH EURDGHU VHQVH WR UHIHU WR ERWK .%06V DQG '%06V 7R LGHQWLI\ WKH UHTXLUHPHQWV WKDW SHUWDLQ WR GHYHORSLQJ QH[WJHQHUDWLRQ .%06V ZH DQDO\]H VXFK UHTXLUHPHQWV IURP WZR DVSHFWV ILUVW WKH GDWD PRGHO DVSHFW ZKLFK GHDOV ZLWK LGHQWLI\LQJ DQ DSSURSULDWH GDWD PRGHO IRU VXSSRUWLQJ DGYDQFHG DSSOLFDn WLRQ GRPDLQV DQG VHFRQG WKH V\VWHP DUFKLWHFWXUH DVSHFW ZKLFK GHDOV ZLWK GHILQLQJ D VXLWDEOH V\VWHP DUFKLWHFWXUH IRU UHDOL]LQJ D V\VWHP EDVHG RQ WKH GDWD PRGHO 7R DQDO\]H WKH GDWD PRGHO DVSHFW ZH UHYLHZ VRPH LPSRUWDQW UHPDUNV PDGH E\ 'LWWULFK >',7@ RQ WKH QRWLRQ RI D VHPDQWLF JDS WKDW RFFXUV ZKHQ DQ DSSOLFDWLRQ LV

PAGE 13

PDSSHG WR D FRUUHVSRQGLQJ GDWDEDVH $ GDWDEDVH ZKLFK FRUUHVSRQGV WR D UHDOZRUOG DSSOLFDWLRQ FDSWXUHV VRPH VSHFLILF VHPDQWLFV RI WKH DSSOLFDWLRQ DV DFFXUDWHO\ DQG FRPSOHWHO\ DV SRVVLEOH 7KH WHUP PLQLZRUOG RU 8QLYHUVH RI 'LVFRXUVH LV XVHG WR UHIHU WR WKH UHDOZRUOG FRUUHVSRQGLQJ WR WKH DSSOLFDWLRQ $V 'LWWULFK SRLQWV RXW WZR FODVVHV RI VHPDQWLFV FDQ EH GLVWLQJXLVKHG 7KH ILUVW FODVV RI VHPDQWLFV ZKLFK ZH VKDOO GHQRWH E\ 6 LV WKH VHPDQWLFV RI WKH PLQLZRUOG LWVHOI 7KDW LV WKH VHPDQWLFV RI WKH DSSOLFDWLRQ LQ WKH UHDOZRUOG 7KH VHFRQG FODVV RI VHPDQWLFV ZKLFK ZH VKDOO GHQRWH E\ 6 UHSUHVHQWV WKH VHPDQWLFV RI WKH PLQLZRUOG DV FDSWXUHG LQ WKH FRUUHVSRQGLQJ GDWDEDVH 7KDW LV WKH VHPDQWLFV RI WKH DSSOLFDWLRQ DV FDSWXUHG LQ WKH GDWDEDVH ,Q RUGHU WR FDSWXUH RU H[SUHVV WKH PLQLZRUOG VHPDQWLFV D PHFKDQLVP IRU DEn VWUDFWLRQ DQG UHSUHVHQWDWLRQ LV QHHGHG $ GDWD PRGHO UHSUHVHQWV VXFK DQ DEVWUDFWLRQ DQG UHSUHVHQWDWLRQ PHFKDQLVP 7KXV 6 GHSHQGV RQ WKH GDWD PRGHO XVHG WR FDSWXUH WKH VHPDQWLFV RI WKH DSSOLFDWLRQ 8VXDOO\ 6 6 VLQFH WKH LPSHUIHFW QDWXUH RI GDWD PRGHOLQJ FRQVWUXFWV LPSOLHV WKDW DOO WKH UHTXLUHG VHPDQWLFV RI D PLQLZRUOG FDQn QRW EH SUHFLVHO\ DEVWUDFWHG DQG UHSUHVHQWHG LQ WKH GDWDEDVH 7KXV D VHPDQWLF JDS 6 f§ 6f DOZD\V H[LVWV GXH WR WKH GLIIHUHQFH EHWZHHQ WKHVH WZR FODVVHV RI VHPDQWLFV 7KH VHPDQWLFV QRW FDSWXUHG E\ D GDWD PRGHO WKDW LV 6 f§ 6f PXVW EH SURYLGHG E\ DQ DSSOLFDWLRQ SURJUDP DQGRU E\ DQ LPSOLFLW LQWHUSUHWDWLRQ RQ WKH SDUW RI HQGXVHUV WKDW VHPDQWLFV 6 LPSO\ VHPDQWLFV 6 $V DSSOLFDWLRQ GRPDLQV EHFRPH LQFUHDVLQJO\ FRPSOH[ WKH VHPDQWLF JDS ZLGHQV DQG FRPSOLFDWHG DSSOLFDWLRQ SURJUDPV DUH QHHGHG WR FDSWXUH WKRVH VHPDQWLFV WKDW WKH GDWD PRGHO LV XQDEOH WR FDSWXUH &OHDUO\ WKH VHPDQWLF JDS FDQQRW EH WRWDOO\ HOLPLQDWHG VLQFH WKLV ZRXOG UHTXLUH GDWD PRGHOV WR EH SHUIHFW ,Q YLHZ RI WKLV DQ LPSRUWDQW LVVXH LV WR GHILQH D VXLWDEOH IUDPHZRUN IRU GDWD PRGHOLQJ WKDW LV D GDWD PRGHOf IRU VXSSRUWLQJ DGYDQFHG DQG FRPSOH[ DSSOLFDWLRQ GRPDLQV VXFK WKDW WKH VHPDQWLF JDS LV PLQLPL]HG 7R DGGUHVV WKLV LVVXH ZH HQXPHUDWH WZR NH\ IDFWRUV WKDW FRQWULEXWH WRZDUGV DQ LQFUHDVHG VHPDQWLF JDS ZKHQ XVLQJ H[LVWLQJ GDWD PRGHOV )LUVW WKH GDWD PRGHO

PAGE 14

PD\ EH VHPDQWLFDOO\ LQDGHTXDWH 7KDW LV WKH GDWD PRGHOLQJ FRQVWUXFWV PD\ QRW EH VHPDQWLFDOO\ ULFK HQRXJK WR FDSWXUH WKH VHPDQWLFV RI YDULRXV DSSOLFDWLRQ GRPDLQV 6HFRQG WKH GDWD PRGHO PD\ EH IL[HG 7KDW LV D JLYHQ DSSOLFDWLRQ FDQ RQO\ EH PRGHOHG XVLQJ D IL[HG VHW RI GDWD PRGHO FRQVWUXFWV HYHQ WKRXJK GLYHUVH DSSOLFDWLRQV KDYH GLIIHUHQW QHHGV 7KHVH IDFWRUV ZKLFK KDYH FRQWULEXWHG WR WKH VHPDQWLF JDS DUH DQ LPSRUWDQW DVSHFW RI WKH SUREOHP WKDW WKLV GLVVHUWDWLRQ DGGUHVVHV DQG WHFKQLTXHV WKDW DLP WR UHGXFH WKH VHPDQWLF JDS DUH DQ LPSRUWDQW SDUW RI WKH VROXWLRQ WKDW ZH SURSRVH $V GLVFXVVHG EHORZ WKHVH IDFWRUV KDYH LQIOXHQFHG WKH GHYHORSPHQW RI GDWD PRGHOV LQ UHFHQW \HD[V 7UDGLWLRQDOO\ GDWD PRGHOV VXFK DV UHODWLRQDO KLHUDUFKLFDO DQG QHWZRUN ZHUH SULPDULO\ GHVLJQHG IRU XVH LQ EXVLQHVVRULHQWHG DSSOLFDWLRQV :KHQ XVHG LQ PRUH FRPSOH[ DQG QRQWUDGLWLRQDO DSSOLFDWLRQ GRPDLQV VXFK GDWD PRGHOV ZHUH IRXQG WR EH VHPDQWLFDOO\ LQDGHTXDWH 7KLV UHVXOWHG LQ WKH GHYHORSPHQW RI HDUO\ VHPDQWLF GDWD PRGHOV VXFK DV WKH %LQDU\ 5HODWLRQVKLS 0RGHO >$%5@ $JJUHJDWLRQ DQG *HQHUn DOL]DWLRQ GDWD PRGHOLQJ FRQVWUXFWV >60,@ WKH (QWLW\5HODWLRQVKLS (5f 0RGHO >&+(@ WKH 6HPDQWLF 'DWD 0RGHO 6'0f >+$0@ WKH )XQFWLRQDO 'DWD 0RGHO '$3/(;f >6+,@ DQG 6HPDQWLF $VVRFLDWLRQ 0RGHO 6$0rf >68@ ,Q FRPSDUn LVRQ ZLWK WUDGLWLRQDO PRGHOV WKHVH VHPDQWLF GDWD PRGHOV LQFRUSRUDWHG DGGLWLRQDO VHPDQWLFV LQWR WKH GDWD PRGHOLQJ FRQVWUXFWV VR DV WR UHGXFH WKH VHPDQWLF JDS 7KH HPHUJHQFH RI WKH REMHFWRULHQWHG SDUDGLJP IURP $UWLILFLDO ,QWHOOLJHQFH $,f NQRZOHGJH UHSUHVHQWDWLRQ FRQFHSWV DQG LWV LQFRUSRUDWLRQ LQWR ODQJXDJHV VXFK DV 6LPn XOD >%,5@ 6PDOOWDON >*2/@ /RRSV >%2%@ DQG &/8 >/,6@ OHG WR WKH PHUJLQJ RI VHPDQWLF GDWD PRGHOV DQG REMHFWRULHQWHG FRQFHSWV UHVXOWLQJ LQ D FODVV RI QHZ DQG DGYDQFHG GDWD PRGHOV UHIHUUHG WR DV REMHFWRULHQWHG f RU REMHFWRULHQWHG VHPDQWLF GDWD PRGHOV ,Q DGGLWLRQ WR SURYLGLQJ DGYDQFHG VWUXFWXUDO GDWD PRGHO DEn VWUDFWLRQV REMHFWRULHQWHG GDWD PRGHOV DOVR SURYLGH D VWURQJ EHKDYLRUDO DEVWUDFWLRQ FRPSRQHQW WKURXJK WKH XVH RI DEVWUDFW GDWD W\SHV DQG PHWKRGVf§D IHDWXUH DEVHQW

PAGE 15

LQ SUHYLRXV GDWD PRGHOLQJ SDUDGLJPV ([DPSOHV RI VXFK GDWD PRGHOV FDQ EH IRXQG LQ 1,$0 >9(5@ ,'(); >/@ ,)2 >$%,@ 67'0 >&23@ ,5,6 >),6@ *DOOLOHR >$/%@ 7$;,6 >0',7@ DQG 26$0r >68@ $ VXUYH\ RI VXFK GDWD PRGHOV FDQ EH IRXQG LQ +XOO DQG .LQJ >+8//@ DQG 3HFNKDP DQG 0DU\DQVNL >3(&@ $ PRUH SRZHUIXO EHKDYLRUDO DEVWUDFWLRQ QDPHO\ GHFODUDn WLYH UXOHV KDV DOVR EHHQ UHFRJQL]HG E\ DQG LQFRUSRUDWHG LQWR VRPH RI WKHVH DGYDQFHG GDWD PRGHOV >%2% %5 .(5 025 68@ +LJKOHYHO GHFODUDWLYH UXOHV HQKDQFH WKH GDWD PDQDJHPHQW FDSDELOLWLHV E\ SURYLGLQJ NQRZOHGJH PDQDJHPHQW FDSDELOLWLHVf§FDSDELOLWLHV WKDW LQFOXGH WUXWK PDLQWHQDQFH FRQVWUDLQW PDQDJHPHQW GHGXFWLRQ DQG LQIHUHQFLQJ DQG WKH DELOLW\ WR WULJJHU RU DFWLYDWH DFWLRQV XQGHU XVHU VSHFLILHG FRQGLWLRQV ,Q RUGHU WR PLQLPL]H WKH VHPDQWLF JDS REMHFWRULHQWHG GDWD PRGHOV SURYLGH D ODUJH VHW RI ULFK GDWD PRGHOLQJ FRQVWUXFWV 7KHVH LQFOXGH VSHFLDOL]HG VWUXFWXUDO FRQVWUXFWV ZKLFK HQFRGH KLJKOHYHO VWUXFWXUDO VHPDQWLFV )XUWKHUPRUH EHKDYLRUDO DEVWUDFWLRQV VXFK DV PHWKRGV DUH SURYLGHG DQG HQDEOH DSSOLFDWLRQ SURJUDPV QRUn PDOO\ XVHG IRU HQIRUFLQJ DGGLWLRQDO VHPDQWLFVf WR EH GLUHFWO\ LQFRUSRUDWHG DV SDUW RI WKH GDWDEDVH +RZHYHU WKHVH PRGHOV VXIIHU IURP WZR VKRUWFRPLQJV )LUVW WKHVH GDWD PRGHOV GR QRW DGGUHVV WKH VHFRQG IDFWRU WKDW FRQWULEXWHV WRZDUGV DQ LQFUHDVHG VHPDQWLF JDS 7KDW LV LQ VSLWH RI WKHLU DGYDQFHG GDWD PRGHOLQJ FRQVWUXFWV WKHVH PRGHOV RQO\ SURYLGH D IL[HG VHW RI GDWD PRGHOLQJ FRQVWUXFWV 6HFRQG WKH FRPELn QDWLRQ RI WKH ODUJH QXPEHU RI FRQVWUXFWV DQG WKH VHPDQWLFDOO\ ULFK QDWXUH RI WKH FRQVWUXFWV OHDG WR XQZLHOG\ DQG LQHIILFLHQW LPSOHPHQWDWLRQV RI VXFK PRGHOV &OHDUO\ D IL[HG GDWD PRGHO FDQQRW VXSSRUW D GLYHUVH UDQJH RI DSSOLFDWLRQV HYHQ LI LW SRVVHVVHV PDQ\ VHPDQWLFDOO\ ULFK FRQVWUXFWV 7KH VHPDQWLFV RI GLIIHUHQW DSn SOLFDWLRQV UHTXLUH VSHFLDOL]HG FRQVWUXFWV WKH DEVHQFH RI ZKLFK OHDGV WR WKH XVDJH RI FRPSOLFDWHG DSSOLFDWLRQ SURJUDPV IRU HQIRUFLQJ VXFK VHPDQWLFV 7KLV DQDO\VLV RI GDWD PRGHOV OHDGV XV WR FRQFOXGH WKDW DQ H[WHQVLEOH GDWD PRGHO DSSURDFK LV QHHGHG WR

PAGE 16

RYHUFRPH WKH IL[HG QDWXUH RI H[LVWLQJ GDWD PRGHOV VR WKDW PDQ\ GLYHUVH DSSOLFDWLRQ GRPDLQV PD\ EH VXSSRUWHG $Q H[WHQVLEOH GDWD PRGHO DSSURDFK DOORZV WKH VHPDQWLF JDS WR EH UHGXFHG VLQFH WKH GDWD PRGHO FDQ EH WDLORUHG WR D VSHFLILF DSSOLFDWLRQ UDWKHU WKDQ IRUFLQJ DQ DSSOLFDWLRQ WR XVH D VSHFLILF GDWD PRGHO :H QRZ DQDO\]H V\VWHP DUFKLWHFWXUH FRQVLGHUDWLRQV IRU QH[WJHQHUDWLRQ .%06V $ .%06 UHSUHVHQWV WKH LPSOHPHQWDWLRQ RU UHDOL]DWLRQ RI D VSHFLILF GDWD RU NQRZOn HGJH PRGHO ,QLWLDOO\ PDQ\ HD[O\ GDWD PRGHOV VHUYHG DV FRQFHSWXDO GDWDEDVH GHVLJQ DQG PRGHOLQJ WRROV LQ YDULRXV DSSOLFDWLRQ GRPDLQV 7KH PDWXULQJ RI WKHVH DSSOLn FDWLRQ GRPDLQV UHVXOWHG LQ DQ LQFUHDVLQJ QHHG IRU GHYHORSLQJ .%06V RU '%06V FRUUHVSRQGLQJ WR WKH YDULRXV GDWD PRGHOV VR WKDW GDWDEDVHV RU NQRZOHGJH EDVHV FRUn UHVSRQGLQJ WR WKHVH DSSOLFDWLRQV FRXOG EH UHDOL]HG 6HYHUDO DSSURDFKHV KDYH EHHQ VXJJHVWHG >$%, $*5 $/% 217 %$1D %$1E &23 '$' 0$,D ),6 6(5 6.$@ 2QH DSSURDFK LV WR EXLOG OD\HUV RI VRIWZDUH RQ WRS RI H[LVWLQJ WUDGLWLRQDO '%06V WR LPSOHPHQW WKH VHPDQWLFV RI D SDUWLFXODU GDWD PRGHO :KLOH WKLV DSSURDFK HQDEOHV WKH XVH RI H[LVWLQJ '%06V WKH ODUJH VHPDQWLF PLVPDWFK EHWZHHQ WKH VHPDQWLFV RI DGYDQFHG GDWD PRGHOV DQG WKDW RI WKH XQGHUO\LQJ GDWDEDVH HQJLQH HQWDLOV WKH GHYHOn RSPHQW RI H[WHQVLYH OD\HUV RI V\VWHP VRIWZDUH WR SHUIRUP QXPHURXV PDSSLQJV ZKLFK D[H W\SLFDOO\ FRPSOH[ FXPEHUVRPH DQG LQHIILFLHQW $Q DGGLWLRQDO GLVDGYDQWDJH RI WKLV DSSURDFK LV WKDW WKH PRQROLWKLF QDWXUH RI WUDGLWLRQDO '%06 DUFKLWHFWXUHV LV QRW FRQGXFLYH WR IXQFWLRQDO H[WHQVLRQV $ VHFRQG DSSURDFK LV WR GHYHORS D GHGLFDWHG V\VWHP IRU HDFK DGYDQFHG GDWD PRGHO DQG IRU WKH FRUUHVSRQGLQJ DSSOLFDWLRQ GRPDLQ :KLOH WKLV DSSURDFK ZRXOG HOLPLQDWH DQ\ VHPDQWLF PLVPDWFK DQG SURYLGH KLJK SHUn IRUPDQFH LW LV QRW IHDVLEOH GXH WR WKH H[FHVVLYH PRQHWDU\ FRVWV DQG GHYHORSPHQW WLPH LW ZRXOG HQWDLO 7KH WZR VROXWLRQV HQXPHUDWHG DERYH UHSUHVHQW WZR H[WUHPHV LQ WKH VROXWLRQ VSDFH RI WKH SUREOHP ,Q SXUVXLW RI D UHDVRQDEOH PLGGOH JURXQG WZR

PAGE 17

LQGHSHQGHQW DSSURDFKHV KDYH EHHQ SURSRVHG QDPHO\ WKH REMHFWRULHQWHG GDWDEDVH V\VWHP DSSURDFK DQG WKH H[WHQVLEOH GDWDEDVH V\VWHP DSSURDFK 7KH REMHFWRULHQWHG GDWDEDVH V\VWHP DSSURDFK >$*5 217 %$1D %$1E &23 '$' ',7 ),6 0$,D 6.$@ SURSRVHV WKH GHYHORSPHQW RI D VLQn JOH DQG XVXDOO\ IL[HGf '%06 D[FKLWHFWXUH EDVHG RQ D VSHFLILF REMHFWRULHQWHG GDWD PRGHO $ NH\ GLVDGYDQWDJH ZLWK WKLV DSSURDFK LV WKDW WKH V\VWHP LV IL[HG DQG QRW HDVLO\ H[WHQGDEOH 7KDW LV RQO\ D IL[HG VHW RI KLJKHU RUGHU GDWD PRGHOLQJ FRQn VWUXFWV LV VXSSRUWHG 7KLV DSSURDFK LPSOLFLWO\ DVVXPHV WKDW D VLQJOH REMHFWRULHQWHG GDWD PRGHO VXIILFHV WR VXSSRUW DOO DSSOLFDWLRQV ZLWK QRW PXFK SURYLVLRQ IRU DSSOLn FDWLRQV DQG GDWD PRGHOLQJ FRQVWUXFWV ZKRVH UHTXLUHPHQWV IDOO RXWVLGH WKH RULJLQDO PRGHO DQG V\VWHP VSHFLILFDWLRQV )XUWKHUPRUH WKH LVVXH RI GHILQLQJ D VLQJOH REMHFW RULHQWHG GDWD PRGHO LV ERWK VXEMHFWLYH DQG FRQWURYHUVLDO 8QOLNH UHODWLRQDO '%06V ZKLFK DUH DOO EDVHG RQ D FRPPRQ UHODWLRQDO GDWD PRGHO LW LV QRW SRVVLEOH WR GR WKH VDPH IRU REMHFWRULHQWHG GDWDEDVH V\VWHPV EHFDXVH QR FOHDU FRQVHQVXV H[LVWV RQ D FRPPRQ KLJKOHYHO REMHFWRULHQWHG GDWD PRGHO >$7.@ &RQVHTXHQWO\ GLIIHUHQFHV DQG LQFRPSDWLELOLWLHV PD\ H[LVW HYHQ LI WKH VDPH DSSOLFDWLRQ XWLOL]HV GLIIHUHQW REMHFW RULHQWHG GDWDEDVH V\VWHPV VLQFH HDFK V\VWHP VXSSRUWV LWV RZQ QRWLRQ RI D KLJKOHYHO REMHFW PRGHO 7KH H[WHQVLEOH GDWDEDVH V\VWHP DSSURDFK >%$7 &$5E /,1 67@ SURn SRVHV WKH GHYHORSPHQW RI DQ H[WHQVLEOH '%06 DUFKLWHFWXUH DQ DUFKLWHFWXUH ZKLFK LV GHOLEHUDWHO\ GHVLJQHG WR SURYLGH H[SOLFLW PHFKDQLVPV IRU IXQFWLRQDO H[WHQVLRQV WR WKH V\VWHP DUFKLWHFWXUH 7KLV DOORZV WKH GDWDEDVH V\VWHP WR EH FXVWRPL]HG RU WDLn ORUHG WR VXSSRUW VSHFLILF DSSOLFDWLRQ GRPDLQV ,Q 3RVWJUHV >67@ DQG 6WDUEXUVW >/,1@ H[WHQVLELOLW\ LV SURYLGHG ZLWKLQ WKH IUDPHZRUN RI D UHODWLRQDO GDWD PRGHO 7KH DSSURDFK WDNHQ E\ *HQHVLV >%$7@ LV FKDUDFWHUL]HG E\ D QHWZRUN PRGHO EDn VLV DQG XVHV D VWULFW EXLOGLQJEORFNV IUDPHZRUN IRU H[WHQVLELOLW\ ([RGXV >&$5E@ FRXSOHV D IL[HG SRZHUIXO REMHFWEDVHG VWRUDJH PDQDJHU ZLWK D VHW RI WRROV WR DFKLHYH

PAGE 18

H[WHQVLELOLW\ 7KHVH GLIIHUHQW H[WHQVLEOH V\VWHPV D[H FKD[DFWHUL]HG E\ WKH GLIIHUHQW PRGHOV RQ ZKLFK WKH\ DUH EDVHG DQG WKH DSSURDFKHV WDNHQ WR DFKLHYH H[WHQVLELOLW\ $ VKRUWFRPLQJ LQ PDQ\ RI WKHVH V\VWHPV LV WKDW WKRXJK WKH V\VWHP DUFKLWHFWXUH LV GHVLJQHG WR EH H[WHQVLEOH WKH PRGHO RQ ZKLFK WKH V\VWHP LV EDVHG LV IL[HG DQG QRW H[WHQVLEOH 7KXV V\VWHP H[WHQVLELOLW\ LV XVXDOO\ SURYLGHG RQO\ ZLWKLQ WKH IUDPHZRUN RI D IL[HG GDWD PRGHO %DVHG RQ WKH DQDO\VLV RI GDWD PRGHOV DQG V\VWHP DUFKLWHFWXUHV SUHVHQWHG DERYH ZH FRQFOXGH WKDW WKH FRPELQDWLRQ RI D VLQJOH IL[HGf GDWD PRGHO DQG D IL[HG V\VWHP D[FKLWHFWXUH LV FOHDUO\ XQDEOH WR VXSSRUW WKH QHHGV RI DGYDQFHG DSSOLFDWLRQ GRPDLQV ,Q WKLV GLVVHUWDWLRQ ZH SUHVHQW RXU DSSURDFK WR WKH GHYHORSPHQW RI QH[WJHQHUDWLRQ .%06V IRU VXSSRUWLQJ DGYDQFHG DSSOLFDWLRQ GRPDLQV :H SURSRVH WKH XVH RI DQ H[WHQVLEOH NHUQHO REMHFW PRGHO DV D EDVLV FRXSOHG ZLWK DQ RSHQ OD\HUHG DQG PRGn XODU IUDPHZRUN IRU DFKLHYLQJ V\VWHP H[WHQVLELOLW\ 2XU DSSURDFK EXLOGV XSRQ DQ LQWHJUDWLRQ RI WKH REMHFWRULHQWHG '%06 DSSURDFK DQG WKH H[WHQVLEOH V\VWHP DSn SURDFK WKHUHE\ RYHUFRPLQJ WKH OLPLWDWLRQV RI HDFK RI WKH LQGLYLGXDO DSSURDFKHV ,W LV EDVHG RQ WKH FRQFHSW RI D JHQHUDOL]HG H[WHQVLEOH DQG REMHFWRULHQWHG DUFKLWHFWXUH IRU .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPV ,Q FRPSDULVRQ ZLWK WKH DSSURDFKHV GHn VFULEHG SUHYLRXVO\ RXU DSSURDFK DLPV WR SURYLGH D XQLILHG DQG LQWHJUDWHG IUDPHZRUN IRU H[WHQGLQJ ERWK WKH GDWD PRGHO DQG WKH XQGHUO\LQJ V\VWHP DUFKLWHFWXUH 8QOLNH REMHFWRULHQWHG '%06V ZKLFK DUH EDVHG RQ D IL[HG VHW RI KLJKOHYHO REMHFW RULHQWHG GDWD PRGHOLQJ FRQVWUXFWV RXU DSSURDFK EHJLQV ZLWK D VHW RI EDVLF DQG JHQHUDOL]HG GDWD PRGHOLQJ FRQVWUXFWV FRPPRQ WR WKH UDQJH RI DGYDQFHG VHPDQWLF DQG REMHFWRULHQWHG GDWD PRGHOV &ROOHFWLYHO\ WKLV VHW RI EDVLF GDWD PRGHOLQJ FRQVWUXFWV DUH XVHG WR GHILQH DQ H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f ZKLFK VHUYHV DV D EDVLV IRU RXU DSSURDFK DQG LV XVHG WR UHDOL]H D NHUQHO V\VWHP %\ PDNLQJ WKH GDWD PRGHO H[WHQVLEOH WKH VHPDQWLF JDS FDXVHG E\ WKH IL[HG QDWXUH RI GDWD PRGHOV LV DOOHYLDWHG

PAGE 19

7KH GDWD PRGHO DOVR LQFRUSRUDWHV WKH VSHFLILFDWLRQ RI NQRZOHGJH UXOHV VLQFH DQ LPSRUWDQW UHTXLUHPHQW IRU QH[WJHQHUDWLRQ .%06 DUFKLWHFWXUHV LV DQ LQWHJUDWHG DSn SURDFK WR NQRZOHGJH PDQDJHPHQW >5$6 5$6 68@ &RQVHTXHQWO\ UXOH VSHFn LILFDWLRQ DQG SURFHVVLQJ DUH LQWHJUDWHG LQWR WKH DUFKLWHFWXUH RI WKH V\VWHP DW ERWK UHSUHVHQWDWLRQDO DQG IXQFWLRQDO OHYHOV 5XOHV DUH DYDLODEOH IRU XVH E\ HQGXVHU GDWD PRGHOV DQG DSSOLFDWLRQ GRPDLQV EXW PRUH LPSRUWDQWO\ DUH UHIOH[LYHO\ XVHG LQ WKH V\VWHP DUFKLWHFWXUH DV D EDVLF PHFKDQLVP IRU H[WHQGLQJ WKH VHPDQWLFV RI WKH GDWD PRGHO 7R DFKLHYH V\VWHP H[WHQVLELOLW\ ZH SURSRVH DQ RSHQ OD\HUHG DQG PRGXODU IUDPHn ZRUN FRXSOHG ZLWK D UHIOH[LYH DSSURDFK WR V\VWHP LPSOHPHQWDWLRQ $Q RS«Q DQG PRGXODU DUFKLWHFWXUH LV UHDOL]HG E\ XVLQJ WKH REMHFWRULHQWHG SDUDGLJP WR PRGHO IXQFWLRQDOO\ GLVWLQFW V\VWHP FRPSRQHQWV LQ YDULRXV OD\HUV )XQFWLRQDO H[WHQVLRQV WR WKH V\VWHP DUFKLWHFWXUH DUH FDUULHG RXW E\ DSSURSULDWH PRGLILFDWLRQV WR WKH VFKHPDWD ZKLFK FRUUHVSRQG WR VSHFLILF IXQFWLRQDO PRGXOHV ,Q GHVLJQLQJ WKH OD\HUHG IUDPHZRUN D PLGGOHRXW DSSURDFK LV XVHG LQ ZKLFK ;.20 VHUYHV DV WKH EDVLV IRU D ZHOOGHILQHG LQWHUPHGLDWH OHYHO RI DEVWUDFWLRQ 7KLV PRGHO ;.20f FDQ WKHQ EH DfXSZDUGO\ H[n WHQGHG WR VXSSRUW DSSURSULDWH KLJKOHYHO HQGXVHU GDWD PRGHO FRQVWUXFWV XVHIXO IRU DGYDQFHG DSSOLFDWLRQ GRPDLQV DQG EfGRZQZDUGO\ H[WHQGHG WR GLIIHUHQW DQG SRVVLEO\ DOWHUQDWLYH SK\VLFDO GDWD RUJDQL]DWLRQV DFFHVV SDWKV DQG VWRUDJH VXEV\VWHPV 7R GHPRQVWUDWH WKH IHDVLELOLW\ RI WKH FRQFHSW RI DQ H[WHQVLEOH GDWD PRGHO FRXSOHG ZLWK DQ H[WHQVLEOH V\VWHP DUFKLWHFWXUH WKLV UHVHDUFK DOVR LQYHVWLJDWHV LPSOHPHQWDn WLRQ WHFKQLTXHV IRU D NHUQHO REMHFW PDQDJHU D GDWD GLFWLRQDU\ PRGXOH IRU PDQDJLQJ PHWDLQIRUPDWLRQ DQG D TXHU\UXOH SURFHVVRU >/$: /8 <$6@ 4XHU\UXOH SURFHVVLQJ LV HPSKDVL]HG VLQFH WKH DELOLW\ WR VSHFLI\ DQG SURFHVV KLJKOHYHO GHFODUn DWLYH TXHULHV LV DQ LPSRUWDQW IDFWRU ZKLFK KDV FRQWULEXWHG JUHDWO\ WR WKH VXFFHVV

PAGE 20

RI GDWDEDVH V\VWHPV ,Q YLHZ RI WKLV ZH LQYHVWLJDWH D JHQHUDOL]HG JUDSKEDVHG DSn SURDFK WR TXHU\ SURFHVVLQJ IRU REMHFWRULHQWHG GDWDEDVHV XVLQJ DGMDFHQF\ PDWUL[ GDWD VWUXFWXUHV 7KLV GLVVHUWDWLRQ LV RUJDQL]HG DV IROORZV ,Q &KDSWHU D VXUYH\ RI UHOHYDQW OLWHUDWXUH SHUWDLQLQJ WR VHYHUDO DUHDV WKDW KDYH D EHDULQJ RQ WKLV UHVHDUFK LV SUHn VHQWHG $PRQJ DUHDV VXUYH\HG DUH '%06 DUFKLWHFWXUHV REMHFW PDQDJHPHQW WHFKn QLTXHV WHFKQLTXHV IRU TXHU\ SURFHVVLQJ LQ REMHFWRULHQWHG GDWDEDVHV PHWKRGRORJLHV IRU VRIWZDUH GHYHORSPHQW DQG PHWDOHYHO DQG UHIOH[LYH DUFKLWHFWXUHV &KDSWHU SUHVHQWV DQ RYHUYLHZ RI WKH DSSURDFK WKDW WKLV GLVVHUWDWLRQ SURSRVHV IRU GHYHORSLQJ DGYDQFHG .%06V ,Q &KDSWHU WKH H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f KDYLQJ WKH SURSHUWLHV RI JHQHUDOLW\ H[WHQVLELOLW\ DQG UHIOH[LYLW\ LV SUHVHQWHG 7KH PDQDJHPHQW RI PHWDLQIRUPDWLRQ XVLQJ D UHIOH[LYH PRGHO RI ;.20 DV D EDVLV LV WKH IRFXV RI &KDSWHU ,Q &KDSWHU ZH VWXG\ WKH PDQDJHPHQW RI NHUQHO REMHFWV REMHFWV ZKLFK DUH GHILQHG XVLQJ ;.20 DV D PRGHO RI DEVWUDFWLRQ &RQFHSWXDO DQG LPSOHPHQWDWLRQ LVVXHV UHODWLQJ WR TXHU\ DQG UXOH SURFHVVLQJ LQ RXU .%06 DUFKLWHFn WXUH DUH DGGUHVVHG LQ &KDSWHU &KDSWHU SUHVHQWV IXUWKHU GHWDLOV RQ DFKLHYLQJ GDWD PRGHO H[WHQVLRQV LQ WKH OLJKW RI WKH ZRUN SUHVHQWHG LQ WKH SUHYLRXV FKDSWHUV 7R GHPRQVWUDWH WKH SURSRVHG QRWLRQV RI H[WHQVLELOLW\ WKH 2EMHFWRULHQWHG 6HPDQn WLF $VVRFLDWLRQ 0RGHO 26$0rf >68@ LV XVHG DV DQ H[DPSOH HQGXVHU WDUJHW GDWD PRGHO )LQDOO\ &KDSWHU VXPPDUL]HV WKH UHVHDUFK SUHVHQWHG LQ WKLV GLVVHUWDWLRQ SUHVHQWV D FRQFOXVLRQ RQ WKH UHVXOWV DFKLHYHG DQG VXJJHVWV VRPH DUHDV IRU IXWXUH UHVHDUFK

PAGE 21

&+$37(5 $ 6859(< 2) 5(/$7(' :25. ,Q WKLV FKDSWHU ZH SUHVHQW D VXUYH\ RI VHYHUDO WRSLFV ZKLFK DUH UHODWHG WR WKH UHn VHDUFK SUHVHQWHG LQ WKLV GLVVHUWDWLRQ 7KH WRSLFV VXUYH\HG LQFOXGH GLIIHUHQW FDWHJRULHV RI .%06 DQG '%06 DUFKLWHFWXUHV REMHFW PDQDJHPHQW WHFKQLTXHV TXHU\ SURFHVVLQJ WHFKQLTXHV IRU REMHFWRULHQWHG GDWDEDVHV PHWKRGRORJLHV IRU VRIWZDUH GHYHORSPHQW DQG PHWDOHYHO DQG UHIOH[LYH DUFKLWHFWXUHV .%06 DQG '%06 $UFKLWHFWXUHV ,Q WKLV VHFWLRQ ZH EHJLQ ZLWK D UHWURVSHFWLYH RQ HDUO\ GDWDEDVH V\VWHP DUFKLWHFn WXUHV ZKLFK D[H WKH IRUHUXQQHUV RI FXUUHQW V\VWHP DUFKLWHFWXUHV 7KHQ ZH IRFXV RQ FXUUHQW DSSURDFKHV IRU VXSSRUWLQJ DGYDQFHG DSSOLFDWLRQ GRPDLQV REMHFWRULHQWHG GDWDEDVH V\VWHP DUFKLWHFWXUHV DQG H[WHQVLEOH GDWDEDVH V\VWHP DUFKLWHFWXUHV 7UDGLWLRQDO '%06 $UFKLWHFWXUHV ,Q WKH HDUO\ VWDJHV RI GDWDEDVH V\VWHP GHYHORSPHQW V\VWHP DUFKLWHFWXUHV ZHUH QRW ZHOOGHILQHG DQG GDWDEDVH VRIWZDUH FRQVLVWHG PRVWO\ RI V\VWHP FRGH GHYHORSHG E\ V\VWHP SURJUDPPHUV :LWK WKH DGYHQW RI WKH UHODWLRQDO GDWD PRGHO >&2'@ WZR ZHOOGHVLJQHG GDWDn EDVH V\VWHP DUFKLWHFWXUHV HPHUJHG QDPHO\ ,1*5(6 >67@ DQG 6\VWHP 5 >$67@ ,Q SDUWLFXODU 6\VWHP 5 SURSRVHG D WZROHYHO DUFKLWHFWXUH FRQVLVWLQJ RI D 5HODWLRQDO 'DWD 6\VWHP 5'6f DQG D 5HODWLRQDO 6WRUDJH 6\VWHP 566f KDYLQJ ZHOOGHILQHG LQWHUIDFHV FDOOHG WKH 5HODWLRQDO 'DWD ,QWHUIDFH 5',f DQG WKH 5HODWLRQDO 6WRUDJH ,Qn WHUIDFH 56,f UHVSHFWLYHO\ 7KH VHSDUDWLRQ RI ORJLFDO DQG SK\VLFDO GDWDEDVH DVSHFWV

PAGE 22

LQ GLIIHUHQW OD\HUV FRQWULEXWHG WR DQ DUFKLWHFWXUH ZKLFK KDV SURGXFHG ZLGHO\ DFFHSWHG UHVXOWV LQ WKH GRPDLQ RI UHODWLRQDO GDWDEDVH V\VWHP DUFKLWHFWXUHV 2EMHFWRULHQWHG '%06 $UFKLWHFWXUHV $V GHVFULEHG LQ &KDSWHU WKH VHPDQWLF LQDGHTXDFLHV RI WUDGLWLRQDO GDWD PRGHOV DQG WKHLU FRUUHVSRQGLQJ V\VWHPV HJ UHODWLRQDOf OHG WR WKH GHYHORSPHQW RI REMHFW RULHQWHG GDWD PRGHOV DQG FRUUHVSRQGLQJ V\VWHP DUFKLWHFWXUHV 2EMHFWRULHQWHG '%06V DLP WR SURYLGH D VLQJOH V\VWHP KDYLQJ SRZHUIXO FDSDELOn LWLHV WR KDQGOH WKH UHTXLUHPHQWV RI DGYDQFHG DSSOLFDWLRQ GRPDLQV ,Q SDUWLFXODU WKH V\VWHP LV EDVHG RQ D VLQJOH KLJKOHYHO REMHFWRULHQWHG GDWD PRGHO 7KLV DSSURDFK XVXDOO\ UHTXLUHV DQ DSSOLFDWLRQ WR XVH D VSHFLILF IL[HGf GDWD PRGHO DQG PDNHV QR DOORZDQFH IRU DSSOLFDWLRQ GRPDLQV ZKRVH UHTXLUHPHQWV IDOO RXWVLGH WKH RULJLQDO VSHFn LILFDWLRQ RI WKH GDWD PRGHO DQG XQGHUO\LQJ V\VWHP DUFKLWHFWXUH :H QRZ EULHIO\ GHVFULEH VRPH RI WKH PRUH SURPLQHQW V\VWHPV XVLQJ WZR GLIIHUHQW FDWHJRULHV WR FODVn VLI\ VXFK V\VWHPV ,Q WKH ILUVW FDWHJRU\ RI REMHFWRULHQWHG V\VWHPV V\VWHPV VXFK DV *HPVWRQH >0$,D@ 9EDVH >217@ DQG 21726 >217@ KDYH EHHQ GHYHORSHG DV REMHFWRULHQWHG HQn YLURQPHQWV ZKLFK SURYLGH D VSHFLILF GDWD PRGHO WRJHWKHU ZLWK SHUVLVWHQFH DQG D GDWDEDVH SURJUDPPLQJ ODQJXDJH IRU GHILQLQJ DQG PDQLSXODWLQJ REMHFWV *HPVWRQH LV EDVHG RQ WKH 6PDOO7DON 'DWD 0RGHO 67'0f >&23@ ,W LQWURGXFHV WKH QRWLRQ RI SHUVLVWHQFH REMHFWV LQWR WKH 6PDOOWDON 'DWD 0RGHO E\ SURYLGLQJ D ODUJH H[WHQGHG YLUn WXDO PHPRU\ WRJHWKHU ZLWK D 6PDOOWDONOLNH GDWDEDVH ODQJXDJH FDOOHG 23$/ >6(5@ IRU PDQLSXODWLQJ REMHFWV 9EDVH SURYLGHV LWV RZQ REMHFWRULHQWHG GDWD PRGHO WRn JHWKHU ZLWK WZR ODQJXDJHV $ 7\SH 'HILQLWLRQ /DQJXDJH 7'/f IRU GHILQLQJ XVHU GHILQHG GDWD W\SHV DQG D ODQJXDJH FDOOHG &23 IRU ZULWLQJ PHWKRGV DVVRFLDWHG ZLWK D FODVV RU W\SH 21726 WKH VXFFHVVRU WR 9EDVH LV EDVHG RQ WKH & GDWD PRGHO DQG SURYLGHV SHUVLVWHQFH WR REMHFWV LQ WKH & SURJUDPPLQJ ODQJXDJH 7KH & ODQJXDJH LV XVHG IRU GHILQLQJ W\SHV DQG DOVR DV D GDWDEDVH SURJUDPPLQJ ODQJXDJH

PAGE 23

7KH V\VWHPV LQ WKLV ILUVW FDWHJRU\ KDYH QRW EHHQ GHVLJQHG DQG GHYHORSHG DV FRPn SOHWH '%06V 5DWKHU WKHVH V\VWHPV SURYLGH DQ HQYLURQPHQW LQ ZKLFK DSSOLFDWLRQ VSHFLILF FODVVHV FDQ EH GHYHORSHG E\ DSSOLFDWLRQ SURJUDPPHUV $ OLEUDU\ RI V\VWHP SUHGHILQHG FODVVHV HJ VHWV DUUD\V EDJV HWFf LV SURYLGHG WR EXLOG XVHUGHILQHG FODVVHV 7\SLFDO GDWDEDVH IXQFWLRQDOLWLHV VXFK DV VHWRULHQWHG TXHULHV DUH XVXDOO\ QRW SURYLGHG ,Q WKH VHFRQG FDWHJRU\ REMHFWRULHQWHG GDWDEDVH V\VWHPV VXFK DV 2ULRQ >%$1D %$1E@ ,ULV >),6@ DQG >/(& /(& 9(/@ KDYH EHHQ GHVLJQHG DV PRUH FRPSOHWH GDWDEDVH V\VWHPV EDVHG RQ VSHFLILF REMHFWRULHQWHG GDWD PRGHOV 8QOLNH WKH HQYLURQPHQWRULHQWHG V\VWHPV GHVFULEHG DERYH WKHVH V\VWHPV QRW RQO\ FRPELQH D GDWD PRGHO ZLWK D SHUVLVWHQW SURJUDPPLQJ ODQJXDJH EXW DOVR LQFRUSRUDWH PDQ\ GDWDn EDVH IXQFWLRQDOLWLHV VXFK DV TXHU\LQJ VFKHPD PRGLILFDWLRQ DQG WUDQVDFWLRQV 2ULRQ LV DQ REMHFW RULHQWHG SURWRW\SH GDWDEDVH V\VWHP GHYHORSHG WR VXSSRUW DGYDQFHG DSn SOLFDWLRQ GRPDLQV 7KH PDLQ IHDWXUHV RI 2ULRQ DUH VXSSRUW IRU FRPSOH[FRPSRVLWH REMHFWV VFKHPD HYROXWLRQ DQG YHUVLRQLQJ 2ULRQ UHJDUGV VXFK IHDWXUHV DV EHLQJ NH\ UHTXLUHPHQWV IRU DGYDQFHG DSSOLFDWLRQV ,ULV LV D UHVHDUFK SURWRW\SH EHLQJ GHYHORSHG IRU H[SORULQJ QHZ GDWDEDVH IXQFWLRQDOLWLHV DQG IHDWXUHV WR VXSSRUW DGYDQFHG DSSOLFDn WLRQ GRPDLQV ,ULV XVHV WKH FRQFHSW RI DQ REMHFW PDQDJHU EXLOW RQ WRS RI D UHODWLRQDO VWRUDJH V\VWHP WR VXSSRUW PDQ\ GLIIHUHQW LQWHUIDFHV WR H[WHUQDO DSSOLFDWLRQV 0RUH UHFHQWO\ WKH 2 UHVHDUFK SURWRW\SH KDV EHHQ GHYHORSHG DV D FRPSOHWH REMHFWRULHQWHG GDWDEDVH V\VWHP IRU VXSSRUWLQJ DGYDQFHG DSSOLFDWLRQV ,W SURYLGHV WKH IXQFWLRQDOLW\ RI D '%06 SHUVLVWHQFH GLVN PDQDJHPHQW VKDULQJ DQG TXHU\ ODQJXDJHf WRJHWKHU ZLWK REMHFWRULHQWHG IHDWXUHV VXFK DV FRPSOH[ REMHFWV REMHFW LGHQWLW\ HQFDSVXODWLRQ W\SLQJ DQG LQKHULWDQFH $OO WKH DERYH DSSURDFKHV WR REMHFWRULHQWHG '%06V KDYH IRFXVVHG RQ D IL[HG LPSOHPHQWDWLRQ EDVHG RQ D VSHFLILF GDWD PRGHO $ NH\ GHVLJQ FULWHULRQ KDV EHHQ WR VXSSRUW WKH REMHFWRULHQWHG SDUDGLJP ZKHUHDV H[WHQVLELOLW\ KDV QRW EHHQ D PDMRU

PAGE 24

GHVLJQ FULWHULRQ 7KXV WKHVH V\VWHPV D[H QRW GHVLJQHG RU LQWHQGHG WR EH H[SOLFLWO\ H[WHQVLEOH 6XFK V\VWHPV GR SURYLGH D EDVLF IRUP RI H[WHQVLELOLW\ LQ WKDW WKH V\VWHPV DOORZ WKH QRWLRQ RI XVHUGHILQHG DEVWUDFW GDWD W\SHV DQG XVHU GHILQHG RSHUDWLRQV D IHDWXUH WKDW LV DWWULEXWHG WR REMHFWRULHQWHG GDWD PRGHOV +RZHYHU LQ DOO WKHVH V\VWHPV V\VWHP FRPSRQHQWV PRGXOHVf D[H QRW H[SOLFLWO\ DYDLODEOH IRU PRGLILFDWLRQ ([WHQVLEOH '%06 $UFKLWHFWXUHV 7KH QRWLRQ RI DQ H[WHQVLEOH GDWDEDVH V\VWHP DUFKLWHFWXUH KDV EHHQ GHULYHG IURP WKH DUJXPHQW WKDW D VLQJOH IL[HG V\VWHP LV XQDEOH WR VXSSRUW GLYHUVH DGYDQFHG DSn SOLFDWLRQ GRPDLQV ZKLFK KDYH YDU\LQJ UHTXLUHPHQWV 7KXV WKH IRFXV RI H[WHQVLEOH V\VWHPV LV WR SURYLGH D EDVH V\VWHP WRJHWKHU ZLWK DQ H[WHQVLELOLW\ PHFKDQLVP VXFK WKDW WKH EDVH V\VWHP FDQ EH H[WHQGHG RU UHFRQILJXUHG WR UHDOL]H D V\VWHP WKDW PHHWV WKH UHTXLUHPHQWV RI DQ DSSOLFDWLRQ GRPDLQ 7R EHWWHU DQDO\]H H[WHQVLEOH V\VWHP DUFKLWHFWXUHV ZH SURSRVH WKH IROORZLQJ FODVn VLILFDWLRQ IRU H[WHQVLEOH V\VWHPV 'DWD 0RGHO ([WHQVLELOLW\ ,Q GDWD PRGHO H[WHQVLELOLW\ WKH FRQVWUXFWV ZKLFK FRQFHSn WXDOO\ GHILQH D GDWD PRGHO DUH H[WHQVLEOH WKDW LV H[LVWLQJ FRQVWUXFWV FDQ EH PRGLILHG RU QHZ FRQVWUXFWV FDQ EH DGGHG 6\VWHP ([WHQVLELOLW\ ,Q V\VWHP H[WHQVLELOLW\ WKH DUFKLWHFWXUH RI D GDWDEDVH V\VWHP FDQ EH H[WHQGHG LQ RUGHU WR UHDOL]H IXQFWLRQDO H[WHQVLRQV )URP D WUDGLWLRQDO GDWDEDVH V\VWHP SHUVSHFWLYH V\VWHP H[WHQVLELOLW\ FDQ EH EURDGO\ FDWHJRUL]HG LQWR ORJLFDO H[WHQVLELOLW\ DQG SK\VLFDO H[WHQVLELOLW\ /RJLFDO H[WHQVLELOLW\ UHIHUV WR H[WHQVLRQV WR WKH XSSHU ORJLFDOf OD\HUV RI D V\VWHP DUFKLWHFWXUH DQG LQFOXGHV H[WHQVLRQV VXFK DV VXSSRUW IRU GLIIHUHQW GDWD PRGHOLQJ FRQVWUXFWV XVHU GHILQHG DEVWUDFW GDWD W\SHV DQG RSHUDWLRQV TXHU\ ODQJXDJHV WUDQVDFWLRQ PRGHOV HWF

PAGE 25

3K\VLFDO H[WHQVLELOLW\ UHIHUV WR H[WHQVLRQV WR WKH ORZHU SK\VLFDOf OD\HUV RI D V\Vn WHP DUFKLWHFWXUH DQG LQFOXGH H[WHQVLRQV VXFK DV GLIIHUHQW GDWD RUJDQL]DWLRQV ILOH VWUXFWXUHV DFFHVV SDWKV DQG RWKHU VWRUDJH UHODWHG DVSHFWV :H QRWH WKDW GDWD PRGHO H[WHQVLELOLW\ DQG ORJLFDO H[WHQVLELOLW\ DUH WZR GLVWLQFW FRQFHSWV WKH IRUPHU LV DQ DEVWUDFW FRQFHSW UHODWHG WR GDWD PRGHOLQJ DQG WKH ODWn WHU LV D SK\VLFDO FRQFHSW UHODWHG WR D V\VWHP DUFKLWHFWXUH 7R VXSSRUW GDWD PRGHO H[WHQVLELOLW\ DQ XQGHUO\LQJ V\VWHP DUFKLWHFWXUH PXVW SRVVHVV ORJLFDO H[WHQVLELOLW\ 7KH UHYHUVH LV QRW DOZD\V WUXH VLQFH D V\VWHP FDQ SRVVHVV VRPH IRUPV RI ORJLFDO H[WHQVLELOLW\ LQ WKH FRQWH[W RI D IL[HG GDWD PRGHO HJ WKH UHODWLRQDO PRGHOf :KLOH WUDGLWLRQDO '%06V FDWHU WR WZR NLQGV RI XVHUV QDPHO\ 'DWDEDVH $GPLQn LVWUDWRUV '%$Vf DQG HQGXVHUV LW KDV EHHQ SURSRVHG LQ >%$7 &$5E@ WKDW H[WHQVLEOH V\VWHPV UHTXLUH D WKLUG NLQG RI XVHU D '%06 ,PSOHPHQWRU '%,f RU '%06 &XVWRPL]HU '%&f 7KH '%, RU '%& LV D KLJKO\ VNLOOHG SURIHVVLRQDO ZKRVH WDVN LV ORRVHO\ GHILQHG WR EH WKDW RI FXVWRPL]LQJ RU FRQILJXULQJ DQ H[WHQVLEOH V\VWHP WR PHHW WKH UHTXLUHPHQWV RI VSHFLILF DSSOLFDWLRQ GRPDLQV 7KH H[WHQVLEOH V\VWHP DSSURDFK LV FKDUDFWHUL]HG E\ Df WKH GDWD PRGHO XVHG DV D EDVLV DQG WKH GHJUHH WR ZKLFK GDWD PRGHO H[WHQVLELOLW\ LV SURYLGHG Ef WKH PHFKDQLVPV SURSRVHG IRU H[WHQVLELOLW\ DQG Ff WKH YDULRXV IRUPV DQG OHYHO RI ORJLn FDOSK\VLFDO H[WHQVLELOLW\ VXSSRUWHG E\ WKH V\VWHP :H QRZ DQDO\]H VHYHUDO H[LVWLQJ H[WHQVLEOH V\VWHPV LQ WKH FRQWH[W RI WKH DERYH FULWHULD ([RGXV >&$5D &$5E@ LV GHVLJQHG DURXQG D WRRONLW DSSURDFK LQ ZKLFK NHUQHO '%06 IDFLOLWLHV DQG D VHW RI VRIWZDUH WRROV IRU VHPLDXWRPDWLF JHQHUDWLRQ RI DSSOLFDWLRQVSHFLILF '%06V DUH SURYLGHG ,W EXLOGV XSRQ D IL[HG VWRUDJH PDQDJHU ZKLFK XVHV D NHUQHO PRGHO RI XQVWUXFWXUHG DQG XQW\SHG REMHFWV UHSUHVHQWHG DV E\WH VHTXHQFHV 7KH NHUQHO GRHV QRW VXSSRUW DQ\ IHDWXUHV SUHVHQW LQ REMHFWRULHQWHG GDWD PRGHOV $W WKH ORJLFDO OHYHO ([RGXV SURYLGHV IRU DSSOLFDWLRQ VSHFLILF $EVWUDFW 'DWD 7\SHV $'7Vf $ SURJUDPPLQJ ODQJXDJH FDOOHG ( DQ H[WHQVLRQ RI &f LV WKH WRRO

PAGE 26

RU PHFKDQLVP E\ ZKLFK H[WHQVLELOLW\ LV SURYLGHGf§LW LV WKH ODQJXDJH WKDW LV XVHG E\ WKH '%& RU '%, IRU FXVWRPL]LQJ WKH V\VWHP ,Q RUGHU WR SURYLGH H[WHQVLELOLW\ DQ H[WHQVLEOH OLEUDU\ RI W\SH LQGHSHQGHQW DFFHVV PHWKRGV LV SURYLGHG DQG D UXOH EDVHG TXHU\ RSWLPL]HU DQG FRPSLOHU KDV DOVR EHHQ SURSRVHG 0RUH UHF«QWO\ DQ HIIRUW LV XQGHUZD\ >&$5@ WR LQFRUSRUDWH DQ H[WHQVLEOH GDWD PRGHO RQ WRS RI WKH H[LVWLQJ VWRUDJH V\VWHP ,Q ([RGXV WKH LQLWLDO IRFXV KDV EHHQ PRVWO\ RQ SK\VLFDO H[WHQVLELOLW\ /RJLFDO H[WHQVLELOLW\ KDV EHHQ OLPLWHG WR IHDWXUHV VXFK DV DEVWUDFW GDWD W\SHV DQG DQ H[WHQVLEOH TXHU\ RSWLPL]HU 'DWD PRGHO H[WHQVLRQV KDYH QRW EHHQ LQYHVWLJDWHG *HQHVLV >%$7@ LV GHVLJQHG DV D PRGXODU V\VWHP ZKLFK UHOLHV RQ GDWDEDVH FRPn SRQHQWV ZKRVH LQWHUIDFHV KDYH EHHQ VWDQGDUGL]HG LQ VXFK D PDQQHU WKDW WKH\ EHFRPH LQWHUFKDQJHDEOH 7KH FRQFHSW RI UDSLGO\ FRQILJXULQJ D VWRUDJH DUFKLWHFWXUH E\ ZULWLQJ D VWRUDJH DUFKLWHFWXUH VSHFLILFDWLRQ SURJUDP KDV EHHQ SURSRVHG 7KH V\VWHP IRFXVHV PDLQO\ RQ SK\VLFDO H[WHQVLELOLW\ DQG LV EDVHG RQ D PRGHO FDOOHG WKH 8QLI\LQJ 0RGHO D YDULDQW RI WKH QHWZRUN PRGHOf 7KH VWRUDJH FRPSRQHQWV RI D '%06 DUH FRQVLGHUHG WR EH EXLOGLQJ EORFNV RU PRGXOHV WKDW UHDOL]H ILOHV VHW RI UHFRUGVf OLQNVHWV OLQNV EHn WZHHQ UHFRUGVf DQG HOHPHQWDU\ WUDQVIRUPDWLRQV FRQFHSWXDO WR LQWHUQDO PDSSLQJVf $ ULJRURXV QRWLRQ RI GDWD GHILQLWLRQ PDSSLQJV DQG RSHUDWLRQ PDSSLQJV IURP D ORJLFDO WR D SK\VLFDO OHYHO LV SUHVHQWHG 6WRUDJH DUFKLWHFWXUHV DUH FRQVLGHUHG WR EH FRPSRn VLWLRQV RI VXFK EXLOGLQJ EORFNV DQG UHFRQILJXUDWLRQ LV FDUULHG RXW E\ V\QWKHVL]LQJ D VWRUDJH DUFKLWHFWXUH XVLQJ SUHH[LVWLQJ EORFNV IURP DQ H[WHQVLYH OLEUDU\ 3RVWJUHV >67 67@ LV DQ H[WHQVLEOH V\VWHP ZKLFK DGGV H[WHQVLELOLW\ WR WKH UHODWLRQDO GDWD PRGHO ,W LV EDVHG RQ WKH UHODWLRQDO PRGHO ZLWK WKH VWDWHG JRDO RI PDNLQJ PLQLPDO FKDQJHV WR WKH UHODWLRQDO PRGHO ,W H[WHQGV WKH UHODWLRQDO PRGHO DW WKH ORJLFDO OHYHO ZLWK WKH QRWLRQV RI XVHUGHILQHG $'7V 7KXV WKH ORJLFDO H[WHQVLELOn LW\ LVVXHV DGGUHVVHG DUH WKH GHILQLWLRQ DQG XVH RI $'7V DQG XVHU GHILQHG RSHUDWLRQV ZLWKLQ WKH FRQWH[W RI WKH UHODWLRQDO GDWD PRGHO $W WKH SK\VLFDO OHYHO 3RVWJUHV FRQn VLGHUV WKH DGGLWLRQ DQG H[WHQVLRQ RI DFFHVV PHWKRGV 3RVWJUHV VXSSRUWV 3RVWTXHO DQ

PAGE 27

H[WHQGHG TXHU\ ODQJXDJHf FRPSOH[ REMHFWV WULJJHUV DOHUWHUV DQG LQIHUHQFLQJ 7KH EDVLF H[WHQVLELOLW\ PHFKDQLVP LV $'7V 6WDUEXUVW >6&+ /,1@ LV D V\VWHP EHLQJ EXLOW DV D VXFFHVVRU WR 6\VWHP 5 >$67@ ,W LV EDVHG RQ WKH UHODWLRQDO GDWD PRGHO DQG DGGUHVVHV H[WHQVLRQV ZLWKLQ WKH UHODWLRQDO PRGHO 6WDUEXUVW SURSRVHV WZR QRWLRQV RI H[WHQVLELOLW\ XVHUGHILQHG H[WHQVLRQV DQG GDWD PDQDJHPHQW H[WHQVLRQV 8VHUGHILQHG H[WHQVLRQV ORJLFDO H[n WHQVLELOLW\ LQ RXU WHUPLQRORJ\f DUH FRQVLGHUHG DV VXSSRUW IRU XVHUGHILQHG $'7V DQG IXQFWLRQV DV ILHOGV RI GDWDEDVH UHFRUGV 'DWD 0DQDJHPHQW ([WHQVLRQV SK\VLFDO H[WHQVLELOLW\ LQ RXU WHUPLQRORJ\f DUH FRQVLGHUHG DV VXSSRUW IRU DOWHUQDWH LPSOHPHQn WDWLRQV RI GDWDEDVH VWRUDJH DQG DFFHVV SDWKV 6WDUEXUVW FRQVLGHUV WZR IRUPV RI 'DWD 0DQDJHPHQW ([WHQVLRQV VWRUDJH PHWKRGV DQG DWWDFKPHQWV 6WRUDJH PHWKRGV GHDO ZLWK DOWHUQDWH ZD\V HJ VHTXHQWLDO %WUHH IRUHLJQ ILOHV DW D UHPRWH VLWHf RI VWRULQJ UHODWLRQV DQG SURYLGH D ZHOOGHILQHG VHW RI RSHUDWLRQV VXFK DV GHOHWH LQVHUW XSGDWH $WWDFKPHQWV D[H XVHG WR GHILQH DQG LPSOHPHQW DFFHVV SDWKV LQWHJULW\ FRQVWUDLQWV DQG WULJJHUV ([DPSOH RI DWWDFKPHQW W\SHV LQFOXGH %WUHH LQGLFHV KDVK WDEOHV HWF $WWDFKPHQWV OLNH VWRUDJH PHWKRGV SURYLGH D ZHOOGHILQHG VHW RI RSHUDWLRQV 8QOLNH VWRUDJH PHWKRGV DWWDFKPHQWV DUH LQYRNHG DV VLGH HIIHFWV RI PRGLILFDWLRQ RSHUDWLRQV RQ UHODWLRQV 7KH DWWDFKPHQW FRQFHSW SURYLGHV D PRUH JHQHUDO FRQFHSW WKDQ PHUHO\ WKH FRQFHSW RI H[WHQVLEOH DFFHVV SDWKV &XUUHQWO\ D TXHU\ ODQJXDJH UXOHEDVHG RSWLn PL]HU DQG TXHU\ UHZULWH PHFKDQLVP LV XQGHU GHYHORSPHQW >/2+ +$$@ /LNH 3RVWJUHV 6WDUEXUVW SURYLGHV H[WHQVLELOLW\ ZLWKLQ WKH IUDPHZRUN RI WKH UHODWLRQDO GDWD PRGHO 7KH 'DUPVWDGW .HUQHO 6\VWHP >3$8@ LV DQ H[WHQVLEOH PXOWLOD\HU V\VWHP ZKLFK DLPV WR VXSSRUW DGYDQFHG DSSOLFDWLRQ GRPDLQV E\ GHYHORSLQJ D FRPPRQ NHUQHO '%06 DQG DOORZLQJ DSSOLFDWLRQ VSHFLILF OD\HUV WR EH GHILQHG RQ WRS RI WKLV NHUQHO 7KH NHUQHO LV D OD\HU WKDW VXSSRUWV WKH VWRUDJH OHYHO IXQFWLRQDOLWLHV RI WKH V\VWHP

PAGE 28

([WHQVLELOLW\ LV DFKLHYHG E\ XVLQJ WKH FRPPRQ NHUQHO IRU DOO DSSOLFDWLRQV DQG H[n WHQGLQJ WKH NHUQHO WKURXJK WKH XVH RI DSSOLFDWLRQVSHFLILF OD\HUV RQ WRS RI WKH NHUQHO 7KXV WKH FRQFHSW RI H[WHQVLELOLW\ LV f¯DGGRQWRSf° H[WHQVLELOLW\ ZLWK WKH ORZHU OD\HUV EHLQJ ODUJHO\ IL[HG 7KLV LPSOLHV WKDW SK\VLFDO H[WHQVLELOLW\ RU H[WHQVLRQV WR WKH ORZHU OD\HUV FDQQRW EH HDVLO\ FDUULHG RXW $W WKH XSSHU ORJLFDOf OD\HUV WKH V\VWHP GRHV QRW VXSSRUW WKH FRQFHSW RI WDLORULQJ D GDWD PRGHO WR GLIIHUHQW DSSOLFDWLRQV ,QVWHDG WKH V\VWHP VXSSRUWV VRPH IRUPV RI ORJLFDO H[WHQVLELOLW\ VXFK DV XVHUGHILQHG $'7V DQG FRPSOH[ REMHFWV 7,f¬V 2SHQ 22'% >7+@ UHSUHVHQWV D FRPELQDWLRQ RI WKH REMHFWRULHQWHG DSn SURDFK DQG WKH H[WHQVLEOH V\VWHP DSSURDFK 7KLV DSSURDFK DLPV WR EXLOG DQ REMHFW RULHQWHG GDWDEDVH V\VWHP XVLQJ DQ RSHQ PRGXODU DQG H[WHQVLEOH DUFKLWHFWXUH 7KH V\VWHP KDV DGRSWHG WKH & GDWD PRGHO DV D UHIHUHQFH PRGHO GXH WR WKH ZLGHVSUHDG XVH RI WKH & ODQJXDJH ,W GRHV QRW VXSSRUW WKH FRQFHSW RI GDWD PRGHO H[WHQVLRQV 2SHQ 22'% VXSSRUWV WKH FRQFHSW RI V\VWHP H[WHQVLELOLW\ E\ WKH XVH RI DQ RSHQ DQG PRGXODU DSSURDFK $Q DWWHPSW LV PDGH WR LGHQWLI\ RUWKRJRQDO IXQFWLRQDOLWLHV DQG GHYHORS D VHW RI JHQHUDOL]HG PRGXOHV IRU REMHFWRULHQWHG GDWDEDVH V\VWHPV FRUn UHVSRQGLQJ WR VXFK IXQFWLRQDOLWLHV 7KH PRGXOHV WKHPVHOYHV DUH QRW H[WHQVLEOH 7KH DSSURDFK SURSRVHG WR DFKLHYH H[WHQVLELOLW\ LV DSSOLFDEOH ERWK DW ORJLFDO DQG SK\VLFDO OHYHOV 7KH JRDOV RI WKLV DSSURDFK SDUDOOHO WKH JRDOV WKDW WKLV GLVVHUWDWLRQ VHHNV WR DFKLHYH +RZHYHU LQ RXU DSSURDFK ZH SURSRVH DQ LQWHJUDWHG DQG XQLILHG DSSURDFK WR DFKLHYH FRQFHSWV RI PRGHO H[WHQVLELOLW\ DQG V\VWHP H[WHQVLELOLW\ E\ UHIOH[LYHO\ PRGHOLQJ GDWD PRGHO FRPSRQHQWV DQG V\VWHP FRPSRQHQWV PRGXOHVf DV REMHFWV DQG FODVVHV XVLQJ WKH REMHFWRULHQWHG SDUDGLJP 2EMHFW 0DQDJHPHQW 7HFKQLTXHV 7HFKQLTXHV IRU WKH PDQDJHPHQW RI REMHFWV DUH LPSRUWDQW WR WKH GHYHORSPHQW RI DQ\ .%06 0DQ\ REMHFW PDQDJHUV VXFK DV :L66 >&+@ 2EVHUYHU >6.$@ ([Rn GXV >&$5D@ DQG 2 >9(/@ KDYH EHHQ SURSRVHG 0DQ\ RI WKHVH VRFDOOHG REMHFW

PAGE 29

PDQDJHUV GHDO ZLWK REMHFWV ZKRVH VWUXFWXUDO UHSUHVHQWDWLRQ LV D ORZOHYHO VWRUDJH UHSUHVHQWDWLRQ VXFK DV UHFRUGV ILHOGV DQG ILOHV 0DQ\ RI WKHVH REMHFW PDQDJHUV D[H PRUH DSSURSULDWHO\ FDOOHG VWRUDJH PDQDJHUV 7KH LQWHUIDFH WR WKHVH VWRUDJH OHYHO PDQDJHUV LV D ORZOHYHO LQWHUIDFH VXFK DV JHWSXW UHDGZULWHf EDVHG RQ WKH VWRUDJH OHYHO UHSUHVHQWDWLRQ RI REMHFWV ,Q FRQWUDVW LQ WKLV GLVVHUWDWLRQ ZH ZLOO DGGUHVV REMHFW PDQDJHPHQW LQ WKH FRQWH[W RI REMHFWV PRGHOHG DW D OHYHO RI DEVWUDFWLRQ ZKLFK LQFRUSRUDWHV D VHW RI EDVLF VHPDQn WLFV ,GHDOO\ D VWRUDJH OD\HU PXVW GHDO RQO\ ZLWK DEVWUDFWLRQV DQG LVVXHV WKDW DUH UHOHYDQW WR WKH VWRUDJH OHYHO &RQVHTXHQWO\ VWRUDJH PDQDJHUV VKRXOG QRW LQFRUSRUDWH IXQFWLRQDOLWLHV UHODWLQJ WR KLJKOHYHO REMHFW UHSUHVHQWDWLRQV KLJKOHYHO RSHUDWRUV DQG VHWRULHQWHG UHWULHYDOV EXW UDWKHU SURYLGH DGHTXDWH VXSSRUW IRU VXFK IXQFWLRQDOLWLHV ,QVWHDG PDQDJHPHQW RI REMHFWV DW D KLJKHU OHYHO RI DEVWUDFWLRQ VKRXOG EH FDUULHG RXW LQ D OD\HU DERYH WKH VWRUDJH OD\HU 4XHU\ 3URFHVVLQJ LQ 2EMHFWRULHQWHG 'DWDEDVHV $Q LPSRUWDQW IXQFWLRQDOLW\ QHHGHG WR VXSSRUW DGYDQFHG DSSOLFDWLRQ GRPDLQV LQ DQ\ GDWDEDVH V\VWHP DUFKLWHFWXUH LV TXHU\ SURFHVVLQJ 6LQFH RXU DSSURDFK LV EDVHG RQ WKH REMHFWRULHQWHG SDUDGLJP ZH UHYLHZ DSSURDFKHV WR TXHU\ SURFHVVLQJ LQ REMHFWRULHQWHG GDWDEDVHV 6HYHUDO TXHU\ ODQJXDJHV DQG SURFHVVLQJ WHFKQLTXHV >6+, =$1 0$,D 67 217 52: %$1 &$5 .,0D@ KDYH EHHQ SURSRVHG IRU REMHFWRULHQWHG GDWDEDVH V\VWHPV :H GLVFXVV H[LVWLQJ DSSURDFKHV WR TXHU\ SURFHVVLQJ E\ FODVVLILFDWLRQ WKH WHFKQLTXHV XVHG EDVHG RQ WKH IRUPDO GDWD VWUXFWXUHV SURSRVHG DV D EDVLV IRU FRPSXWLQJ TXHULHV 6HYHUDO V\VWHPV VXFK DV 9EDVH >217@ ,ULV >),6@ 3RVWJUHV >67 52:@ DQG ([RGXV >&$5@ KDYH FRPELQHG UHODWLRQDO TXHU\ SURFHVVLQJ VWUXFWXUHV ZLWK REMHFWRULHQWHG GDWDEDVHV 6XFK V\VWHPV XVH WDEXODU UHODWLRQOLNHf VWUXFWXUHV IRU LQWHUQDO UHSUHVHQWDWLRQ DQG SURFHVV RSHUDWLRQV VXFK DV MRLQV WR FRPSXWH WKH UHVXOWV 4XHULHV DUH W\SLFDOO\ VSHFLILHG XVLQJ 264/ OLNH ODQJXDJHV RU YDULDWLRQV RI 48(/

PAGE 30

6RPH V\VWHPV VXFK DV 9EDVH >217@ PHUHO\ SURYLGH DQ 64/ LQWHUIDFH ZKLOH V\Vn WHPV VXFK DV ,ULV >),6@ SURYLGH DQ REMHFW YHUVLRQ RI 64/ 264/f 6\VWHPV XVLQJ 48(/EDVHG ODQJXDJHV VXFK DV 3RVWJUHV >67 52:@ DQG ([RGXV >&$5@ XVH DQ H[WHQGHG GRW RSHUDWRU WR SHUIRUP YDULRXV W\SHV RI MRLQV 6RPH RI WKHVH V\Vn WHPV LQFOXGLQJ >'$'@ XVH UHODWLRQV RU QHVWHG UHODWLRQV DV D EDVLV 8VLQJ GDWD VWUXFWXUHV VXFK DV QHVWHG UHODWLRQV FDQ UHVXOW LQ D VHPDQWLF PLVPDWFK EHWZHHQ WKH REMHFWRULHQWHG GDWD PRGHO DQG WKH UHODWLRQDO GDWD PRGHO 2WKHU V\VWHPV VXFK DV 2'( >$*5@ *DOOLOHR >$/%@ DQG 23$/ >6(5@ KDYH WDNHQ WKH DSSURDFK RI SURYLGLQJ TXHU\ FDSDELOLWLHV WKURXJK WKH XVH RI 'DWDEDVH 3URJUDPPLQJ /DQJXDJHV '%3/Vf 6XFK '%3/V ODFN D GHFODUDWLYH VHWRULHQWHG TXHU\ FDSDELOLW\ DQG PDQLSXODWH REMHFWV VLQJO\ XVLQJ SURJUDPPLQJ ODQJXDJH FRQn VWUXFWV $FFRUGLQJO\ D TXHU\ UHVXOW FRQWDLQLQJ REMHFWV DQG DVVRFLDWLRQV WKDW VSDQ DFURVV PDQ\ FODVVHV FDQQRW EH UHSUHVHQWHG H[FHSW DV D XVHUGHILQHG SURJUDP VWUXFn WXUH $QRWKHU WHFKQLTXH XVHG IRU TXHU\ SURFHVVLQJ LQ REMHFWRULHQWHG GDWDEDVHV LV WR H[SUHVV WKH UHVXOWV RI TXHU\ DV REMHFWV IURP D VLQJOH FODVV WKH DQFKRU RU WDUJHW FODVVf 2EMHFWV IURP RWKHU FODVVHV FRQQHFWHG WR WKH $QFKRU PD\ WKHQ EH IXUWKHU DFFHVVHG YLD QDYLJDWLRQDO RSHUDWRUV HJ D GRW RSHUDWRUf RQ WKH $QFKRU &ODVV )RU WKLV FDWHJRU\ D VLQJOH VHW RI REMHFWV RU RLGVf LV VXIILFLHQW WR VHUYH DV DQ LQWHUQDO VWUXFWXUH IRU FRPSXWLQJ TXHULHV +RZHYHU WKLV LV UHVWULFWLYH VLQFH RQO\ D JLYHQ FODVV RI TXHULHV FDQ EH FRPSXWHG ,Q SDUWLFXODU TXHULHV WKDW UHWXUQ REMHFWV IURP PXOWLSOH FODVVHV LQ WKHLU UHVXOWV DUH H[FOXGHG ([DPSOHV RI V\VWHPV ZKLFK XVH WKLV WHFKQLTXH LQFOXGH 2ULRQ >%$1@ 'DSOH[ >6+,@ DQG *(0 >=$1@ .LP >.,0D@ SURSRVHV D WHFKQLTXH LQ ZKLFK D QHZ FODVV LV FUHDWHG WR KROG WKH UHVXOWV RI D TXHU\ )RU H[DPSOH D f¯MRLQf° EHWZHHQ WZR REMHFWV IURP WZR GLIIHUHQW FODVVHV SURGXFHV D WKLUG REMHFW RI D QHZO\ FUHDWHG FODVV ,Q WKLV FDVH WKH V\VWHP

PAGE 31

PXVW DGGUHVV WKH LVVXH RI GHILQLQJ SUHFLVHO\ WKH VHPDQWLFV RI WKH QHZO\ FUHDWHG FODVV DQG REMHFW 0HWKRGRORJLHV IRU 6RIWZDUH 'HYHORSPHQW ,Q WKLV VHFWLRQ ZH UHYLHZ GHVLJQ PHWKRGRORJLHV WKDW DSSO\ WR WKH GHYHORSPHQW RI GDWDEDVH V\VWHP VRIWZDUH VLQFH RXU DSSURDFK HPSKDVL]HV WKDW WKH V\VWHP VRIWn ZDUH LWVHOI PXVW EH GHYHORSHG LQ DQ H[WHQVLEOH PDQQHU LQ RUGHU WR UHDOL]H V\VWHP H[WHQVLELOLW\ (DUO\ DSSURDFKHV WR VRIWZDUH GHYHORSPHQW ZHUH ODUJHO\ DGKRF SURFHVVHV XQGHUn JRLQJ PDQ\ LWHUDWLRQV RI LQIRUPDO GHVLJQ FRGLQJ DQG WHVWLQJ $ PRUH PHWKRGLFDO DSSURDFK WR VRIWZDUH GHYHORSPHQW ZDV LQWURGXFHG WKURXJK WKH FRQFHSW RI f¯VWUXFWXUHG PHWKRGVf° ([DPSOHV RI VWUXFWXUHG PHWKRGV RU VWUXFWXUHG GHVLJQ LQFOXGH 6WUXFWXUHG 'HVLJQ >&21@ 6WUXFWXUHG 6\VWHP $QDO\VLV >*$1@ DQG -DFNVRQ 6\VWHP 'Hn YHORSPHQW >-$&@ ,Q WKH VWUXFWXUHG PHWKRG RU VWUXFWXUHG GHVLJQ DSSURDFK WKH V\VWHP LV GHVLJQHG IURP D IXQFWLRQDO YLHZSRLQW )LUVW D KLJKOHYHO YLHZ RI WKH V\Vn WHP LV GHYHORSHG DQG WKHQ XVLQJ IXQFWLRQDO GHFRPSRVLWLRQ WKLV YLHZ LV GHFRPSRVHG LQWR D PRUH GHWDLO GHVLJQ LQ D VWHSZLVH PDQQHU 0RUH UHFHQWO\ WKH REMHFWRULHQWHG SDUDGLJP KDYLQJ VHYHUDO GHVLUDEOH IHDWXUHV VXFK DV HQFDSVXODWLRQ GDWD DEVWUDFWLRQ DQG LQIRUPDWLRQ KLGLQJ KDV EHHQ SURSRVHG DV D PHWKRGRORJ\ IRU VRIWZDUH GHVLJQ ,Q WKLV DSSURDFK WKH V\VWHP LV YLHZHG DV D FROOHFWLRQ RI REMHFWV UDWKHU WKDQ D FROOHFWLRQ RI IXQFWLRQV +HUH PHVVDJHV ZKLFK D[H SDVVHG IURP RQH REMHFW WR DQRWKHU WDNH WKH SODFH RI IXQFWLRQV (DFK REMHFW KDV D VHW RI RSHUDWLRQV ZKLFK D[H LQYRNHG WKURXJK PHVVDJHV /LVNRY DQG *XWWDJ >/,6@ SUHVHQW D FRPSUHKHQVLYH DSSURDFK WR GDWD DQG IXQFWLRQ DEVWUDFWLRQ DQG D JXLGH WR SURJUDP GHYHORSPHQW XVLQJ VXFK DEVWUDFWLRQV %RRFK >%@ IRFXVHV RQ WKH GHVLJQ RI VRIWZDUH V\VWHPV XVLQJ REMHFWRULHQWHG GHYHORSPHQW %RRFK GHVFULEHV D V\VWHP VWUXFWXULQJ WHFKQLTXH EDVHG RQ DQ REMHFW RULHQWHG GHFRPSRVLWLRQ XVLQJ GDWD RU IXQFWLRQDO DEVWUDFWLRQV DQG GHFRPSRVLWLRQV

PAGE 32

7KH WHFKQLTXH LOOXVWUDWHV IDFWRULQJ WKH V\VWHP LQWR REMHFWV XVLQJ VPDOO FDVH VWXGLHV RI DSSOLFDWLRQVSHFLILF VRIWZDUH 7KH SDSHU GRHV QRW VSHFLILFDOO\ GHDO ZLWK DSSO\LQJ WKH DSSURDFK WR WKH V\VWHP VRIWZDUH RI WKH JHQHUDO FODVV RI VRIWZDUH V\VWHPV RU HYHQ WR D VSHFLILF FODVV RI VRIWZDUH V\VWHPV IRU H[DPSOH GDWDEDVH PDQDJHPHQW V\VWHPVf :KLOH PRVW H[DPSOHV KDYH DSSOLHG REMHFWRULHQWHG FRQFHSWV WR VLPSOH DSSOLFDWLRQ VRIWZDUH D PRUH FRPSOH[ WDVN LQYROYHV GHWHUPLQLQJ KRZ WKH SDUDGLJP FDQ EH DSSOLHG WR ODUJH VRIWZDUH V\VWHPV &OHDUO\ LW LV IHDVLEOH WR DSSO\ WKHVH QRWLRQV RI DEVWUDFWLRQ DQG WKH REMHFWRULHQWHG SDUDGLJP IRU GHYHORSLQJ WKH V\VWHP VRIWZDUH RI ODUJH VRIWZDUH V\VWHPV ,Q RXU HIIRUW ZH SODQ WR DSSO\ WKHVH QRWLRQV WR RQH FODVV RI VRIWZDUH V\VWHPV QDPHO\ .%06V 0HWDOHYHO DQG 5HIOH[LYH $UFKLWHFWXUHV ,Q WKLV VHFWLRQ ZH UHYLHZ UHODWHG ZRUN LQ WKH DUHD RI PHWDOHYHO DQG UHIOH[LYH DUFKLWHFWXUHV IRU REMHFWRULHQWHG V\VWHPV &XUUHQWO\ WKLV DUHD LV UHFHLYLQJ LQFUHDVLQJ LQWHUHVW LQ WKH FRQWH[W RI SURJUDPPLQJ ODQJXDJHV %URDGO\ VSHDNLQJ D SURJUDPPLQJ ODQJXDJH LV FRQVLGHUHG UHIOH[LYH LI LW FDQ RSHUDWH RQ LWVHOI :KLOH VRPH ZRUN KDV EHHQ GRQH LQ WKH DUHD RI UHIOH[LYH DUFKLWHFWXUHV IRU SURFHGXUHEDVHG ODQJXDJHV ORJLFEDVHG ODQJXDJHV DQG UXOHEDVHG ODQJXDJHV ZH ZLOO IRFXV RQ UHIOHFWLRQ LQ REMHFWRULHQWHG ODQJXDJHV DQG V\VWHPV ,Q WKH REMHFWRULHQWHG SDUDGLJP UHIOH[LYLW\ LV XVXDOO\ DGGUHVVHG LQ WKH FRQWH[W RI PHWDREMHFWV DQG PHWDFODVVHV 7UDGLWLRQDOO\ WKH WHUP PHWDFODVV KDV EHHQ XVHG WR UHIHU WR D FODVV ZKRVH LQVWDQFHV WKHPVHOYHV DUH FODVVHV >&2, *2/@ +RZHYHU WKH FRQFHSW RI PHWDFODVVHV DQG PHWDREMHFWV KDV HYROYHG DQG WRGD\ WKHVH WHUPV DUH XVHG WR GHVFULEH FODVVHV DQG REMHFWV ZKLFK GHVFULEH WKH VSHFLILFDWLRQ DQGRU EHKDYLRU RI ODQJXDJHV RU V\VWHPV 0DHV >0$(@ SURSRVHV D IDLUO\ FRPSUHKHQVLYH VHW RI FRQFHSWV WR GHVFULEH UHn IOHFWLRQ LQ REMHFWRULHQWHG ODQJXDJHV &RPSXWDWLRQDO UHIOHFWLRQ LV GHILQHG DV f¯WKH DFWLYLW\ SHUIRUPHG E\ D FRPSXWDWLRQDO V\VWHP ZKHQ GRLQJ FRPSXWDWLRQ DERXW DQG

PAGE 33

E\ WKDW SRVVLEO\ DIIHFWLQJf LWV RZQ FRPSXWDWLRQf° 7KH SDSHU DOVR GHILQHV VWUXFWXUDO UHIOHFWLRQ RU VHOIUHSUHVHQWDWLRQ DV WKH SURSHUW\ RI D V\VWHP ZKLFK LQFRUSRUDWHV VWUXFn WXUHV UHSUHVHQWLQJ DVSHFWV RIf LWVHOI 7KH SDSHU DOVR LGHQWLILHV YDULRXV LVVXHV WKDW D ODQJXDJH LQWHUSUHWHU PXVW DGGUHVV LQ RUGHU WR DFKLHYH WKH FRQFHSW RI UHIOH[LYLW\ $ XQLIRUP DQG UHIOH[LYH GHILQLWLRQ IRU D V\VWHP VXSSRUWLQJ 2EM9OLVS LV GHVFULEHG LQ >&2,@ 7KLV V\VWHP LQYHVWLJDWHV WKH XVH RI PHWDFODVVHV DQG VWXGLHV WKH WUDQVLn WLRQV IURP XQLIRUP UHSUHVHQWDWLRQV WR UHIOH[LYH UHSUHVHQWDWLRQV DQG WKH XVH RI VXFK SURSHUWLHV IRU H[WHQVLELOLW\ $Q 2EM9OLVS 0RGHO LV GHYHORSHG XVLQJ FODVVHV DQG REn MHFWV DW D PHWDOHYHO DQG RSHUDWLRQDO VHPDQWLFV DUH H[SUHVVHG LQ /LVS ,Q >.,&@ DQ DSSURDFK WR SURJUDPPLQJ XVLQJ PHWDREMHFWV LV SUHVHQWHG 0HWDREMHFWV D[H XVHG WR SURYLGH WKH DELOLW\ WR H[WHQG WKH EHKDYLRU DQG LPSOHPHQWDWLRQ RI WKH ODQJXDJH 7KH DSSURDFK LV YHULILHG XVLQJ PHWDREMHFWV LQ WKH &RPPRQ /LVS 2EMHFW 6\VWHP &/26f ,Q WKH DSSURDFKHV PHQWLRQHG DERYH UHIOH[LYLW\ LV DGGUHVVHG LQ WKH FRQWH[W RI SURJUDPPLQJ ODQJXDJHV ZLWK HPSKDVLV RQ WKH HIIHFW RI FRPSXWDWLRQDO UHIOHFWLRQ RQ ODQJXDJH LQWHUSUHWHUV ,Q FRQWUDVW UHIOH[LYLW\ LQ WKH FRQWH[W RI GDWDEDVH V\VWHPV KDV QRW EHHQ D ZHOOVWXGLHG DUHD ,Q WKLV UHVHDUFK ZH H[SORUH WKH FRQFHSW RI UHIOH[LYLW\ LQ GDWDEDVH V\VWHPV ZLWK HPSKDVLV RQ XVLQJ UHIOH[LYLW\ DV D EDVLV IRU DFKLHYLQJ H[WHQVLn ELOLW\ ,QVWHDG RI IRFXVLQJ RQ FRPSXWDWLRQDO UHIOH[LYLW\ DQG ODQJXDJH LQWHUSUHWHUV ZH LQLWLDOO\ GHDO ZLWK VWUXFWXUDO UHIOH[LYLW\ RU VHOIUHSUHVHQWDWLRQ LQ GDWDEDVH V\VWHPV

PAGE 34

&+$37(5 $ )5$0(:25. )25 (;7(16,%,/,7< ,Q WKLV FKDSWHU ZH RXWOLQH WKH IUDPHZRUN DQG VRIWZDUH DUFKLWHFWXUH WKDW ZH SURSRVH IRU GHYHORSLQJ DGYDQFHG .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPV .%06Vf $ FODULILFDWLRQ RI VRPH WHUPLQRORJ\ LV LQ RUGHU :H XVH WKH WHUP f¯IUDPHZRUNf° WR PHDQ WKH RYHUDOO DSSURDFK DQG PHWKRGRORJ\ 7KH WHUPV f¯VRIWZDUH DUFKLWHFWXUHf° RU f¯DUFKLWHFWXUHf° ZLOO EH XVHG WR UHIHU WR WKH DEVWUDFW UHSUHVHQWDWLRQ RI WKH VRIWZDUH FRQILJXUDWLRQ RI D FRPSOH[ V\VWHP VXFK DV D .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHP 7KH WHUPV f¯.QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPf° RU f¯.%06f° ZLOO EH XVHG WR UHIHU WR WKH SK\VLFDO UHDOL]DWLRQ RI WKLV DUFKLWHFWXUH )LUVW ZH OLVW NH\ IHDWXUHV RI RXU DSSURDFK 7KHQ ZH SUHVHQW DQ RYHUYLHZ RI WKH SURSRVHG DSSURDFK DQG GLVFXVV WKH LPSRUWDQFH RI WKHVH IHDWXUHV LQ WKH FRQWH[W RI D QH[WJHQHUDWLRQ .%06 DUFKLWHFWXUH ,Q WKH RYHUYLHZ ZH DOVR H[SODLQ WKH UHOHYDQFH RI WKH PDWHULDO WR EH SUHVHQWHG LQ &KDSWHUV WKURXJK WR WKH SURSRVHG DSSURDFK .HY )HDWXUHV RI RXU $SSURDFK 7KH NH\ IHDWXUHV RI WKH DSSURDFK ZH SURSRVH IRU GHYHORSLQJ QH[WJHQHUDWLRQ .%06V DUH DV IROORZV $Q H[WHQVLEOH REMHFWRULHQWHG EDVH PRGHO FDOOHG H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f $Q RSHQ OD\HUHG DQG PRGXODU IUDPHZRUN IRU GHILQLQJ DQ H[WHQVLEOH V\VWHP DUFKLWHFWXUH 0HFKDQLVPV IRU PRGHO H[WHQVLELOLW\

PAGE 35

0HFKDQLVPV IRU V\VWHP H[WHQVLELOLW\ $ QRYHO JUDSKEDVHG DSSURDFK IRU TXHU\UXOH SURFHVVLQJ LQ REMHFWRULHQWHG GDWDEDVHV $Q LQWHJUDWHG DSSURDFK WR NQRZOHGJH PDQDJHPHQW 2YHUYLHZ RI RXU $SSURDFK ,Q &KDSWHU ZH DQDO\]HG WKH WDVN RI GHYHORSLQJ D QH[WJHQHUDWLRQ .%06 IURP WZR DVSHFWV WKH GDWD PRGHO DVSHFW DQG WKH V\VWHP DUFKLWHFWXUH DVSHFW %DVHG RQ WKLV DQDO\VLV ZH SURSRVH DQ DSSURDFK WKDW DGGUHVVHV WKHVH WZR DVSHFWV LQ DQ LQWHJUDWHG PDQQHU 7R DGGUHVV WKH ILUVW DVSHFW ZH GHILQH DQ DSSURSULDWH GDWD PRGHO WR VHUYH DV D EDVLV IRU WKH SURSRVHG H[WHQVLEOH V\VWHP ,Q WKLV UHJDUG ZH ZHUH JUHDWO\ LQIOXHQFHG E\ PDQ\ GHVLUDEOH IHDWXUHV WKDW REMHFWRULHQWHG GDWD PRGHOV SRVVHVV RYHU WUDGLWLRQDO GDWD PRGHOV VXFK DV UHODWLRQDO QHWZRUN DQG KLHUDUFKLFDO 7KHVH LQFOXGH IHDWXUHV VXFK DV GDWD DEVWUDFWLRQ HQFDSVXODWLRQ SRO\PRUSKLVP LQKHULWDQFH HWF 2EMHFW RULHQWHG f GDWD PRGHOV SURYLGH WZR IRUPV RI DEVWUDFWLRQV VWUXFWXUDO DEVWUDFWLRQV DQG EHKDYLRUDO DEVWUDFWLRQV >',7@ 7KXV D FODVV LQ DQ GDWD PRGHO HQFDSVXn ODWHV VWUXFWXUDO SURSHUWLHV RI DQ REMHFW VXFK DV LWV UHODWLRQVKLSV ZLWK RWKHU REMHFWV WRJHWKHU ZLWK EHKDYLRUDO DEVWUDFWLRQV VXFK DV PHWKRGV WKDW RSHUDWH RQ WKH REMHFW +RZHYHU PDQ\ KLJKOHYHO REMHFWRULHQWHG GDWD PRGHOV FDSWXUH DGYDQFHG VHPDQWLFV LQ FRPSOH[ VWUXFWXUDO FRQVWUXFWV 7KXV GLIIHUHQW REMHFWRULHQWHG GDWD PRGHOV PD\ SURYLGH VLPLODU VHPDQWLFV E\ XVLQJ YDULRXV VWUXFWXUDO FRQVWUXFWV LQ GLIIHUHQW ZD\V 7R XQLI\ WKH VHPDQWLFV FRUUHVSRQGLQJ WR WKH GLYHUVH VWUXFWXUDO FRQVWUXFWV LQ GLIn IHUHQW PRGHOV ZH SURSRVH DQ H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f WR VHUYH DV WKH EDVLV IRU RXU DSSURDFK ;.20 LV D JHQHUDOL]HG EDVH PRGHO ZKLFK FRQWDLQV WKH EDVLF VWUXFWXUDO DEVWUDFWLRQV WKDW IRUP D FRPPRQ GHQRPLQDWRU DPRQJ WKH H[n LVWLQJ REMHFWRULHQWHG DQG VHPDQWLF GDWD PRGHOV $ NH\ GHVLJQ SKLORVRSK\ LV WR

PAGE 36

SURYLGH PLQLPDO VHPDQWLFV LQ EDVLF VWUXFWXUDO FRQVWUXFWV DQG H[WHQGHG VHPDQWLFV YLD SRZHUIXO EHKDYLRUDO DEVWUDFWLRQV 7KLV DOORZV WKH EDVH PRGHO WR EH H[WHQGHG WR LQFRUSRUDWH DGGLWLRQDO VHPDQWLFV SURYLGHG E\ KLJKOHYHO GDWD PRGHOV IRU VXSSRUWLQJ DGYDQFHG DSSOLFDWLRQ GRPDLQV 7R SURYLGH WKLV FDSDELOLW\ ;.20 LQFOXGHV EHKDYn LRUDO DEVWUDFWLRQV LQ WKH IRUP RI PHWKRGV DQG UXOHV 6LPLODU WR PHWKRGV ;.20 LQFRUSRUDWHV UXOH VSHFLILFDWLRQ DV SDUW RI WKH FODVV GHILQLWLRQ WKHUHE\ SURYLGLQJ DQ LQWHJUDWHG DSSURDFK WR NQRZOHGJH PDQDJHPHQW >5$6 5$6 68@ 8VLQJ WKLV H[WHQVLEOH GDWD PRGHO DV D EDVLV ZH WKHQ SURSRVH DQ RSHQ OD\HUHG DQG PRGXODU IUDPHZRUN IRU GHILQLQJ DQ H[WHQVLEOH V\VWHP DUFKLWHFWXUH %\ FRXSOLQJ DQ H[WHQVLEOH GDWD PRGHO ZLWK DQ H[WHQVLEOH V\VWHP DUFKLWHFWXUH ZH DLP WR VXSSRUW DGYDQFHG DSSOLFDWLRQ GRPDLQV ZKLFK UHTXLUH DfDGYDQFHG GDWD PRGHO DEVWUDFWLRQV VXFK DV VSHFLDOL]HG VWUXFWXUDO FRQVWUXFWV DQG IDFLOLWLHV IRU GHILQLQJ EHKDYLRUDO DEn VWUDFWLRQV VXFK DV UXOHV DQG PHWKRGV EfVSHFLDOL]HG LQWHUIDFHV VXFK DV TXHU\ ODQn JXDJHV GDWD GHILQLWLRQ DQG PDQLSXODWLRQ ODQJXDJHV JUDSKLFDO XVHU LQWHUIDFHV DQG GDWDEDVH SURJUDPPLQJ ODQJXDJHV DQG FfVWRUDJH DQG SURFHVVLQJ WHFKQLTXHV VXFK DV VSHFLDOL]HG ILOH RUJDQL]DWLRQV DQG DFFHVV PHWKRGV ,Q SDUWLFXODU DQ RSHQ OD\HUHG DQG PRGXODU IUDPHZRUN DOORZV WKH LQFRUSRUDWLRQ RI VXFK IHDWXUHV DW GLIIHUHQW OHYHOV ORJLFDO DQG SK\VLFDOf RI DEVWUDFWLRQ LQ DQ LQWHJUDWHG DQG XQLILHG PDQQHU 7KH LQWHJUDWLRQ RI WKH WZR FRQFHSWV GHVFULEHG DERYH WKH EDVH PRGHO ;.20f DQG DQ RSHQ OD\HUHG DQG PRGXODU IUDPHZRUN LV FDUULHG RXW DV IROORZV ,Q WKH OD\n HUHG IUDPHZRUN D PLGGOHRXW DSSURDFK LV XVHG ZLWK ;.20 VHUYLQJ DV WKH EDVLV IRU D ZHOOGHILQHG LQWHUPHGLDWH OHYHO RI DEVWUDFWLRQ )LJXUH LOOXVWUDWHV WKLV OD\n HUHG IUDPHZRUN ZLWK WKH GLIIHUHQW OD\HUV DQG WKH FRUUHVSRQGLQJ PDSSLQJV EHWZHHQ VXFK OD\HUV /RJLFDO H[WHQVLELOLW\ RU H[WHQVLRQV WR XSSHU OHYHOV RI DEVWUDFWLRQ DUH FDUULHG RXW E\ XSZDUGO\ H[WHQGLQJ WKH LQWHUPHGLDWH OD\HU WR VXSSRUW DSSURSULDWH KLJKOHYHO HQGXVHU GDWD PRGHOLQJ FRQVWUXFWV WR EH XVHG LQ DGYDQFHG DSSOLFDWLRQ

PAGE 37

/2*,&$/ 5(35(6(17$7,21 /$<(5 +LJK OHYHO ORJLFDO HQGXVHUf GDWD PRGHOLQJ FRQVWUXFWV (QGXVHU LQWHUIDFHV VXFK DV TXHU\ ODQJXDJHV HWF 2WKHU ORJLFDO HQGXVHU DEVWUDFWLRQV QHZ DVVRFLDWLRQ W\SHVf FRQVWUXFWV DSSOLFDWLRQUHODWHG IHDWXUHVFRQVWUXFWV HWF 0$33,1* 0DSSLQJV IURP ORJLFDO HQGXVHUf GDWD PRGHOV FRQVWUXFWV DEVWUDFWLRQV TXHU\ ODQJXDJHV WR XQGHUO\LQJ H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f /D\HU .(51(/ 2%-(&7 0$1$*(0(17 /$<(5 H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f D EDVLF FDQRQLFDO REMHFW EDVHG PRGHO VHUYLQJ DV DQ LQWHUPHGLDWH OHYHO RI DEVWUDFWLRQ 3URYLGHV H[WHQVLELOLW\ PHFKDQLVPV 3URYLGHV D EDVH VHW RI H[WHQVLEOH REMHFWOHYHO RSHUDWLRQV IRU NHUQHO REMHFWV 0$33,1* 'HILQHV WKH LPSOHPHQWDWLRQ RI ;.20 0DSSLQJ WKH .HUQHO 2EMHFW 0RGHO WR XQGHUO\LQJ VWRUDJH VWUXFWXUHV DQG LPSOHPHQWDWLRQ RI WKH EDVH VHW RI REMHFW OHYHO RSHUDWLRQV 81'(5/<,1* 6725$*( /$<(5 3K\VLFDO 6WRUDJH RI NHUQHO REMHFWV )LJXUH $ /D\HUHG )UDPHZRUN IRU ([WHQVLELOLW\ WR R

PAGE 38

GRPDLQV 3K\VLFDO H[WHQVLELOLW\ RU H[WHQVLRQV WR ORZHU OHYHOV RI DEVWUDFWLRQ DUH FDUn ULHG RXW E\ GRZQZDUGO\ H[WHQGLQJ WKH LQWHUPHGLDWH OD\HU WR GLIIHUHQW DQG SRVVLEO\ DOWHUQDWLYH SK\VLFDO GDWD RUJDQL]DWLRQV DFFHVV SDWKV DQG VWRUDJH VXEV\VWHPV :H QRWH WKDW ;.20 DOVR VHUYHV DV DQ LQWHUQDO PRGHO RI LPSOHPHQWDWLRQ IRU WKH V\VWHP 7KH XVH RI OHYHOV RI DEVWUDFWLRQ SURYLGHV D V\VWHPDWLF GHVLJQ DQG LPSOHPHQWDWLRQ SKLORVRSK\ HQDEOLQJ WKH V\VWHP GHVLJQHU WR YLVXDOL]H PDQ\ GLIIHUHQW DVSHFWV RI WKH V\VWHP DUFKLWHFWXUH 7KH RSHQ OD\HUHG DQG PRGXODU IUDPHZRUN WKDW ZH SURSRVH UHDOL]HV DQ f¯RSHQ V\VWHP DUFKLWHFWXUHf°f§DQ DUFKLWHFWXUH WKDW HQDEOHV WKH V\VWHP WR EH LQFUHPHQWDOO\ H[WHQGHG DW DQ\ OHYHO RI DEVWUDFWLRQ %DVHG RQ WKH IUDPHZRUN GHVFULEHG DERYH D NHUQHO .%06 LV UHDOL]HGf§D V\VWHP ZKLFK VHUYHV DV D FRUH IURP ZKLFK PRUH VRSKLVWLFDWHG .%06V FDQ EH EXLOW 6LPLODU WR WKH QRWLRQ RI D '%& RU '%, ZH DVVXPH WKDW H[WHQGLQJ DQG FRQILJXULQJ WKH NHUQHO .%06 LV WKH WDVN RI D .%06 &XVWRPL]HU .%&f ,Q )LJXUH ZH LOOXVWUDWH WKH GLIIHUHQW VWHSV LQYROYHG LQ FRQILJXULQJ DQG XVLQJ D NHUQHO .%06 ,I QHFHVVDU\ WKH .%& PXVW FRQILJXUH RU H[WHQG WKH NHUQHO .%06 WR VDWLVI\ WKH UHTXLUHPHQWV RI DQ HQGXVHU GDWD PRGHO WR EH XVHG LQ D VSHFLILF DSSOLFDWLRQ GRPDLQ DQG JHQHUDWH D ILQDO .%06 KDYLQJ WKH GHVLUHG IXQFWLRQDOLW\ $ VSHFLDO FDVH LV ZKHUH WKH NHUQHO .%06 LV XVHG LQ LWV EDVLF IRUPf 7KH .QRZOHGJH %DVH $GPLQLVWUDWRU .%$f WKHQ XVHV WKH ILQDO .%06 WR GHYHORS DQ DSSOLFDWLRQ NQRZOHGJH EDVH ZKLFK FDQ WKHQ EH XVHG E\ YDULRXV HQGXVHUV 1RWH WKDW LQ WKH ILJXUH WKH NHUQHO .%06 LV SRUWUD\HG DV D EODFN ER[ DQG D .%06 GHULYHG IURP WKH NHUQHO .%06 LV SRUWUD\HG DV D ODUJHU EODFN ER[ /DWHU RQ ZH ZLOO VKRZ WKDW WKHVH EODFN ER[HV UHSUHVHQW D ZHOOGHILQHG VSHFLILFDWLRQ DQG LPSOHPHQWDWLRQ RI WKH PRGHO DQG V\VWHP DQG WKDW RXU DSSURDFK SURYLGHV D ZHOOGHILQHG PHWKRGRORJ\ WR FXVWRPL]H WKH PRGHO DQG V\VWHP $V D UHVXOW WKH WDVNV RI WKH .%& OLNH WKH WDVNV RI D .%$ DUH IDLUO\ ZHOOGHILQHG ,Q FRQWUDVW RWKHU DSSURDFKHV WR H[WHQVLEOH V\VWHPV KDYH QRW PDGH DQ DWWHPSW WR FOHDUO\ LGHQWLI\ WKH WDVNV RI D '%, RU '%&

PAGE 39

6285&( .(51(/f .%06 7$6. _ .%06 &XVWRPL]HU .%&f c mFXVWRPL]HV .HUQHO .%06 WR SURGXFH D 7DUJHW .%06 7$5*(7 .%06 7$6. r .%06 $GPLQLVWUDWRU .%$f LPSOHPHQWV D JLYHQ DSSOLFDWLRQ A RQ WKH WDUJHW .%06 $33/,&$7,21 7$5*(7f .12:/('*( %$6( .(51(/ .%06 >VSHFLDO FDVH WDUJHW .%06 VRXUFH .%06 NHUQHO .%06@ D DSSOLFDWLRQ NQRZOHGJH EDVH % DSSOLFDWLRQ NQRZOHGJH EDVH % DSSOLFDWLRQ NQRZOHGJH EDVH )LJXUH 7KH 3URSRVHG ([WHQVLEOH .%06 6FHQDULR

PAGE 40

:H QRZ RXWOLQH WKH WHFKQLTXHV ZH SURSRVH WR DFKLHYH H[WHQVLELOLW\ 7KH EDVLF WHFKQLTXH ZH SURSRVH LV WR UHIOH[LYHO\ DSSO\ GDWD PRGHOLQJ WHFKQLTXHV WR PRGHO WKH GDWD PRGHO LWVHOI DQG WR PRGHO WKH VRIWZDUH DUFKLWHFWXUH RI WKH V\VWHP )LJXUH LOOXVWUDWHV WKLV WHFKQLTXH :KHQ D GDWD PRGHO LV XVHG WR PRGHO DQ DSSOLFDWLRQ VXFK DV D 8QLYHUVLW\ GDWDEDVH D VFKHPD RU FODVV V\VWHP LV SURGXFHG UHSUHVHQWLQJ DQ DEVWUDFW VSHFLILFDWLRQ RI WKH f¯DSSOLFDWLRQ ZRUOGf° 8VLQJ WKH VDPH WHFKQLTXH WKH PRGHO FDQ EH XVHG WR PRGHO LWVHOI UHVXOWLQJ LQ D VFKHPD RU FODVV V\VWHP ZKLFK UHSUHVHQWV D f¯PRGHO RI WKH GDWD PRGHOf° DQG WR PRGHO WKH VRIWZDUH DUFKLWHFWXUH RI WKH .%06 ZKLFK UHVXOWV LQ D f¯PRGHO RI WKH V\VWHPf° :H QRWH WKDW WKH EODFN ER[HV UHIHUUHG WR SUHYLRXVO\ DQG VKRZQ LQ )LJXUH UHSUHVHQW WKHVH PRGHO DQG V\VWHP VFKHPDWD 'DWD PRGHO H[WHQVLRQV DUH UHDOL]HG XVLQJ 0RGHO 5HIOH[LYLW\ ,Q 0RGHO 5HIOH[LYLW\ D GDWD PRGHO ;.20f LV XVHG WR UHIOH[LYHO\ PRGHO LWVHOI 7KLV UHVXOWV LQ D PHWDn PRGHO VFKHPDf§D VHW RI PHWDf FODVVHV ZKLFK DUH XVHG WR GHVFULEH DQG LPSOHPHQW WKH VHPDQWLFV RI WKH GDWD PRGHO ;.20f ,QLWLDOO\ WKLV PHWDPRGHO VFKHPD UHSUHVHQWV D EDVLF DQG JHQHUDOL]HG PRGHO 7R LOOXVWUDWH WKLV FRQFHSW )LJXUH VKRZV D KLJKOHYHO QRW GHWDLOHGf VFKHPD RI WKH f¯PRGHO RI WKH EDVLF ;.20 PRGHOf° 0RGHO ([WHQVLELOn LW\ WKHQ LQYROYHV WDLORULQJ RU FXVWRPL]DWLRQ RI WKH PHWDPRGHO VFKHPD WR H[WHQG WKH EDVLF PRGHO ;.20f LQWR D KLJKOHYHO HQGXVHU GDWD PRGHO 7KH H[WHQVLRQ WR WKH PHWDPRGHO VFKHPD LV FDUULHG RXW XVLQJ D QXPEHU RI H[WHQVLRQ PHFKDQLVPV QDPHO\ XVHUGHILQHG GDWD W\SHV DVVRFLDWLRQ W\SHV PHWKRGV RSHUDWLRQVf DQG NQRZOHGJH UXOHV 5XOHV SURYLGH D FRQYHQLHQW DQG GHFODUDWLYH PHFKDQLVP IRU VSHFLI\LQJ FRQn VWUDLQWV DVVRFLDWHG ZLWK FXVWRPL]HG GDWD PRGHO VHPDQWLFV 7KH WDVN RI WDLORULQJ WKH GDWD PRGHO VFKHPD LV WKH UHVSRQVLELOLW\ RI WKH .%& 'DWD PRGHO H[WHQVLRQV VXFK DV XVHUGHILQHG FODVV W\SHV DQG DVVRFLDWLRQ W\SHV DUH LQYHVWLJDWHG LQ WKLV UHVHDUFK ([WHQVLRQV WR WKH VRIWZDUH DUFKLWHFWXUH RI WKH V\VWHP DUH UHDOL]HG E\ XVLQJ DQ RSHQ DQG PRGXODU VRIWZDUH DUFKLWHFWXUH 7KH REMHFWRULHQWHG SDUDGLJP LV XVHG WR

PAGE 41

UHDO ZRUOG PRGHO DEVWUDFW VSHFLILFDWLRQ DQG LPSOHPHQWDWLRQ RI UHDO ZRUOG )LJXUH $SSO\LQJ GDWD PRGHOLQJ WHFKQLTXHV IRU PRGHO DQG V\VWHP VSHFLILFDWLRQ

PAGE 42

2%-(&7 * FR )LJXUH &ODVV 6\VWHP IRU 0RGHO RI WKH 0RGHO WRS OHYHO YLHZ ZLWK QR GHWDLOVf

PAGE 43

JHQHULFDOO\ PRGHO IXQFWLRQDOO\ GLVWLQFW V\VWHP FRPSRQHQWV PRGXOHVf LQ YDULRXV OD\n HUV UHVXOWLQJ LQ D V\VWHP PHWDDUFKLWHFWXUH VFKHPDf§D VHW RI V\VWHPf FODVVHV ZKLFK D[H XVHG WR GHVFULEH DQG LPSOHPHQW WKH VRIWZDUH DUFKLWHFWXUH RI WKH V\VWHP 7R LOOXVn WUDWH WKLV FRQFHSW )LJXUH VKRZV D KLJKOHYHO QRW GHWDLOHGf VFKHPD RI WKH f¯PRGHO RI WKH V\VWHPf° )XQFWLRQDO H[WHQVLRQV DUH FDUULHG RXW WKURXJK DSSURSULDWH PRGLILFDn WLRQV WR WKH VXEVFKHPD FRUUHVSRQGLQJ WR VSHFLILF IXQFWLRQDO PRGXOHV E\ XVLQJ GDWD W\SHV DVVRFLDWLRQ W\SHV PHWKRGV DQG UXOHV ,Q WKLV GLVVHUWDWLRQ ZH ZLOO LOOXVWUDWH WKLV DSSURDFK XVLQJ WKUHH LPSRUWDQW V\VWHP PRGXOHV QDPHO\ D .HUQHO 2EMHFW 0DQn DJHU D 4XHU\5XOH 3URFHVVRU DQG D 0HWDPRGHO0HWDLQIRUPDWLRQ 0DQDJHPHQW 0RGXOH +RZHYHU WKH VDPH DSSURDFK FDQ EH XVHG LQ GHYHORSLQJ RWKHU PRGXOHV VXFK DV 6WRUDJH 0DQDJHUV 7UDQVDFWLRQ 0DQDJHUV HWF (DFK FKDSWHU RI WKLV GLVVHUWDWLRQ GHDOV ZLWK VRPH DVSHFW RI WKH H[WHQVLEOH GDWD PRGHO DQG WKH RSHQ PRGXODU DQG OD\HUHG IUDPHZRUN DQG DUFKLWHFWXUH IRU QH[WJHQn HUDWLRQ .%06V 7KH ILUVW IHDWXUH RI RXU DSSURDFK LV GHILQLQJ DQ H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f WR VHUYH DV D EDVLV IRU WKH DSSURDFK &KDSWHU GHVFULEHV WKH H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f :H LGHQWLI\ D VHW RI EDVLF RU JHQHUDOL]HG GDWD PRGHO VWUXFWXUDO DEVWUDFWLRQV ZKLFK LQFOXGH WKH JHQHULF QRWLRQV RI REMHFW LQVWDQFH FODVV LGHQWLW\ DQG DVVRFLDWLRQ ;.20 DOVR SURYLGHV EHKDYLRUDO DEVWUDFWLRQV LQ WKH IRUP RI UXOHV DQG PHWKRGV 7KH VSHFLILFDWLRQ RI KLJKOHYHO GHFODUDWLYH UXOHV DUH LQFOXGHG DV SDUW RI FODVV GHILQLWLRQ 7KLV DOORZV IRU DQ LQWHJUDWHG DSSURDFK WR NQRZOHGJH PDQDJHPHQW $QRWKHU LPSRUWDQW DVSHFW RI WKH DSSURDFK ZKLFK LV UHODWHG WR WKH GDWD PRGHO QDPHO\ 0RGHO 5HIOH[LYLW\ LV DOVR GHVFULEHG LQ WKLV FKDSWHU 7KH FODVV V\VWHP WKDW UHVXOWV IURP UHIOH[LYHO\ PRGHOLQJ WKH GDWD PRGHO DOVR VHUYHV DV D QDWXUDO EDVLV IRU PDQDJLQJ PHWDLQIRUPDWLRQ &KDSWHU GHVFULEHV WKH XVH RI WKLV FODVV V\VWHP LQ WKH PDQDJHPHQW RI PHWDLQIRUPDWLRQ ,Q WKH DSSURDFK ZH SURSRVH IRU PDQDJLQJ PHWDLQIRUPDWLRQ DQ LPSRUWDQW IHDWXUH LV WKDW GDWD DQG

PAGE 44

)LJXUH &ODVV 6\VWHP IRU 0RGHO RI WKH 6\VWHP WRS OHYHO YLHZ ZLWK QR GHWDLOVf

PAGE 45

PHWDGDWD LQFOXGLQJ PRGHO V\VWHP DQG DSSOLFDWLRQ PHWD LQIRUPDWLRQf LV PDQDJHG LQ D XQLIRUP DQG LQWHJUDWHG PDQQHU EDVHG RQ WKH REMHFWRULHQWHG SDUDGLJP ,Q FRQWUDVW PDQ\ H[LVWLQJ '%06V WUHDW PHWDGDWD GLIIHUHQWO\ IURP DSSOLFDWLRQ GDWD )RU H[DPSOH WKH QRWLRQ RI FDWDORJ UHODWLRQV LQ UHODWLRQDO V\VWHPV WUHDWV WKH GHILn QLWLRQ RI PHWDGDWD LQ D PDQQHU VLPLODU WR DSSOLFDWLRQ GDWD EXW VSHFLDOL]HG DQG QRQH[WHQVLEOHf DFFHVV URXWLQHV DUH HPEHGGHG LQ WKH V\VWHP IRU DFFHVVLQJ PHWDGDWD GLIIHUHQWO\ IURP DSSOLFDWLRQ GDWD 6LPLODUO\ LQ PDQ\ REMHFWRULHQWHG '%06V PHWDn GDWD LV QRW WUHDWHG OLNH DSSOLFDWLRQ GDWD EXW UDWKHU HPEHGGHG LQ LQWHUQDO VWUXFWXUHV DQG DFFHVV URXWLQHV ,Q WKH DSSURDFK ZH SURSRVH WKH QHFHVVDU\ DFFHVV PHWKRGV IRU PDQLSXODWLQJ PHWDLQIRUPDWLRQ DUH UHDOL]HG E\ VSHFLI\LQJ DSSURSULDWH PHWKRGV LQ WKH FODVVHV WKDW FRPSULVH WKH PHWDPRGHO VFKHPD $ ERRWVWUDS SURFHVV LV XVHG WR LQVWDQWLDWH WKH PHWDPRGHO FODVV V\VWHP DQG JHQHUDWH WKH LQLWLDO VHW RI PHWDREMHFWV ZKLFK GHILQH WKH VHPDQWLFV RI WKH LQLWLDO GDWD PRGHO $OVR WKH VDPH FODVV V\VWHP LV XVHG WR SD[DPHWHUL]H FODVVHV DVVRFLDWLRQV DQG RWKHU GDWD PRGHO FRQFHSWV 7KH PDWHULDO SUHVHQWHG LQ &KDSWHU DQG &KDSWHU SURYLGH D EURDG SHUVSHFWLYH RQ WKH GDWD PRGHO ;.20f DQG WKH XVHIXOQHVV RI WKH FRQFHSW RI 0RGHO 5HIOH[LYLW\ ,VVXHV UHODWLQJ WR WKH UHDOL]DWLRQ RI D NHUQHO .%06 FRUUHVSRQGLQJ WR ;.20 DUH DGGUHVVHG LQ &KDSWHU ZKLFK GHDOV ZLWK WKH PDQDJHPHQW RI NHUQHO REMHFWV 7KH NHUQHO .%06 ZKLFK GHDOV ZLWK WKH PDQDJHPHQW RI NHUQHO REMHFWV PXVW DGGUHVV LVn VXHV UHODWLQJ WR WKH VWRUDJH DQG SURFHVVLQJ RI NHUQHO REMHFWV $ GLVWULEXWHG PRGHO RI VWRUDJH IRU NHUQHO REMHFWV KDYLQJ EHWWHU FKDUDFWHULVWLFV IRU LQKHULWDQFH LV SURSRVHG ,Q RUGHU WR VXSSRUW WKH QRWLRQ RI DVVRFLDWLRQV VWURQJ VXSSRUW LV SURYLGHG IRU SURn FHVVLQJ REMHFW UHIHUHQFHV $FFHVV SDWWHUQV LQ REMHFWRULHQWHG GDWDEDVHV DUH FODVVLILHG DV HLWKHU YDOXHEDVHG DFFHVV RU DVVRFLDWLRQEDVHG DFFHVV DQG SURFHVVLQJ VWUDWHJLHV DUH GHILQHG DFFRUGLQJO\ %DVHG RQ WKHVH IDFWRUV D JHQHUDOL]HG VHW RI NHUQHO REMHFW PDQLSXODWLRQ RSHUDWRUV DUH GHILQHG DV DQ LQWHUIDFH IRU DQ H[WHQVLEOH NHUQHO REMHFW PDQDJHPHQW V\VWHP 7KH VRIWZDUH FRQILJXUDWLRQ DQG FODVV V\VWHP FRUUHVSRQGLQJ WR

PAGE 46

WKLV NHUQHO REMHFW PDQDJHPHQW V\VWHP DUH XVHG WR LOOXVWUDWH WKH FRQFHSW RI PRGHOLQJ WKH VRIWZDUH FRPSRQHQWV RI WKH V\VWHP DUFKLWHFWXUH 7KH LPSOHPHQWDWLRQ RI WKH NHUQHO REMHFW PDQDJHPHQW V\VWHP LV DOVR GHVFULEHG $Q LPSRUWDQW IHDWXUH RI D QH[WJHQHUDWLRQ .%06 LV WKH FDSDELOLW\ WR VSHFLI\ DQG SURFHVV KLJKOHYHO GHFODUDWLYH TXHULHV DQG UXOHV 7KLV DVSHFW LV WKH IRFXV RI &KDSWHU $ JHQHUDOL]HG DSSURDFK WR TXHU\ SURFHVVLQJ IRU REMHFWRULHQWHG GDWDEDVHV XVLQJ DGMDFHQF\ PDWUL[ GDWD VWUXFWXUHV LV XVHG 7KH DSSURDFK LV EDVHG RQ WKH FRQFHSW WKDW TXHU\ SURFHVVLQJ LQ REMHFWRULHQWHG GDWDEDVHV LQYROYHV WKH PDQLSXODWLRQ DQG SURFHVVLQJ RI ODUJH VHWV RI LQVWDQFH JUDSKV RU SDWWHUQV $ UHSUHVHQWDWLRQ VFKHPH XVLQJ DGMDFHQF\PDWUL[EDVHG GDWD VWUXFWXUHV LV SURSRVHG DQG DOJRULWKPV IRU PDQLSXODWLQJ VHWV RI JUDSKV DUH DOVR LQYHVWLJDWHG $ FODVVLILFDWLRQ RI TXHU\ W\SHV XVLQJ JUDSKV DV D EDVLV LV H[SORLWHG WR JHQHUDWH DQG H[HFXWH TXHU\ H[HFXWLRQ SODQV 4(3Vf 7KH VDPH WHFKQLTXH RI PRGHOLQJ VRIWZDUH FRPSRQHQWV RI WKH V\VWHP DUFKLWHFWXUH LV DOVR XVHG LQ WKH FDVH RI WKH TXHU\ SURFHVVRU DQG LOOXVWUDWHV WKH IHDVLELOLW\ RI RXU DSSURDFK IRU DQ H[WHQVLEOH V\VWHP DUFKLWHFWXUH 7KH LPSOHPHQWDWLRQ RI D TXHU\ SURFHVVRU EDVHG RQ WKHVH FRQFHSWV LV GHVFULEHG &KDSWHU SURYLGHV D IXUWKHU VWXG\ RQ 0RGHO ([WHQVLELOLW\ 7ZR LPSRUWDQW IRUPV RI PRGHO H[WHQVLELOLW\ QDPHO\ FODVV H[WHQVLELOLW\ DQG DVVRFLDWLRQ H[WHQVLELOLW\ DUH LQYHVWLJDWHG &ODVV H[WHQVLELOLW\ UHODWHV WR WKH DELOLW\ WR GHILQH GLIIHUHQW W\SHV RI FODVVHV WKDW LV GLIIHUHQW W\SHV RI REMHFWV )RU H[DPSOH D SDUWLFXODU DSSOLFDWLRQ GRPDLQ RU GDWD PRGHO PD\ UHTXLUH WKH QRWLRQ RI GHVLJQ REMHFWV KDYLQJ FHUWDLQ VSHFLILF FKDUDFWHULVWLFV RU VHPDQWLFV $VVRFLDWLRQ H[WHQVLELOLW\ UHODWHV WR WKH DELOLW\ WR GHILQH GLIIHUHQW W\SH RI DVVRFLDWLRQV RU UHODWLRQVKLSV DPRQJ REMHFW FODVVHV ,Q WKLV FDVH WRR D SDUWLFXODU DSSOLFDWLRQ GRPDLQ RU GDWD PRGHO PD\ UHTXLUH WKH QRWLRQ RI D VSHFLDOL]HG DVVRFLDWLRQ RU UHODWLRQVKLS VXFK DV ,QWHUDFWLRQ >68@ 7R LOOXVWUDWH WKHVH FRQFHSWV ZH XVH WKH 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rf >68@ DV DQ HQGXVHU WDUJHW PRGHO DW WKH ORJLFDO OHYHO

PAGE 47

&+$37(5 $1 (;7(16,%/( .(51(/ 2%-(&7 02'(/ ;.20f ,Q WKLV FKDSWHU ZH DGGUHVV WKH GDWD PRGHO DVSHFW RI QH[WJHQHUDWLRQ .%06V E\ SURSRVLQJ DQ H[WHQVLEOH .HUQHO 2EMHFW 0RGHO ;.20f 7KLV FKDSWHU LV RUJDQL]HG DV IROORZV ,Q 6HFWLRQ ZH LQWURGXFH WKH FRQFHSW RI DQ H[WHQVLEOH GDWD PRGHO DSSURDFK RXWOLQH WKH EHQHILWV RI VXFK DQ DSSURDFK DQG VSHFLI\ VRPH UHTXLUHPHQWV IRU GHILQLQJ WKH H[WHQVLEOH GDWD PRGHO ;.20f 7KH VWUXFWXUDO DVSHFWV RI ;.20 DUH SUHVHQWHG LQ 6HFWLRQ DQG LQ 6HFWLRQ ZH XVH WKH GDWD PRGHO WR LOOXVn WUDWH WKH REMHFWRULHQWHG YLHZ RI DQ H[DPSOH GDWDEDVH 7KH EHKDYLRUDO DVSHFWV RI WKH GDWD PRGHO DUH GLVFXVVHG LQ 6HFWLRQ ,Q 6HFWLRQ ZH LQWURGXFH ODQJXDJH FRPSRQHQWV ZKLFK DUH QHFHVVDU\ WR GHILQH DQG XVH WKH YDULRXV VWUXFWXUDO DQG EHKDYn LRUDO DEVWUDFWLRQV )LQDOO\ 6HFWLRQ DGGUHVVHV LVVXHV UHODWHG WR H[WHQGLQJ WKH GDWD PRGHO 7KH ([WHQVLEOH 'DWD 0RGHO $SSURDFK 7R RYHUFRPH WKH OLPLWDWLRQV RI H[LVWLQJ GDWD PRGHOV ZH SURSRVH DQ H[WHQVLEOH GDWD PRGHO DSSURDFK ZKLFK SUHVHUYHV PDQ\ RI WKH DGYDQWDJHV RI H[LVWLQJ KLJKOHYHO REMHFWRULHQWHG GDWD PRGHOV DQG \HW RYHUFRPHV PDQ\ RI WKHLU OLPLWDWLRQV :H QRZ GHVFULEH WKH SKLORVRSK\ XQGHUO\LQJ RXU DSSURDFK 2XU DSSURDFK SURSRVHV WKDW WKH GDWD PRGHO EH H[WHQVLEOH XQOLNH RWKHU DSn SURDFKHV ZKLFK DVVXPH WKDW WKH GDWD PRGHO UHSUHVHQWV D IL[HG VHW RI FRQVWUXFWV WKDW LV D ULJLG IUDPHZRUNf 7R GR VR ZH EHJLQ ZLWK D NHUQHO GDWD PRGHO KDYLQJ D VHW RI FRUH GDWD PRGHO FRQVWUXFWV DQG DGRSW D EXLOGLQJEORFNV DSSURDFK WRZDUGV H[WHQGLQJ WKH NHUQHO GDWD PRGHO WR UHDOL]H D FXVWRPL]HG PRGHO

PAGE 48

%HQHILWV RI WKH $SSURDFK 7KH EHQHILWV RI XVLQJ DQ H[WHQVLEOH GDWD PRGHO DSSURDFK DUH HQXPHUDWHG EHORZ 7KH FRQFHSW RI H[WHQVLELOLW\ DOOHYLDWHV WKH VHPDQWLF JDS VLQFH WKH FXVWRPL]HG GDWD PRGHO FDQ LQFOXGH DSSURSULDWH GDWD PRGHO FRQVWUXFWV WR PRUH DFFXUDWHO\ PRGHO WKH PLQLZRUOG 7KH FRQFHSW RI H[WHQVLELOLW\ HQVXUHV WKDW HPHUJLQJ DSSOLFDWLRQ GRPDLQV KDYLQJ YDU\LQJ DQG G\QDPLF UHTXLUHPHQWV IRU GDWD PRGHOLQJ FDQ EH DFFRPPRGDWHG (DFK DSSOLFDWLRQ XVHV D VSHFLILF GDWD PRGHO FRQVLVWLQJ RI WKH VHW RI NHUQHO FRQVWUXFWV SOXV DQ\ DGGLWLRQDO FRQVWUXFWV LW UHTXLUHV 7KXV WKH DSSOLFDWLRQ GRHV QRW KDYH WR EH EXUGHQHG ZLWK WKH HQWLUH FRPSOH[ GDWD PRGHO ZKLFK PD\ LQFOXGH FRQVWUXFWV QRW QHHGHG E\ WKH DSSOLFDWLRQ 7KLV IHDWXUH LPSOLHV D OHDQHU DQG PRUH HIILFLHQW V\VWHP 7KH LPSOHPHQWDWLRQ FRPSOH[LW\ RI WKH NHUQHO V\VWHP LV UHGXFHG VLQFH WKH EDVLF QDWXUH RI WKH NHUQHO FRQFHSW HQVXUHV WKDW D VPDOO DQG RSWLPL]HG LPSOHPHQWDWLRQ RI WKH FRUH RU NHUQHO V\VWHP FDQ EH UHDOL]HG 'DWD 0RGHO 5HTXLUHPHQWV 7R GHILQH DQ H[WHQVLEOH GDWD PRGHO ZH QRZ RXWOLQH WKUHH NH\ UHTXLUHPHQWV WKDW WKH GDWD PRGHO PXVW VDWLVI\ %DVLF 6WUXFWXUDO $EVWUDFWLRQV 7KH GDWD PRGHO PXVW SURYLGH D VHW RI EDVLF VWUXFWXUDO FRQVWUXFWV ,GHDOO\ WKHVH FRQVWUXFWV PXVW UHSUHVHQW D VHW RI FRUH FRQFHSWV WKDW DUH FRPPRQ WR WKH UDQJH RI H[LVWLQJ REMHFWRULHQWHG DQG VHPDQWLF GDWD PRGHOV 7KH UHVXOWLQJ PRGHO FDQ WKHQ XQLI\ WKHVH H[LVWLQJ GDWD PRGHOV E\ VHUYLQJ DV D FRPPRQ FRUH WR DOO VXFK PRGHOV

PAGE 49

3RZHUIXO %HKDYLRUDO $EVWUDFWLRQV 7KH GDWD PRGHO PXVW SURYLGH SRZHUIXO EHn KDYLRUDO DEVWUDFWLRQV ZKLFK LQFOXGH PHWKRGV DQG UXOHV 0HWKRGV VHUYH DV DQ HIILFLHQW DQG SURFHGXUDO DSSURDFK WR VSHFLI\LQJ EHKDYLRUDO VHPDQWLFV DQG FDQ EH XVHG E\ WKH V\VWHP IRU GHYHORSLQJ DQG PRGLI\LQJ V\VWHP VRIWZDUH DV ZHOO DV E\ HQGXVHU DSSOLFDWLRQV 5XOHV DUH LPSRUWDQW EHFDXVH WKH\ VHUYH DV D SRZHUIXO GHFODUDWLYH DSSURDFK IRU VSHFLI\LQJ EHKDYLRUDO VHPDQWLFV 7KH GHFODUDWLYH QDn WXUH RI UXOHV DLGV H[WHQVLELOLW\ VLQFH UXOHV FDQ EH XVHG LQ D GHFODUDWLYH PDQQHU IRU VSHFLI\LQJ DQG WDLORULQJ V\VWHP DQG DSSOLFDWLRQ VHPDQWLFV ([WHQVLELOLW\ 7KH GDWD PRGHO PXVW EH H[WHQVLEOH 7KDW LV LW PXVW SURYLGH WKH QHFHVVDU\ FRQVWUXFWV WR VSHFLI\ DQG H[WHQG WKH GDWD PRGHO &RQVHTXHQWO\ WKH V\VWHP XQGHUO\LQJ VXFK D PRGHO FDQ EH PDGH H[WHQVLEOH VR DV WR UHDOL]H WKH GDWD PRGHO H[WHQVLRQV %DVLF 'DWD 0RGHOLQJ &RQVWUXFWV 6WUXFWXUH ,Q WKLV VHFWLRQ ZH DGGUHVV WKH ILUVW UHTXLUHPHQW WKDW WKH GDWD PRGHO PXVW VDWLVI\ QDPHO\ WKDW WKH PRGHO SURYLGHV D VHW RI EDVLF VWUXFWXUDO DEVWUDFWLRQV 7R VXSSRUW WKH NHUQHO RU FRUH FRQFHSW D GHOLEHUDWH DWWHPSW LV PDGH WR LGHQWLI\ FRQVWUXFWV WKDW D[H QHLWKHU VHPDQWLFDOO\ WRR VSHFLDOL]HG QRU WRR SULPLWLYH 2EMHFW &ODVV DQG ,QVWDQFH 2EMHFW 6LQFH DQ REMHFW LV D IXQGDPHQWDO QRWLRQ XQGHUO\LQJ DOO REMHFW GDWD PRGHOV ;.20 VXSSRUWV WKH QRWLRQ RI REMHFWV .HUQHO 2EMHFW LV D EDVLF XQLW WKDW PRGHOV WKH DEVWUDFW UHSUHVHQWDWLRQ RI DQ\ HQWLW\ 8QOLNH PDQ\ GDWD PRGHOV DQG V\VWHPV ZKLFK WHQG WR YLHZ REMHFWV PRVWO\ IURP DQ DSSOLFDWLRQ SRLQW RI YLHZ ZH WDNH WKH YLHZ WKDW HYHU\WKLQJ LV DQ REMHFW 7KXV

PAGE 50

GDWD PRGHO FRQVWUXFWV HJ FODVVHV DVVRFLDWLRQV PHWKRGV UXOHVf V\VWHP VRIWZDUH HJ OD\HUV PRGXOHVf DQG DSSOLFDWLRQ GDWD DUH DOO XQLIRUPO\ WUHDWHG DV REMHFWV $Q LPSRUWDQW FRQFHSW WKDW LV SURSRVHG LV WKH QRWLRQ RI GLIIHUHQW W\SHV RI REMHFWV ,Q LWV NHUQHO RU FRUH IRUP ;.20 VXSSRUWV WZR IXQGDPHQWDO W\SHV RI REMHFWV VHOI QDPHG REMHFWV DQG V\VWHPQDPHG REMHFWV VHOIQDPHG REMHFW LV D NHUQHO REMHFW ZKRVH YDOXH VHUYHV DV WKH RQO\ PHFKDQLVP IRU LGHQWLI\LQJ DQG UHIHUHQFLQJ WKH REMHFW V\VWHPQDPHG REMHFW LV D NHUQHO REMHFW WR ZKLFK D JOREDOO\ XQLTXH LGHQWLILHU LV DVn VLJQHG ,Q WKH FDVH RI VHOIQDPHG REMHFWV WKH YDOXH RI WKH REMHFW LV XVHG WR LGHQWLI\ UHIHUHQFH VWRUH DQG SURFHVV WKH REMHFW 6XFK REMHFWV DUH XVHG W\SLFDOO\ WR PRGHO YDOXHV FRUUHVSRQGLQJ WR EDVLF GDWD W\SHV VXFK DV WKH LQWHJHU WKH OLVW > @ RU WKH VWULQJ f¯-RKQf° 6HOIQDPHG REMHFWV XVXDOO\ KDYH DQ XQGHUO\LQJ GRPDLQ FRUUHVSRQGLQJ WR WKHLU YDOXHV VXFK DV ,QWHJHUV 5HDOV 6WULQJV HWF :KLOH LW LV DOZD\V SRVVLEOH WR PRGHO D VHOIQDPHG REMHFW DV D V\VWHPQDPHG REMHFW LW PD\ QRW EH VHPDQWLFDOO\ PHDQLQJIXO WR GR VR DQG FDQ OHDG WR HIILFLHQF\ SUREOHPV 6HOIQDPHG REMHFWV DUH XVXDOO\ HPEHGGHG DV SDUW RI V\VWHPQDPHG REMHFWV 6\VWHPQDPHG REMHFWV D[H XVHG WR PRGHO HQWLWLHV LQ WKH PLQLZRUOG WKDW KDYH D QHHG IRU LQGHSHQGHQW H[LVWHQFH ([DPSOHV RI WKHVH PLQLZRUOG HQWLWLHV LQFOXGH SK\VLFDO REMHFWV HJ D 3HUVRQf DEVWUDFW FRQFHSWV HJ D &RPSDQ\f UHODWLRQVKLSV HJ D 0DUULDJHf HYHQWV HJ DQ (DUWKTXDNHf VRIWZDUH HJ D 0RGXOH D 0HWKRGf HWF 7KH LGHQWLILHUV DVVLJQHG WR VXFK REMHFWV DUH XVHG IRU UHIHUHQFLQJ VXFK REMHFWV DQG LQ WKH VWRUDJH DQG SURFHVVLQJ RI VXFK REMHFWV &ODVV 6LQFH FODVV LV D IXQGDPHQWDO QRWLRQ XQGHUO\LQJ DOO REMHFW GDWD PRGHOV ;.20 VXSSRUWV WKH QRWLRQ RI FODVVHV

PAGE 51

.HUQHO &ODVV LV DQ DEVWUDFWLRQ WKDW GHVFULEHV WKH VWUXFWXUDO DQG EHKDYLRUDO VHPDQn WLFV RI D VHW RI OLNH REMHFWV &ODVVLILFDWLRQ RU WKH QRWLRQ RI D FODVV SURYLGHV D VSHFLILFDWLRQ DQG UHSUHVHQWDn WLRQ IRU D JURXS RI REMHFWV KDYLQJ VLPLODU VHPDQWLFV ,Q ;.20 WKH FODVV LV LWVHOI FRQVLGHUHG WR EH D V\VWHPQDPHG REMHFW $Q LPSRUWDQW FRQFHSW WKDW LV SURSRVHG LV WKH QRWLRQ RI GLIIHUHQW W\SHV RI FODVVHV FRUUHVSRQGLQJ WR GLIIHUHQW W\SHV RI REMHFWV &ODVV ([WHQVLELOLW\f ,Q LWV NHUQHO RU FRUH IRUP ;.20 VXSSRUWV WZR EDVLF W\SHV RI FODVVHV (QWLW\ (fFODVVHV DQG 'RPDLQ 'fFODVVHV (FODVV LV D FODVV UHSUHVHQWLQJ REMHFWV ZKLFK DUH LQGHSHQGHQWO\ DFFHVVLEOH DQG KDYH V\VWHPDVVLJQHG LGHQWLILHUV WKDW LV V\VWHPQDPHG REMHFWVf 'FODVV LV D FODVV UHSUHVHQWLQJ REMHFWV ZKLFK XVH YDOXHV DV WKH PHFKDQLVP IRU LGHQn WLILFDWLRQ DQG IRU UHIHUHQFH WKDW LV VHOIQDPHG REMHFWVf 7KXV (FODVVHV KDYH DQ DVVRFLDWHG VHW RI PDWHULDOL]HG REMHFWV ZKHUHDV 'FODVVHV VHUYH WR GHFODUH GRPDLQV RI YDOXHV IRU PDWHULDOL]LQJ (FODVV REMHFWV ,QVWDQFH .HUQHO ,QVWDQFH LV WKH UHSUHVHQWDWLRQ RU PDWHULDOL]DWLRQ RI D NHUQHO REMHFW LQ D SDUn WLFXODU FODVV $ NHUQHO REMHFW PD\ SDUWLFLSDWH KDYH D UHSUHVHQWDWLRQf LQ PRUH WKDQ RQH FODVV &RQVHTXHQWO\ WKH FRPSOHWH UHSUHVHQWDWLRQ RI D VLQJOH NHUQHO REMHFW LV SDUWLWLRQHG DFURVV DV PDQ\ FODVVHV DV LW EHORQJV WR (IIHFWLYHO\ WKH FRPSOHWH UHSUHVHQWDWLRQ &5f RI D NHUQHO REMHFW LV WKH XQLRQ ERWK VWUXFWXUDOO\ DQG EHKDYLRUDOO\f RI DOO LWV LQVWDQFHV

PAGE 52

7KXV &52Nf ^-ONL } L ZKHUH 2N LV D NHUQHO REMHFW ;NL LV DQ LQVWDQFH RI 2N LQ FODVV L S LV WKH QXPEHU RI FODVVHV WR ZKLFK 2N EHORQJV 7KLV SDUWLWLRQHG RU GLVWULEXWHG YLHZ RI REMHFWV DQG REMHFW LQVWDQFHV ZLOO GLFWDWH WKH PHFKDQLVPV DQG VWUDWHJLHV XVHG IRU VXSSRUWLQJ WKH QRWLRQV RI JHQHUDOL]DWLRQ DQG LQKHULWDQFH 6XFK LVVXHV UHODWLQJ WR WKH LPSOHPHQWDWLRQ RI NHUQHO REMHFWV DQG LQVWDQFHV DUH DGGUHVVHG LQ &KDSWHU ,GHQWLW\ ;.20 LQFRUSRUDWHV D VWURQJ QRWLRQ RI LGHQWLW\ EDVHG RQ WDJJHG VXUURJDWHV IRU V\VWHPQDPHG REMHFWV :H SURSRVH WKH XVH RI V\VWHPGHILQHG VXUURJDWHV ZKLFK FDQ HQIRUFH ERWK WKH LPPXWDELOLW\ DQG XQLTXHQHVV UHTXLUHPHQWV RI LGHQWLW\ 6LQFH ZH DUH WDNLQJ D OD\HUHG DSSURDFK WKH XVH RI VXUURJDWHV UDWKHU WKDQ ORJLFDOf GLVN DGGUHVVHV VHUYHV WR LQVXODWH WKH XSSHU OD\HUV IURP KDYLQJ WR NQRZ WKH DGGUHVV IRUPDWV XVHG E\ ORZHU OD\HUV HJ VWRUDJH PDQDJHUVf WKXV SURYLGLQJ GDWD LQGHSHQGHQFH REMHFW LGHQWLW\ RLGf D XQLTXH N ELW LQWHJHU DVVLJQHG WR HDFK V\VWHPQDPHG REMHFW FODVV LGHQWLW\ FLGf D XQLTXH N ELW LQWHJHU DVVLJQHG WR HDFK FODVV LQ WKH V\VWHP WKDW LV WKH REMHFW LGHQWLILHU RI WKH V\VWHPQDPHG FODVV REMHFW LQVWDQFH LGHQWLW\ LLGf D NNf ELW LQWHJHU XVHG WR LGHQWLI\ WKH LQVWDQWLDWLRQ RI D VSHFLILF REMHFW LQ D SDUWLFXODU FODVV 7KXV LQVWDQFH LGHQWLW\ LLGf FLGf RLGf )LQDOO\ ZH QRWH WKDW LGHQWLW\ LWVHOI LV D VHOIQDPHG REMHFW VLQFH LGHQWLW\ LV UHSUHn VHQWHG DV D SDUWLFXODU YDOXH 7KXV GLIIHUHQW DQG H[WHQVLEOH IRUPDWV IRU LGHQWLW\ FDQ EH UHDOL]HG E\ XVLQJ GLIIHUHQW GRPDLQV RI YDOXHV IRU LGHQWLW\ 7KHVH LVVXHV UHODWLQJ WR WKH LPSOHPHQWDWLRQ RI LGHQWLW\ DUH DGGUHVVHG LQ &KDSWHU

PAGE 53

$VVRFLDWLRQ ,Q GDWD PRGHOLQJ DQ LPSRUWDQW FRQFHSW LV WKH QRWLRQ RI DVVRFLDWLRQV RU UHODn WLRQVKLSV >&+( 68 68@ DPRQJ FODVVHV DQG WKH FRUUHVSRQGLQJ DVVRFLDWLRQV RU UHODWLRQVKLSV DPRQJ REMHFW LQVWDQFHV 7KXV ;.20 VXSSRUWV WKH IXQGDPHQWDO QRWLRQ RI $VVRFLDWLRQ $Q LPSRUWDQW FRQFHSW WKDW ZH SURSRVH LV WKH QRWLRQ RI GLIIHUHQW W\SHV RI DVVRFLDn WLRQV FRUUHVSRQGLQJ WR WKH VHPDQWLFV RI GLIIHUHQW W\SHV RI DVVRFLDWLRQV RU UHODWLRQVKLSV LQ WKH UHDO ZRUOG WKLV QRWLRQ RI $VVRFLDWLRQ ([WHQVLELOLW\ LV GHVFULEHG ODWHU LQ 6HFWLRQ f 7KH QRWLRQ RI GLIIHUHQW W\SHV RI DVVRFLDWLRQV LV DQDORJRXV WR DQG FRPSOHPHQWV WKH QRWLRQ RI GLIIHUHQW W\SHV RI FODVVHV ,Q LWV FRUH RU NHUQHO IRUP ;.20 VXSSRUWV WZR IXQGDPHQWDO DQG RUWKRJRQDO W\SHV RI DVVRFLDWLRQV QDPHO\ *HQHUDOL]DWLRQ *f DQG $JJUHJDWLRQ $f >60,@ *HQHUDOL]DWLRQ *HQHUDOL]DWLRQ UHSUHVHQWV WKH VXSHUVXE FODVV UHODWLRQVKLSV EHWZHHQ WZR FODVVHV ,Q ;.20 HDFK FODVV FDQ KDYH D QXPEHU RI VXSHUFODVVHV DQG HYHU\ FODVV PXVW KDYH DW OHDVW RQH VXSHUFODVV H[FHSW WKH URRW FODVV f¯2%-(&7f°f ZKLFK KDV QR VXSHUFODVV $ FODVV LQKHULWV DOO WKH VWUXFWXUDO DEVWUDFWLRQV RI LWV VXSHUFODVVHV DV ZHOO DV WKH EHKDYLRUDO DEVWUDFWLRQV UXOHV DQG PHWKRGVf GHILQHG IRU LWV VXSHUFODVV $ FODVV FDQ LWVHOI EH D VXEFODVV RI VHYHUDO FODVVHV 7KLV JLYHV ULVH WR D VXSHUFODVVVXEFODVV ODWWLFH RU QHWZRUN 7KH QRWLRQ RI PXOWLSOH LQKHULWDQFH LV VXSSRUWHG IRU VXFK D JHQHUDOL]DWLRQ ODWWLFH RU QHWZRUN $JJUHJDWLRQ $JJUHJDWLRQ LV DQ DVVRFLDWLRQ WKDW GHILQHV D FKDUDFWHUL]DWLRQ UHODWLRQVKLS EHWZHHQ D GHILQLQJ FODVV DQG D FRQVWLWXHQW FODVV $Q REMHFW LQ WKH GHILQLQJ FODVV LV FKDUDFWHUn L]HG RU GHVFULEHG E\ DQ REMHFW LQ WKH FRQVWLWXHQW FODVV ,Q ;.20 DQ DJJUHJDWLRQ DVn VRFLDWLRQ LV LGHQWLILHG E\ D QDPHG PDSSLQJ IURP WKH GHILQLQJ FODVV WR WKH FRQVWLWXHQW

PAGE 54

FODVV 0XOWLSOH DJJUHJDWLRQ DVVRFLDWLRQV DUH JHQHUDOO\ XVHG WR GHVFULEHFKDUDFWHUL]H D FODVV LQ WHUPV RI LWV DVVRFLDWLRQV ZLWK RWKHU FODVVHV &RQVHTXHQWO\ DQ LQVWDQFH RI WKH GHILQLQJ FODVV FRQVLVWV RI WKH LQVWDQFHV RU UHIHUHQFHV WR WKH LQVWDQFHV RI VRPH FRQVWLWXHQW FODVVHV $JJUHJDWLRQ DVVRFLDWLRQV EHWZHHQ DQ (FODVV DQG RQH RU PRUH 'FODVVHV D[H XVHG WR GHVFULEH WKH GHVFULSWLYH DWWULEXWHV RI WKH (FODVV $Q DJJUHn JDWLRQ DVVRFLDWLRQ PD\ KDYH D FDUGLQDOLW\ FRQVWUDLQW ZKLFK VSHFLILHV WKH PDSSLQJ UHODWLRQVKLS EHWZHHQ REMHFWV RI WKH GHILQLQJ FODVV DQG WKH FRQVWLWXHQW FODVV WR EH OQ QO RU QP ,VVXHV DQG GHWDLOV UHODWLQJ WR WKH LPSOHPHQWDWLRQ RI DVVRFLDWLRQV DUH GHVFULEHG LQ &KDSWHU &ODVV 'HILQLWLRQ %DVHG RQ WKH DERYH GHVFULSWLRQ RI WKH GDWD PRGHO ZH QRZ VSHFLI\ WKH VWUXFWXUH RI D FODVV LQ ;.20 $ FODVV FRQVLVWV RI D VSHFLILFDWLRQ DQG DQ LPSOHPHQWDWLRQ ,Q DGGLWLRQ (FODVVHV PD\ KDYH D VHW RI SHUVLVWHQW LQVWDQFHV DVVRFLDWHG ZLWK D FODVV ,Q )LJXUH ZH VKRZ D WHPSODWH UHSUHVHQWLQJ WKH VSHFLILFDWLRQ RI D FODVV LQ ;.20 (DFK FODVV VSHFLILHV D V\VWHPZLGH XQLTXH FODVV QDPH D FODVV W\SH D VHW RI DVVRFLDWLRQV D VHW RI PHWKRGV DQG D VHW RI UXOHV 7KH FODVV W\SH LV VSHFLILHG DV f¯(FODVVf° f¯'FODVVf° RU DQ\ RWKHU XVHUGHILQHG FODVV W\SH $ YDULDEOH LQ WKH IRUP RI D FKDUDFWHU VWULQJ LV XVHG WR VSHFLI\ WKH FODVV W\SH 7KLV DOORZV WKH SDUDPHWHUL]DWLRQ RI FODVV W\SHV VLQFH QR FKDQJHV QHHG EH PDGH LQ WKH ''/ 'DWD 'HILQLWLRQ /DQJXDJHf ZKHQ D QHZ XVHUGHILQHG FODVV W\SH LV DGGHG 7KH DVVRFLDWLRQV VHFWLRQ RI WKH FODVV VSHFLILFDWLRQ VHUYHV WR GHILQH WKH VHW RI VWUXFn WXUDO DVVRFLDWLRQV IRU WKH FODVV (DFK DVVRFLDWLRQ W\SH LV VSHFLILHG DV f¯JHQHUDOL]DWLRQf° f¯DJJUHJDWLRQf° RU DQ\ RWKHU XVHUGHILQHG DVVRFLDWLRQ W\SH &RUUHVSRQGLQJ WR HDFK DVn VRFLDWLRQ W\SH WKH FODVV VSHFLILHV WKH VHW RI DVVRFLDWLRQV RI WKDW W\SH )RU HDFK DVVRFLDWLRQ RI WKDW W\SH DQ DVVRFLDWLRQ QDPH DQG WKH GRPDLQ FRUUHVSRQGLQJ WR WKH FRQVWLWXHQW FODVVHV IRU WKH DVVRFLDWLRQ DUH VSHFLILHG 7KH FRPSOHWH VHW RI VWUXFWXUDO

PAGE 55

&/$66 FODVVQDPH &ODVV7\SH FKDUDFWHUBVWULQJ! r HJ (FODVV r $662&,$7,21 6(&7,21 $VVRFLDWLRQ7\SH JHQHUDOL]DWLRQ ^ 683(5&/$66(6 OLVW RI FODVV QDPHV! 68%&/$66(6 OLVW RI FODVV QDPHV! ` $VVRFLDWLRQ7\SH FKDUDFWHUBVWULQJ! rHJ DJJUHJDWLRQ r ^ DVVRFBQDPH GRPDLQ! DVVRFBQDPH GRPDLQ! DVVRFBQDPH W\SH FRQVWUXFWRU GRPDLQ! ` 0(7+2'6 6(&7,21 ^ 6SHFLILFDWLRQV RI 0HWKRGV ` 58/(6 6(&7,21 ^ 6SHFLILFDWLRQV RI 5XOHV ` )LJXUH 6SHFLILFDWLRQ RI D &ODVV

PAGE 56

DVVRFLDWLRQV RI D FODVV LV WKH VXP RI DVVRFLDWLRQV RI YDULRXV DVVRFLDWLRQ W\SHV 6LPLn ODU WR FODVV W\SH D YDULDEOH LQ WKH IRUP RI D FKDUDFWHU VWULQJ LV XVHG WR VSHFLI\ WKH DVVRFLDWLRQ W\SH ,Q WKLV FDVH WRR WKLV SDUDPHWHUL]DWLRQ RI DVVRFLDWLRQ W\SHV HQVXUHV WKDW QR FKDQJHV DUH QHFHVVDU\ LQ WKH ''/ ZKHQ D QHZ XVHUGHILQHG DVVRFLDWLRQ LV DGGHG 7KH PHWKRG VHFWLRQ RI WKH FODVV VSHFLILFDWLRQ VHUYHV WR GHILQH WKH VHW RI PHWKRGV DSSOLFDEOH WR WKH REMHFWV RI WKDW FODVV DQG WKH UXOH VHFWLRQ VHUYHV WR GHILQH WKH VHW RI UXOHV DSSOLFDEOH WR WKH REMHFWV RI WKDW FODVV 7KH LPSOHPHQWDWLRQ RI D FODVV UHIHUV WR WKH FUHDWLRQ DQG SURFHVVLQJ RI REMHFWV FRUn UHVSRQGLQJ WR WKH FODVV DQG WKH LPSOHPHQWDWLRQ RI WKH PHWKRGV DQG UXOHV DSSOLFDEOH WR WKH REMHFWV RI WKDW FODVV $Q ([DPSOH 'DWDEDVH :H LOOXVWUDWH WKH REMHFWRULHQWHG YLHZ RI DQ H[DPSOH GDWDEDVH DV PRGHOHG E\ ;.20 7KLV REMHFWRULHQWHG YLHZ RI D GDWDEDVH FDQ EH YLHZHG DW WZR OHYHOV )LUVW WKH GDWDEDVH VFKHPD SUHVHQWV D FODVV OHYHO YLHZ RI WKH GDWDEDVH 6HFRQG WKH H[WHQ VLRQDO YLHZ RI WKH GDWDEDVH ZKLFK UHSUHVHQWV DQ REMHFW RU LQVWDQFH OHYHO YLHZ RI WKH GDWDEDVH 'DWDEDVH 6FKHPD $ GDWDEDVH VFKHPD LV UHSUHVHQWHG DV D QHWZRUN RI DVVRFLDWHG LQWHUUHODWHGf FODVVHV :H XVH D JUDSKLFDOYLVXDO UHSUHVHQWDWLRQ FDOOHG 6HPDQWLF GLDJUDPV RU 6GLDJUDPVf >68@ WR GHSLFW D GDWDEDVH VFKHPD ,Q 6GLDJUDPV FODVVHV DUH UHSn UHVHQWHG DV QRGHV DQG DVVRFLDWLRQV D[H UHSUHVHQWHG DV OLQNV EHWZHHQ WKHVH QRGHV } 7KH 6GLDJUDP FRUUHVSRQGLQJ WR DQ H[DPSOH GDWDEDVH LV VKRZQ LQ )LJXUH (FODVVHV DUH VKRZQ DV UHFWDQJXODU QRGHV ZLWK WKH QDPH RI WKH FODVV ZLWKLQ WKH QRGH DQG 'FODVVHV DUH VKRZQ DV FLUFXODU QRGHV ZLWK WKH QDPH DORQJVLGH RU EHORZ WKH QRGH $ VHPDQWLF DVVRFLDWLRQ LV UHSUHVHQWHG DV DQ RXWJRLQJ HGJH IURP D GHILQLQJ

PAGE 57

IDWKHURI VHW RI 5EUVRQ VHFWLRQ HQUROPHQW FODVVSHULRG VHPHVWHU WLWOH  GHSW FRXUVH FDSDFLW\ URRP EOGJQDPH RIILFH )LJXUH $Q H[DPSOH GDWDEDVH VFKHPD FRUUHVSRQGLQJ WR DQ XQLYHUVLW\ DSSOLFDWLRQ

PAGE 58

FODVV WR WKH FRQVWLWXHQW FODVVHVf )URP HDFK FODVV DOO RXWJRLQJ OLQNV RU HGJHV RI D JLYHQ DVVRFLDWLRQ W\SH DUH JURXSHG WRJHWKHU DQG ODEHOHG XVLQJ D OHWWHU WKDW GHQRWHV WKH DVVRFLDWLRQ W\SH 7KH QDPH RI WKH DVVRFLDWLRQ RU DWWULEXWHf LV VKRZQ EHVLGH WKH OLQN DQG LI QR QDPH LV VSHFLILHG WKH QDPH RI WKH XQGHUO\LQJ GRPDLQ LV XVHG DV WKH GHIDXOW DVVRFLDWLRQDWWULEXWH QDPH ,Q WKH )LJXUH (FODVVHV VXFK DV 3HUVRQ )DWKHU RU &RXUVH FRQWDLQ REMHFWV WKDW D[H DEVWUDFW UHSUHVHQWDWLRQV RI FRUUHVSRQGLQJ REMHFWV WKDW LV SHUVRQV IDWKHUV DQG FRXUVHVf LQ WKH UHDO ZRUOG 7KH FODVVHV )DWKHU DQG 0RWKHU DUH VXEFODVVHV RI FODVV 3HUVRQ DQG UHSUHVHQW SHUVRQV LQ WKH UHDO ZRUOG ZKR DUH IDWKHUV DQG PRWKHUV UHVSHFWLYHO\ 7KH JHQHUDOL]DWLRQ RU VXSHUFODVVVXEFODVV DVVRFLDWLRQ PRGHOV WKH IDFW WKDW D SHUVRQ FDQ EH D IDWKHU RU PRWKHU DQG WKDW D IDWKHU RU PRWKHU REMHFW LQKHULWV WKH VWUXFWXUH DQG EHKDYLRU RI SHUVRQ REMHFWV IURP WKH FODVV 3HUVRQ 7KH 6GLDJUDP DOVR LOOXVWUDWHV 'FODVVHV VXFK DV GHJUHH WLWOH HWF ZKLFK DUH XVHG WR GHILQH WKH VWUXFWXUH RI (FODVVHV 'HVFULSWLYH GDWD DWWULEXWHV RI (FODVVHV UHSUHVHQW DJJUHJDWLRQ DVVRFLDWLRQV GHILQHG RYHU 'FODVVHV DQG DUH QDPHG E\ DWWULEXWHV VXFK DV WLWOH GHSW DQG FRXUVH GHILQHG IRU WKH (FODVV &RXUVH $Q DJJUHJDWLRQ DVVRFLDWLRQ GHILQHG RYHU DQRWKHU (FODVV LV LOOXVWUDWHG LQ WKH FODVV )DWKHU ZKLFK GHILQHV D PXOWLYDOXHG DJJUHJDWLRQ DVVRFLDWLRQ FDOOHG IDWKHURI ZKRVH GDWD W\SH LV 6(72) 3HUVRQ DQG KDYLQJ WKH (FODVV 3HUVRQ DV WKH GRPDLQ RU FRQVWLWXHQW FODVV 7KLV DJJUHJDWLRQ LV D PXOWLYDOXHG DVVRFLDWLRQ VLQFH D IDWKHU FDQ KDYH D VHW RI FKLOGUHQ $Q QDU\ UHODWLRQVKLS FDQ EH UHSUHVHQWHG E\ GHILQLQJ DQ (FODVV KDYLQJ Q ELQDU\ DJJUHJDWLRQf DVVRFLDWLRQV RYHU WKH Q FODVVHV SDUWLFLSDWLQJ LQ WKH UHODWLRQVKLS 7KH SURSHUWLHV DQG FRQVWUDLQWV RI WKH QDU\ UHODWLRQVKLS DUH DVVRFLDWHG ZLWK REMHFWV LQ WKH GHILQLQJ (FODVV DQG REMHFWV LQ WKH FRQVWLWXHQW (FODVVHV 7KH H[DPSOH VFKHPD LOOXVWUDWHV KRZ D WHUQDU\ UHODWLRQVKLS PD\ EH GHILQHG LQ WKH FODVV 6HFWLRQ 7KH FODVV 6HFWLRQ UHSUHVHQWV WKLV WHUQDU\ UHODWLRQVKLS E\ XVLQJ WKUHH ELQDU\ DJJUHJDWLRQf DVVRFLDWLRQV &RQVWUDLQWV UHODWLQJ WR WKH WHUQDU\ UHODWLRQVKLS FDQ WKHQ EH VSHFLILHG

PAGE 59

RQ VXFK D VHW RI ELQDU\ DVVRFLDWLRQV )RU H[DPSOH D SDUWLFXODU FRXUVH PXVW EH WDXJKW E\ D WHDFKHU DW D ORFDWLRQ FODVVURRPf 6XFK D UHODWLRQVKLS LV UHSUHVHQWDWLYH RI D W\SLFDO FODVV VFKHGXOLQJ SURFHVV LQ D XQLYHUVLW\ HQYLURQPHQW 'DWDEDVH ([WHQVLRQ $ GDWDEDVH H[WHQVLRQ LV UHSUHVHQWHG DV D QHWZRUN RI DVVRFLDWHG REMHFW LQVWDQFHV :H XVH D JUDSKLFDOYLVXDO UHSUHVHQWDWLRQ FDOOHG DQ 2EMHFW 'LDJUDP WR GHSLFW WKH GDWDEDVH H[WHQVLRQ $ GRW LQ DQ REMHFW GLDJUDP GHQRWHV DQ REMHFW LQVWDQFH LGHQWLILHG E\ LWV XQLTXH ,,' DQG D VROLG HGJH EHWZHHQ LQVWDQFHV LQGLFDWHV DQ REMHFW UHIHUHQFH $Q RYDO FRQWDLQLQJ D VHW RI GRWV LV XVHG WR LOOXVWUDWH D VHW RU VXEVHWf RI LQVWDQFHV IURP D JLYHQ FODVV ,Q )LJXUH ZH LOOXVWUDWH DQ H[DPSOH REMHFW GLDJUDP FRUUHVSRQGLQJ WR SDUW RI WKH GDWDEDVH VFKHPD RI )LJXUH 1RWH WKDW LQ DQ REMHFW GLDJUDP ZH GR QRW GLVWLQJXLVK EHWZHHQ WKH W\SHV RI OLQNV RU REMHFW UHIHUHQFHV EHWZHHQ REMHFWV VLQFH WKH 6GLDJUDP FDSWXUHV WKLV DVSHFW WKURXJK UHODWLRQVKLSV RU DVVRFLDWLRQV DW WKH FODVV OHYHO +RZHYHU IRU WKH VDNH RI FODULW\ ZH XVH D GRWWHG HGJH EHWZHHQ LQVWDQFHV RI WKH FODVV 3HUVRQ DQG LQVWDQFHV RI WKH FODVV )DWKHU LQ )LJXUH WR GLVWLQJXLVK EHWZHHQ WKH WZR GLIIHUHQW DVVRFLDWLRQV DPRQJ WKH 3HUVRQ DQG )DWKHU FODVVHV 7KH GRWWHG OLQH LV XVHG WR LQGLFDWH WKH IDWKHURI DVVRFLDWLRQ 6LPLODUO\ D GRWWHG OLQH EHWZHHQ LQVWDQFHV RI FODVV 3HUVRQ DQG LQVWDQFHV RI FODVV 0RWKHU LQGLFDWHV WKH PRWKHURI DVVRFLDWLRQ )RU VLPSOLFLW\ ZH ZLOO XVH ORZHU FDVH DOSKDEHWLF OHWWHUV WDNHQ IURP WKH QDPH RI WKH FODVV WR LQGLFDWH FODVV LGHQWLW\ DQG LQWHJHUV WR LQGLFDWH REMHFW LGHQWLW\ 7KXV DQ LQVWDQFH LV UHSUHVHQWHG E\ D GRW KDYLQJ DQ DOSKDQXPHULF LQVWDQFH LGHQWLILHU :H VHH WKDW LQVWDQFH V LQ FODVV 6HFWLRQ LV DVVRFLDWHG ZLWK LQVWDQFHV W DQG W LQ FODVV 7HDFKHU LQVWDQFH LQ FODVV /RFDWLRQ DQG LQVWDQFH F LQ FODVV &RXUVH 7KLV UHSUHVHQWV WKH IDFW WKDW D VHFWLRQ Vf FRUUHVSRQGLQJ WR D FRXUVH Ff LV WDXJKW E\ WHDFKHUV W Wf 7R LOOXVWUDWH D *DVVRFLDWLRQ ZH REVHUYH WKDW LQVWDQFH S LQ FODVV 3HUVRQ UHSUHVHQWV D SHUVRQ ZKR LV D IDWKHU DQG D WHDFKHU 7KXV WKHUH DUH FRUUHVSRQGLQJ LQVWDQFHV I Wf LQ FODVV )DWKHU DQG LQ FODVV 7HDFKHU UHVSHFWLYHO\

PAGE 60

3(5621 )LJXUH $QRO}m GLDJUDP VKRZL Q6 SDLU RI WKH GDWDEDVH H[WHQVLRQ ORFDWLRQ

PAGE 61

7KDW LV DQ REMHFW KDYLQJ WKH VDPH RLG FDQ LQVWDQWLDWH VHYHUDO FODVVHV ,QFLGHQWDOO\ LQVWDQFH I LQ FODVV )DWKHU LV WKH IDWKHU RI S DV LQGLFDWHG LQ WKH DVVRFLDWLRQ EHWZHHQ I DQG S 7KHQ VLQFH W LV WKH LQVWDQFH RI FODVV 7HDFKHU FRUUHVSRQGLQJ WR WKH SHUVRQ S ZH FDQ LQIHU IURP WKH REMHFW GLDJUDP WKDW WKH WZR WHDFKHUV WKDW DUH WHDFKLQJ VHFWLRQ V DUH D IDWKHU DQG D FKLOG &RQFHSWXDOO\ DQ HQWLUH GDWDEDVH UHSUHVHQWV RQH JLDQW REMHFW GLDJUDP FRQWDLQLQJ PDQ\ FRPSOH[ REMHFW DVVRFLDWLRQ SDWWHUQV 7KXV VSHFLI\LQJ DVVRFLDWLRQ SDWWHUQV RI LQWHUHVW LV DQ LPSRUWDQW FRQFHSW IRU WKH TXHU\ DQG UXOH ODQJXDJHV DV ZHOO DV IRU WKH ODQJXDJH XVHG WR GHILQH PHWKRGV 7KLV DVSHFW ZLOO EH HYLGHQW ODWHU ZKHQ WKH ODQJXDJH FRPSRQHQWV RI WKH GDWD PRGHO DUH GHVFULEHG %DVLF 'DWD 0RGHOLQJ &RQVWUXFWV %HKDYLRU ,Q WKLV VHFWLRQ ZH DGGUHVV WKH VHFRQG UHTXLUHPHQW WKDW WKH GDWD PRGHO PXVW VDWLVI\ QDPHO\ WKDW WKH PRGHO SURYLGHV D VHW RI SRZHUIXO EHKDYLRUDO DEVWUDFWLRQV ;.20 SURYLGHV WZR IRUPV RI EHKDYLRUDO DEVWUDFWLRQV DV RXWOLQHG EHORZ 0HWKRGV 7KH GDWD PRGHO SURYLGHV PHWKRGV DV D SURFHGXUDO IRUP RI EHKDYn LRUDO DEVWUDFWLRQ 0HWKRGV DUH VSHFLILHG DV SDUW RI D FODVV GHILQLWLRQ DQG DUH DSSOLFDEOH WR WKH VHW RI REMHFWV ZKLFK UHSUHVHQW WKH H[WHQVLRQ RI WKH FODVV 5XOHV 7KH GDWD PRGHO SURYLGHV UXOHV DV D GHFODUDWLYH IRUP RI EHKDYLRUDO DEn VWUDFWLRQ /LNH PHWKRGV UXOHV DUH VSHFLILHG DV SDUW RI D FODVV GHILQLWLRQ DQG DUH DSSOLFDEOH WR WKH VHW RI REMHFWV ZKLFK UHSUHVHQW WKH H[WHQVLRQ RI WKH FODVV +RZHYHU UXOHV SURYLGH D SRZHUIXO IRUP RI EHKDYLRUDO DEVWUDFWLRQ VLQFH WKHLU GHFODUDWLYH QDWXUH DOORZV IRU FRQYHQLHQW DQG IOH[LEOH VSHFLILFDWLRQ RI EHKDYLRUDO VHPDQWLFV /DQJXDJH &RPSRQHQWV 7R VSHFLI\ WKH VWUXFWXUDO DQG EHKDYLRUDO DEVWUDFWLRQV GHVFULEHG LQ 6HFWLRQV DQG D ODQJXDJH RU D VHW RI ODQJXDJHV DUH QHHGHG :H GLVFXVV WKH YDULRXV ODQJXDJH

PAGE 62

FRPSRQHQWV WKDW DUH QHHGHG WR VSHFLI\ DQG SURFHVV WKH EHKDYLRUDO DV ZHOO DV VWUXFn WXUDO VHPDQWLFV RI D FODVV :H ZLOO XVH UXOHV DQG PHWKRGV WR LOOXVWUDWH EHKDYLRUDO VHPDQWLFV LQ WKH FRQWH[W RI SHUVLVWHQW GDWD REMHFW LQVWDQFHVf EDVHG RQ WKH H[DPSOH VFKHPD RI )LJXUH ,Q WKLV GLVFXVVLRQ ZH VKDOO IRFXV RQ WKH QRWLRQ RI EHKDYLRUDO DQG VWUXFWXUDO DEVWUDFWLRQV XVLQJ RQH RU PRUH ODQJXDJH FRPSRQHQWV WR VSHFLI\ DQG SURFHVV VXFK DEn VWUDFWLRQV )RU WKH VDNH RI FRPSOHWHQHVV ZH ZLOO DOVR FRQVLGHU ODQJXDJH FRPSRQHQWV VXFK DV TXHU\ ODQJXDJHV ZKLFK DUH XVHG IRU REMHFW UHWULHYDO DQG PDQLSXODWLRQ 7KH VSHFLILFDWLRQV RI VXFK ODQJXDJHV D[H RXWVLGH WKH VFRSH RI WKLV GLVVHUWDWLRQ DQG DQ\ ODQJXDJH WKDW VXSSRUWV WKHVH FRQFHSWV FDQ EH XVHG )RU ;.20 ZH ZLOO DGDSW ODQn JXDJH FRPSRQHQWV IURP SUHYLRXV DQG RQJRLQJ UHVHDUFK >$/$D $/$E '6 385 6+< 68@ RI WKH 'DWDEDVH 6\VWHPV 5HVHDUFK DQG 'HYHORSPHQW &HQWHU 8QLYHUVLW\ RI )ORULGD 7KH ODQJXDJH FRPSRQHQWV WKDW DUH QHHGHG D[H HQXPHUDWHG EHORZ .'/ $ .QRZOHGJH 'HILQLWLRQ /DQJXDJH DQDORJRXV WR D ''/ 'DWD 'HILn QLWLRQ /DQJXDJHf FRPSRQHQW ZKLFK LV XVHG WR VSHFLI\ FODVV GHILQLWLRQV GHILQH FODVV KLHUDUFKLHV DQG NQRZOHGJH VFKHPDWD LQ WKH GDWD PRGHO ,QWHJUDO WR WKLV QRWLRQ RI D .'/ FRPSRQHQW LV WKH QRWLRQ RI D .QRZOHGJH RU 'DWD 'LFWLRQDU\ XVHG WR PDLQWDLQ PHWDLQIRUPDWLRQ $V SDUW RI NQRZOHGJH GHILQLWLRQ D UXOH VSHFLILFDWLRQ ODQJXDJH FRPSRQHQW LV DOVR QHHGHG 56/ $ 5XOH 6SHFLILFDWLRQ /DQJXDJH FRPSRQHQW WKDW LV XVHG WR VSHFLI\ WKH NQRZOHGJH UXOHV DVVRFLDWHG ZLWK LQVWDQFHV DQG FODVVHV 7KH UXOH ODQJXDJH FRPn SRQHQW PXVW EH GHFODUDWLYH DQG H[SUHVVLYH HQRXJK IRU VSHFLI\LQJ D YDULHW\ RI VHPDQWLF FRQVWUDLQWV .0/ $ .QRZOHGJH 0DQLSXODWLRQ /DQJXDJH FRPSRQHQW WKDW LV XVHG WR PDQLSn XODWH WKH SHUVLVWHQW REMHFWV LQ WKH NQRZOHGJH EDVH 7KH .0/ PXVW LQFOXGH D

PAGE 63

4XHU\ /DQJXDJH 4/f FRPSRQHQW 7KLV ODQJXDJH FRPSRQHQW PXVW EH GHFODUn DWLYH SURYLGH VHWRULHQWHG DFFHVV DQG SURYLGH DQ DSSURSULDWH H[HFXWLRQ PRGHO DQG FRQFHSWV IRU TXHU\ SURFHVVLQJ DQG REMHFW PDQLSXODWLRQ .%3/ $ .QRZOHGJH %DVH 3URJUDPPLQJ /DQJXDJH .%3/f FRPSRQHQW WKDW LV XVHG IRU FRGLQJ WKH PHWKRGV RI D JLYHQ FODVV $ .%3/ PXVW EH FRPSXn WDWLRQDOO\ FRPSOHWH WKDW LV SRVVHVV WKH IXOO FDSDELOLWLHV RI D JHQHUDOSXUSRVH SURJUDPPLQJ ODQJXDJHf IDFLOLWDWH LQWHJUDWHG DFFHVV WR SHUVLVWHQW REMHFWV DQG SURYLGH DQ DSSURSULDWH PRGHO RI H[HFXWLRQ SUHIHUDEO\ REMHFWRULHQWHGf ,W LV DOVR SRVVLEOH IRU WKH ILUVW WKUHH ODQJXDJH FRPSRQHQWV GHVFULEHG DERYH WR EH LQFRUSRUDWHG LQWR D VLQJOH .%3/ WKXV SURYLGLQJ DQ LQWHJUDWHG ODQJXDJH WR VSHFLI\ DQG SURFHVV FODVVHV UXOHV PHWKRGV DQG SHUVLVWHQW REMHFWV $Q LPSRUWDQW LVVXH LV WKDW WKHVH ODQJXDJHV RU ODQJXDJH FRPSRQHQWV EH GHVLJQHG WR EH FRPSDWLEOH ZLWK DQG FRPSOHPHQWDU\ WR RQH DQRWKHU DQG WR VXSSRUW WKH VWUXFn WXUDO DQG EHKDYLRUDO DEVWUDFWLRQV RI WKH GDWD PRGHO :H QRWH WKDW LW LV SRVVLEOH WR GHVLJQ WKHVH IRXU ODQJXDJH FRPSRQHQWV DV LQGLYLGXDO ODQJXDJHV RU DV D VLQJOH LQWHn JUDWHG ODQJXDJH DV ORQJ DV WKH VDPH IXQFWLRQDOLW\ LV DFKLHYHG ,Q SURJUDPPLQJ ODQJXDJHV VXFK DV 6PDOOWDON >*2/@ RU & >675@ WKH ODQJXDJH UHSUHVHQWV DQ LQWHJUDWLRQ RI GDWD GHILQLWLRQ DQG SURJUDPPLQJ ODQJXDJH FRPSRQHQWV ZLWK FODVV GHIn LQLWLRQ EHLQJ FDUULHG RXW VHSDUDWHO\ IURP PHWKRG LPSOHPHQWDWLRQ 6XFK ODQJXDJHV ODFN D GDWD PDQLSXODWLRQ RU TXHU\ ODQJXDJH FRPSRQHQW VLQFH WKH ODQJXDJHV GR QRW VXSSRUW SHUVLVWHQW REMHFWV DQG D UXOH ODQJXDJH FRPSRQHQW LV QRW SURYLGHG VLQFH WKH ODQJXDJHV GR QRW VXSSRUW UXOHV ,Q 'DWDEDVH 3URJUDPPLQJ /DQJXDJHV '%3/Vf VXFK DV 2SDO >6(5@ DQG *DOOLOHR >$/%@ WKH SURJUDPPLQJ ODQJXDJH FRPSRQHQW LV LQn WHJUDWHG ZLWK D GDWD PDQLSXODWLRQ FRPSRQHQW WR SURFHVV SHUVLVWHQW REMHFWV 6XFK ODQJXDJHV GR QRW VXSSRUW UXOHV DQG ODFN WKH DELOLW\ WR VSHFLI\ GHFODUDWLYH TXHULHV GXH WR WKH DEVHQFH RI D TXHU\ ODQJXDJH FRPSRQHQW

PAGE 64

7KH IRXU ODQJXDJH FRPSRQHQWV GHVFULEHG DERYH UHSUHVHQW WKH VSHFLILFDWLRQ DQG SURFHVVLQJ RI VWUXFWXUDO VHPDQWLFV VSHFLILFDWLRQ DQG SURFHVVLQJ RI EHKDYLRUDO VHPDQn WLFV DQG DOVR REMHFW TXHU\LQJ DQG PDQLSXODWLRQ 9HU\ IHZ H[LVWLQJ V\VWHPV SRVVHVV WKH FRPSOHWH VHW RI WKHVH ODQJXDJH FRPSRQHQWV ,Q UHODWHG UHVHDUFK DW WKH 'DWDEDVH 6\VWHPV 5HVHDUFK DQG 'HYHORSPHQW &HQWHU DQ 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDn WLRQ 0RGHO 26$0rf >68@ KDV EHHQ GHYHORSHG DV D SRZHUIXO HQGXVHU GDWD PRGHO IRU VXSSRUWLQJ FRPSOH[ DSSOLFDWLRQ GRPDLQV 9DULRXV ODQJXDJH FRPSRQHQWV KDYH EHHQ GHVLJQHG DQG GHYHORSHG LQFOXGLQJ D .'/ FRPSRQHQW D .0/ FRPSRQHQW DQG D 56/ FRPSRQHQW ,Q WKLV UHVHDUFK ZH ZLOO DGDSW DQG XVH WKH .'/ .0/ DQG 56/ FRPSRQHQWV IURP 26$0r )RU WKH LQWHUHVWHG UHDGHU GHWDLOV RI WKH TXHU\ DQG UXOH ODQJXDJH DQG WKH UXOHV V\VWHP FDQ EH IRXQG LQ >$/$D $/$E &+8 6,1 68@ $Q DVVRFLDWLRQ DOJHEUD ZKLFK VHUYHV DV WKH XQGHUO\LQJ IRUPDO EDn VLV IRU WKH SDWWHUQEDVHG ODQJXDJHV LV GHVFULEHG LQ >*82 *8@ $Q LQWHJUDWHG NQRZOHGJHEDVH SURJUDPPLQJ ODQJXDJH GHVLJQ LV SUHVHQWHG LQ >6+<@ ,Q WKH LQn WHULP WKH SURJUDPPLQJ ODQJXDJH FRPSRQHQW ZLOO EH DGGUHVVHG LQ WKH FRQWH[W RI WKH & SURJUDPPLQJ ODQJXDJH >675@ WR VSHFLI\ DQG ZULWH PHWKRGV 7KH EHKDYLRUDO DVSHFWV RI ;.20 DUH QRZ LOOXVWUDWHG XVLQJ WKHVH ODQJXDJH FRPSRQHQWV 4XHULHV DQG 0HWKRGV 7KH .0/ ODQJXDJH FRPSRQHQW RI ;.20 LV LOOXVWUDWHG E\ DGGUHVVLQJ PHWKRGV LQ WKH FRQWH[W RI TXHULHV VLQFH TXHULHV IRUP DQ LPSRUWDQW PHFKDQLVP IRU UHWULHYLQJ WKH GDWD WKDW D PHWKRG DFWV XSRQ $ VLPSOH H[DPSOH ZLOO EH XVHG WR LOOXVWUDWH WKLV FRQFHSW 7KH TXHU\ PRGHO DQG ODQJXDJH GHYHORSHG LQ >$/$D@ DUH EDVHG XSRQ WZR NH\ FRQFHSWV )LUVW TXHULHV DUH VSHFLILHG EDVHG XSRQ DVVRFLDWLRQ SDWWHUQV RI LQWHUHVW WR WKH XVHU 6HFRQG WKH ODQJXDJH VDWLVILHV WKH SURSHUW\ RI FORVXUH 7KDW LV TXHULHV LVVXHG DJDLQVW D GDWDEDVH SURGXFH D UHVXOW WKDW LV VWUXFWXUHG DQG PRGHOHG XVLQJ WKH

PAGE 65

VDPH GDWD PRGHO DV WKH RULJLQDO GDWDEDVH 7KH UHVXOW RI D TXHU\ FDQ WKHQ IXUWKHU RSHUDWHG XSRQ E\ RWKHU TXHULHV ,Q WKH 2EMHFWRULHQWHG 4XHU\ /DQJXDJH 24/f D TXHU\ LV FRQVLGHUHG WR EH D IXQFWLRQ ZKLFK ZKHQ DSSOLHG WR D GDWDEDVH RU D VXEGDWDEDVHf UHWXUQV D VXEn GDWDEDVH ZKLFK LV FRPSRVHG RI VRPH VHOHFW REMHFW FODVVHV ZLWK HDFK REMHFW FODVV FRQWDLQLQJ D VXEVHW RI LWV LQVWDQFHVf DQG VRPH VHOHFWHG DVVRFLDWLRQV EHWZHHQ WKHVH FODVVHV $ VXEGDWDEDVH IRUPV D f¯FRQWH[Wf° XQGHU ZKLFK IXUWKHU SURFHVVLQJ VXFK DV WKH LQYRFDWLRQ RI XVHUV\VWHP GHILQHG PHWKRGV HJ XSGDWH SULQWf FDQ EH FDUULHG RXW 7KH H[HFXWLRQ RI WKH TXHU\ FDQ EH FRQVLGHUHG DV KDYLQJ WZR SKDVHV )LUVW WKH HVWDEOLVKPHQW RI D VXEGDWDEDVH FRQWH[W 6HFRQG WKH SURFHVVLQJ RI V\VWHP RU XVHU GHILQHG PHWKRGV HJ UHWULHYLQJ WKH GHVFULSWLYH GDWD IRU WKH TXHU\ 6SHFLI\LQJ TXHULHV $ TXHU\ LV VSHFLILHG LQ 24/ XVLQJ WKH IROORZLQJ TXHU\ VWUXFWXUH &217(;7 $VVRFLDWLRQ 3DWWHUQ ([SUHVVLRQf :+(5( LQWHUFODVV FRQGLWLRQVf 6(/(&7 REMHFW FODVVHV DQGRU DWWULEXWHVf FODVV RSHUDWLRQQDPH SDUDPHWHUOLVWf ,Q WKH &217(;7 FODXVH WKH XVHU VSHFLILHV D VXEGDWDEDVH RI LQWHUHVW XVLQJ DQ $VVRFLDWLRQ 3DWWHUQ ([SUHVVLRQ $3(f 7KH &217(;7 FODXVH FDXVHV D VHW RI GDWDn EDVH H[WHQVLRQDO SDWWHUQV ZKLFK VDWLVI\ WKH &217(;7 FODXVH WR EH H[WUDFWHG IURP WKH GDWDEDVH $VVRFLDWHG ZLWK WKH &217(;7 FODXVH DUH WKH RSWLRQDO :+(5( DQG 6(/(&7 VXEFODXVHV 7KH :+(5( VXEFODXVH VSHFLILHV VRPH LQWHUFODVV FRQGLWLRQV EDVHG RQ DWWULEXWH YDOXHV ZKLFK IXUWKHU FDXVHV VRPH H[WHQVLRQDO SDWWHUQV WKDW GR QRW VDWLVI\ WKH ZKHUH FRQGLWLRQ WR EH GURSSHG IURP WKH VXEGDWDEDVH 7KH 6(/(&7 FODXVH SURYLGHV WKH FDSDELOLW\ IRU WKH XVHU WR IXUWKHU VHOHFW VRPH FODVVHV IURP WKH VXEGDWDEDVH DQG SURMHFW RXW GHVFULSWLYH DWWULEXWHV RI REMHFW IURP VXFK FODVVHV 7KH RSHUDWLRQ FODXVH DOORZV WKH XVHU WR VSHFLI\ D VHW RI PHVVDJHV WR LQYRNH D VHTXHQFH RI

PAGE 66

PHWKRGV GHILQHG IRU FODVVHV FRPSULVLQJ WKH VXEGDWDEDVHf ZKLFK DUH WR EH H[HFXWHG RQ REMHFWV LQ WKH VXEGDWDEDVH 7KH NH\ FRPSRQHQW RI D TXHU\ EORFN LV WKH FRQWH[W FODXVH ZKLFK VSHFLILHV D VXEGDWDEDVH 7KH HVWDEOLVKPHQW RI D VXEGDWDEDVH FRQWH[W FDQ EH YLHZHG DV D f¯ILOn WUDWLRQf° SURFHVV LQ ZKLFK REMHFWV RI LQWHUHVW DQG WKH DVVRFLDWLRQ SDWWHUQV RI LQWHUHVW DUH f¯ILOWHUHG RXWf° IURP WKH RULJLQDO GDWDEDVH 7KH $3( VSHFLILHV D VXEGDWDEDVH E\ WKH XVH RI VHYHUDO RSHUDWRUV VXFK DV WKH DVVRFLDWLRQ RSHUDWRU rf DQG WKH QRQDVVRFLDWLRQ RSHUDWRUf :KHQ WKH DVVRFLDWLRQ RSHUDWRU rf LV DSSOLHG WR WZR GLUHFWO\ DVVRFLDWHG (FODVVHV $ DQG % LQ WKH GDWDEDVH LH XVLQJ $r% DV WKH $3(f LW UHWXUQV D VXEGDWDEDVH ZKRVH LQWHQVLRQDO SDWWHUQ FRQVLVWV RI WKH FODVVHV $ DQG % DQG WKHLU DVVRFLDWLRQ 7KH UHVXOWLQJ VXEGDWDEDVH FRQWDLQV D VHW RI H[WHQVLRQDO SDWWHUQV FRQWDLQLQJ REMHFWV IURP FODVV $ DQG REMHFWV IURP FODVV % VXFK WKDW HYHU\ REMHFW VHOHFWHG IURP FODVV $ LV GLUHFWO\ DVVRFLDWHG ZLWK LH KDV REMHFW UHIHUHQFH WRf DW OHDVW RQH REMHFW IURP FODVV % DQG YLFH YHUVD :KHQ WKH QRQDVVRFLDWLRQ RSHUDWRU f LV DSSOLHG WR WZR GLUHFWO\ DVVRFLDWHG (FODVVHV $ DQG % LQ WKH GDWDEDVH LH XVLQJ $% DV WKH $3(f LW UHWXUQV D VXEGDWDEDVH ZKRVH LQWHQVLRQDO SDWWHUQ FRQVLVWV RI WKH FODVVHV $ DQG % DQG WKHLU DVVRFLDWLRQ +RZHYHU WKH UHVXOWLQJ VXEGDWDEDVH FRQWDLQV D VHW RI H[WHQVLRQDO SDWWHUQV FRQWDLQLQJ REMHFWV IURP FODVV $ DQG REMHFWV IURP FODVV % VXFK WKDW HYHU\ REMHFW VHOHFWHG IURP FODVV $ LV QRW DVVRFLDWHG ZLWK LH KDV QR REMHFW UHIHUHQFH WRf DQ\ REMHFW IURP FODVV % DQG YLFH YHUVD $Q $3( VSHFLILHV EUDQFKHV LQ DQ DVVRFLDWLRQ SDWWHUQ E\ WKH XVH RI $1' 25 RSHUDWRUV LQ FRQMXQFWLRQ ZLWK WKH r RSHUDWRUV $ IRUN FODVV LV WKH FODVV DW ZKLFK WKH $1' RU 25 FRQGLWLRQ LV XVHG WR LQGLFDWH D EUDQFKLQJ RI DVVRFLDWLRQV 7KH $1' RSHUDWRU ZKHQ XVHG LQ FRQMXQFWLRQ ZLWK WKH r RSHUDWRU LPSOLHV WKDW LQ WKH UHVXOWLQJ VXEGDWDEDVH HDFK LQVWDQFH RI WKH IRUN FODVV PXVW EH DVVRFLDWHG ZLWK DW OHDVW RQH LQVWDQFH IURP HYHU\ EUDQFK FODVV $Q 25 RSHUDWRU XVHG LQ FRQMXQFWLRQ ZLWK WKH r

PAGE 67

RSHUDWRU LPSOLHV WKDW LQ WKH UHVXOWLQJ VXEGDWDEDVH HDFK LQVWDQFH RI WKH IRUN FODVV PXVW EH DVVRFLDWHG ZLWK DW OHDVW RQH LQVWDQFH IURP DW OHDVW RQH RI WKH EUDQFK FODVVHV $Q HTXLYDOHQW LQWHUSUHWDWLRQ DSSOLHV WR WKH XVH RI WKH $1' 25 RSHUDWRUV ZLWK WKH RSHUDWRU )XUWKHU GHWDLOV RI WKH TXHU\ ODQJXDJH D[H DYDLODEOH LQ >$/$D@ DQG GHWDLOV RI WKH DVVRFLDWLRQ DOJHEUD D[H DYDLODEOH LQ >*82@ ([DPSOH TXHU\ 7R LOOXVWUDWH KRZ PHWKRGV FDQ EH VSHFLILHG DQG H[HFXWHG DJDLQVW D VXEGDWDEDVH ZH XVH DQ H[DPSOH TXHU\ ZKLFK LQYRNHV D PHWKRG 4XHU\ 3ULQW D VFKHGXOH IRU DOO &,6 JUDGXDWH FODVVHV ZKLFK KDYH D FXUUHQW RIIHULQJ DQG KDYH EHHQ DVVLJQHG D WHDFKHUVf DQG ORFDWLRQ " 7KH FRUUHVSRQGLQJ 24/ TXHU\ LV &217(;7 &RXUVH>GHSW f«&,6f¬ $1' FRXUVH ! @ r 6HFWLRQ r$1' 7HDFKHU /RFDWLRQf 3ULQW6FKHGXOH6HFWLRQf 7KH ,QWHQVLRQV $VVRFLDWLRQ 3DWWHUQ ,$3f FRUUHVSRQGLQJ WR WKH VXEGDWDEDVH JHQHUDWHG E\ WKLV TXHU\ LV VKRZQ LQ )LJXUH Df 7KH ,$3 VKRZV WKH (FODVVHV 6HFWLRQ 7HDFKHU /RFDWLRQ DQG &RXUVHf DQG WKH DVVRFLDWLRQV RI LQWHUHVW &RUUHn VSRQGLQJ WR D JLYHQ ,$3 WKHUH H[LVWV D VHW RI ([WHQVLRQDO $VVRFLDWLRQ 3DWWHUQV ($3Vf DW WKH LQVWDQFH OHYHO (DFK ($3 UHSUHVHQWV D SDWWHUQ QHWZRUNf RI LQVWDQFHV DQG DVVRFLDWLRQV EHORQJLQJ WR WKH FODVVHV DQG DVVRFLDWLRQV VSHFLILHG E\ WKH ,$3 7KH VHW RI ($3V FRUUHVSRQGLQJ WR D VXEGDWDEDVH DUH VKRZQ XVLQJ DQ H[WHQVLRQDO GLDn JUDP LQ )LJXUH Ef 7KH PHWKRG SULQW6FKHGXOH GHILQHG IRU WKH FODVV 6HFWLRQ LV QRZ LQYRNHG RQ WKH UHOHYDQW FRQWH[W WKDW KDV EHHQ f¯ILOWHUHGf° RXW RI WKH GDWDEDVH 7KH TXHU\ WKXV SURYLGHV D KLJK OHYHO GHFODUDWLYH PHDQV RI VSHFLI\LQJ WKH SULQWLQJ RI D VFKHGXOH WR PHHW WKH XVHU UHTXLUHPHQWV

PAGE 68

Df ,QWHQVLRQDO $VVRFLDWLRQ 3DWWHUQ ,$3f Ef ([WHQVLRQDO 'LDJUDP )LJXUH ,QWHQVLRQDO $VVRFLDWLRQ 3DWWHUQ DQG ([WHQVLRQDO 'LDJUDP IRU DQ H[DPSOH VXEGDWDEDVH Df ,QWHQVLRQDO $VVRFLDWLRQ 3DWWHUQ ,$3f Ef ([WHQVLRQDO 'LDJUDP

PAGE 69

5XOHV 7KH UXOH ODQJXDJH >$/$D 68@ LV DOVR SDWWHUQEDVHG DQG LV ZHOOLQWHJUDWHG ZLWK WKH TXHU\ ODQJXDJH ,W FRPELQHV D VHWRULHQWHG DSSURDFK ZKLFK GDWDEDVHV UHTXLUHf ZLWK D GHFODUDWLYH V\QWD[ 7KH VWUXFWXUH RI D UXOH LV DV IROORZV 58/( UXOHLG 7ULJJHUFRQG7ULJJHUWLPH 7ULJJHURSHUDWLRQf 5XOH ERG\ &RUUHFWLYHDFWLRQ (1' 7KH UXOHLG LV D XQLTXH LGHQWLILHU DVVLJQHG WR HDFK UXOH $ WULJJHU FRQGLWLRQ DVVRFLDWHG ZLWK HDFK UXOH VSHFLILHV WKH FRQGLWLRQV XQGHU ZKLFK D UXOH LV ILUHG $ WULJJHU FRQGLWLRQ PD\ VSHFLI\ D FRPELQDWLRQ RI WULJJHU WLPH VXFK DV EHIRUH DIWHU RU LQ SDUDOOHOf DQG WKH RSHUDWLRQ VXFK DV LQVHUW GHOHWHf WKDW WULJJHUV WKH UXOH 7KH UXOH ERG\ LV QRUPDOO\ VSHFLILHG DV DQ ,)7+(1(/6( FODXVH 7KH H[DFW IRUP RI WKH UXOH ERG\ LV GHWHUPLQHG E\ WKH W\SH RI WKH UXOH 5XOHV DUH FODVVLILHG DV VWDWH RSHUDWLRQDO DQG GHGXFWLYH UXOHV >&+8 6,1@ :H LOOXVWUDWH HDFK RI WKHVH UXOH W\SHV ZLWK WKH IROORZLQJ H[DPSOHV 6WDWH UXOHV $ VWDWH UXOH LV D NQRZOHGJH UXOH GHVLJQHG WR HQVXUH VHPDQWLF FRUUHFWQHVV DQG FRQVLVWHQF\ RI D NQRZOHGJH EDVH E\ GHFODULQJ WKH YDOLG VWDWHV WKDW PXVW H[LVW LQ WKH GDWDEDVH DW WKH WLPH WKH UXOH LV WULJJHUHG 7KH ,) FODXVH RI WKH UXOH ERG\ FRQWDLQV DQ 24/ &RQWH[W ([SUHVVLRQ WKDW ORRNV IRU FHUWDLQ DVVRFLDWLRQ SDWWHUQV WKDW H[LVW LQ D SDUWLFXODU VXEGDWDEDVH FRQWH[W 7KH 7+(1 SDUW PD\ FRQWDLQ DQ 24/ FRQWH[W H[SUHVVLRQ ZKLFK WKH VXEGDWDEDVH PXVW VDWLVI\ WKXV HQIRUFLQJ FHUWDLQ H[LVWHQWLDO FRQVWUDLQWV DPRQJ SDWWHUQV )RU DQ XQFRQGLWLRQDO VWDWH UXOH WKH ,) SDUW LV RPLWWHG DQG RQO\ WKH SUHGLFDWH FRUUHVSRQGLQJ WR WKH 7+(1 SDUW LV VSHFLILHG $Q H[DPSOH VWDWH UXOH LV QRZ GHVFULEHG

PAGE 70

58/( IP-/2O 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW)DWKHUf $IWHU ,QVHUW2EMHFW0RWKHUff ,) FRQWH[W 3HUVRQ r )DWKHU 7+(1 3HUVRQ 0RWKHU &RUUHFWLYHDFWLRQ 0HVVDJH f¯$ IDWKHU DQG PRWKHU FDQQRW EH WKH VDPH SHUVRQf°f (1' 7KH DERYH VWDWH UXOH ZKLFK LV LQYRNHG DIWHU DQ REMHFW LV LQVHUWHG LQ WKH FODVV )DWKHU RU FODVV 0RWKHU LV XVHG WR VSHFLI\ WKH FRQVWUDLQW WKDW WKH VDPH SHUVRQ FDQQRW EH D IDWKHU RU PRWKHU 7KXV WKH ,) SDUW RI WKH UXOH ERG\ RI UXOH IPB LGHQWLILHV DVVRFLDWLRQ SDWWHUQV FRUUHVSRQGLQJ WR SHUVRQV ZKR DUH IDWKHUV DQG WKH 7+(1 SDUW VSHFLILHV WKH FRQVWUDLQW WKDW WKHVH SHUVRQV VKRXOG QRW EH PRWKHUV 2SHUDWLRQDO UXOHV $Q RSHUDWLRQDO UXOH LV D UXOH WKDW SHUIRUPV DQ RSHUDWLRQ LI D SDUWLFXODU VWDWH LQ WKH NQRZOHGJH EDVH H[LVWV ZKHQ WKH UXOH LV WULJJHUHG $OWKRXJK DQ RSHUDWLRQDO UXOH FDQ VHUYH WR FRUUHFW XQGHVLUDEOH VWDWHV WKDW H[LVW LQ WKH NQRZOHGJH EDVH E\ VSHFLI\LQJ FRUUHFWLYH DFWLRQV ZKLFK HQDEOH WKH NQRZOHGJH EDVH WR UHWXUQ WR D FRQVLVWHQW VWDWH LQ JHQHUDO DQ\ RSHUDWLRQ FDQ EH WULJJHUHG 7KH ,) FODXVH RI WKH UXOH ERG\ FRQWDLQV DQ 24/ &RQWH[W ([SUHVVLRQ WKDW VSHFLILHV D SDUWLFXODU VWDWH LQ WHUPV RI FHUWDLQ DVVRFLDWLRQ SDWWHUQV WKDW PXVW H[LVW 7KH 7+(1 FODXVH FRQWDLQV RSHUDWLRQV WKDW PXVW EH WULJJHUHG ZKHQ WKH ,) SDUW LV VDWLVILHG $Q H[DPSOH RSHUDWLRQDO LV QRZ GHVFULEHG 58/( V 7ULJJHUFRQG$IWHU 'HOHWH2EMHFW7HDFKHUf $IWHU 'HOHWH2EMHFW&RXUVHf $IWHU 'HOHWH2EMHFW/RFDWLRQff ,) FRQWH[W 6HFWLRQ 25 7HDFKHU &RXUVH /RFDWLRQf 7+(1 'HOHWH2EMHFW6HFWLRQf (1' 7KH DERYH RSHUDWLRQDO UXOH ZKLFK LV LQYRNHG DIWHU DQ REMHFW LV GHOHWHG IURP WKH FODVV 7HDFKHU FODVV &RXUVH RU FODVV /RFDWLRQ LV XVHG WR HQIRUFH WKH FRQVWUDLQW WKDW

PAGE 71

D 6HFWLRQ REMHFW FDQ H[LVW RQO\ LI LW LV DVVRFLDWHG ZLWK 7HDFKHU &RXUVH DQG /RFDWLRQ REMHFWV UHVSHFWLYHO\ ,Q WKH UXOH ERG\ WKH ,) FODXVH FKHFNV LI WKHUH LV D 6HFWLRQ REMHFW ZKLFK LV QRW DVVRFLDWHG ZLWK DQ\ 7HDFKHU &RXUVH DQG /RFDWLRQ REMHFW 7KH 7+(1 FODXVH FDXVHV WKRVH REMHFWV IURP WKH FODVV LGHQWLILHG LQ WKH ,) FODXVH WR EH GHOHWHG 'HGXFWLYH UXOHV $ GHGXFWLYH UXOH LV D NQRZOHGJH UXOH WKDW GHULYHV QHZ LQIRUPDWLRQ WKDW LV QRW H[SOLFLWO\ VWRUHG LQ WKH NQRZOHGJH EDVH ,Q D GHGXFWLYH UXOH WKH ,) FODXVH RI WKH UXOH ERG\ FRQWDLQV DQ 24/ &RQWH[W ([SUHVVLRQ WKDW LGHQWLILHV FHUWDLQ DVVRFLDWLRQ SDWWHUQV WKDW H[LVW LQ WKH NQRZOHGJH EDVH 7KH 7+(1 FODXVH WKHQ GHULYHV D QHZ VXEGDWDEDVH QHZ DVVRFLDWLRQV RU D FRPELQDWLRQ RI ERWK EDVHG RQ WKH SDWWHUQV LGHQWLILHG LQ WKH ,) FODXVH 7R LOOXVWUDWH GHGXFWLYH UXOHV ZH XVH D FRPPRQO\ XVHG H[DPSOH LQ ORJLF DQG ORJLF EDVHG ODQJXDJHV VXFK DV SURORJ :H XVH WKH JHQHUDWLRQ TXHU\ DV DQ H[DPSOH 6XFK UXOHV FDQ LQIHU LQIRUPDWLRQ VXFK DV JUDQGIDWKHUV IURP H[LVWLQJ FODXVHV IDFWVf VXFK DV IDWKHU PRWKHU ,Q ORJLF VXFK UXOHV DUH H[SUHVVHG DV *UDQGIDWKHU "; "
PAGE 105

LQWHUSUHWDWLRQ RI YLUWXDO PHPRU\ SRLQWHUV DUH RQO\ YDOLG GXULQJ WKH H[HFXWLRQ RI D SURJUDP /RJLFDO GLVN DGGUHVVHV VHFRQGDU\ VWRUDJH SRLQWHUVf 7R RYHUFRPH WKH LQDELOLW\ RI YLUWXDO PHPRU\ SRLQWHUV WR EH PDGH SHUVLVWHQW VWRUHG RQ GLVNf REMHFW UHIHUHQFHV FDQ EH LPSOHPHQWHG XVLQJ VHFRQGDU\ VWRUDJH SRLQWn HUV 7KDW LV  RQ GLVN VWRUHV WKH ORJLFDO GLVNf DGGUHVV ,GSf RI  /RJLFDO GLVN SRLQWHUV VXFK DV ,GSLf PD\ WDNH WKH IRUP GLVNLGfVHJPHQWLGfEORFNLGfRIIVHWf 7KLV VFKHPH UHTXLUHV WKDW ZKHQ  LV EURXJKW LQWR PDLQ PHPRU\ IRU SURFHVVLQJ DQG LI L DFFHVVHV WKH UHIHUHQFH WR } WKHQ WKH ORJLFDO GLVN SRLQWHUV VXFK DV OGS PXVW EH FRQYHUWHG WR WKH DSSURSULDWH YLUWXDO PHPRU\ SRLQWHUVXPSf 7KLV VFKHPH UHTXLUHV WKDW HLWKHU WKH V\VWHP RU WKH XVHU PDLQWDLQV D PDSSLQJ EHWZHHQ GLVN SRLQWHUV DQG YLUWXDO PHPRU\ SRLQWHUV ZKHQHYHU REMHFWV DUH UHWULHYHG IURP RU VWRUHG WR GLVN 7KLV VFKHPH DOVR OHDGV WR WKH f¯SLQQLQJf° RI REMHFWV RQ GLVN VLQFH GLVN DGGUHVVHV DUH XVHG WR UHIHUHQFH REMHFWV ,W DOVR UHTXLUHV WKH VWRUDJH OHYHO YLHZ RI UHIHUHQFH DWWULEXWHV WR EH GHSHQGHQW RQ WKH IRUPDWV XVHG IRU GLVN DGGUHVVHV 7KLV IHDWXUH YLRODWHV GDWD LQGHSHQGHQFH DQG LV XQGHVLUDEOH ,GHQWLW\ UHIHUHQFH ,Q WKLV WHFKQLTXH RLGV RU LLGV DUH XVHG WR LPSOHPHQW REMHFW UHIHUHQFHV 7KDW LV LL VWRUHV WKH LQVWDQFH LGHQWLILHU f RI WKH UHIHUUHG REMHFW  7KLV KDV WKH GHVLUDEOH SURSHUW\ RI XQLIRUP UHSUHVHQWDWLRQ RI REMHFW UHIHUHQFHV ERWK LQ VHFRQGDU\ VWRUDJH DQG LQ PDLQ PHPRU\ 2Q GLVN  VWRUHV WKH LQVWDQFH LG ¾Gf RI  LQ DQ REMHFW UHIHUHQFH DWWULEXWH DQG YLFH YHUVD :KHQ L? DQG  DUH EURXJKW LQWR PDLQ PHPRU\  VWLOO SRLQWV WR WKH LQVWDQFH LG f RI + DQG YLFH YHUVD +RZHYHU IURP WKH LQVWDQFH  WR DFFHVV WKH LQVWDQFH  WKH V\VWHP PXVW SHUIRUP D ORRNXS XVLQJ WKH LGHQWLILHU ^LLGLf DQG HLWKHU GHWHUPLQH D YLUWXDO PHPRU\ SRLQWHU YPSf WR  LI  KDV DOUHDG\

PAGE 106

EHHQ UHWULHYHG IURP GLVNf RU GHWHUPLQH WKH GLVN DGGUHVV ,GSf RI  DQG EULQJ LW LQ WR PHPRU\ ,Q WKLV WHFKQLTXH WKH VWRUDJH OHYHO YLHZ RI REMHFW UHIHUHQFHV VXSSRUWV WKH QRWLRQ RI GDWD LQGHSHQGHQFH IRU REMHFW UHIHUHQFHV VLQFH REMHFWV DUH QRW UHTXLUHG WR NQRZ WKH DGGUHVV IRUPDWV XVHG E\ WKH XQGHUO\LQJ V\VWHP ,Q RUGHU WR VXSSRUW WKH QRWLRQ RI OD\HULQJ VXFK GDWD LQGHSHQGHQFH LV QHFHVVDU\ )RU WKLV UHDVRQ ZH ZLOO DGRSW WKLV WHFKQLTXH RI LGHQWLW\ UHIHUHQFHV :H QRZ GHVFULEH KRZ ZH XVH WKLV WHFKQLTXH WR DFKLHYH REMHFW UHIHUHQFHV LQ RXU DSSURDFK ,Q )LJXUH ZH LOOXVWUDWH WKLV VWRUDJH VWUDWHJ\ IRU REMHFW UHIHUHQFHV IRU DQG OQ UHIHUHQFHV LQ RXU DSSURDFK :KHQ DFFHVV WR WKH UHIHUHQFHG REMHFW LV UHTXLUHG ZH XVH D VLPSOH ORRNXS RSHUDWRU f WR UHWXUQ WKH YLUWXDO PHPRU\ SRLQWHU WKLV ORRNXS LV LQLWLDOO\ GRQH RQO\ RQFHf 7KH ORRNXS RSHUDWRUf SURYLGHV WUDQVSDUHQW REMHFW DFFHVV LI WKH REMHFW LV DOUHDG\ SUHVHQW LQ PDLQ PHPRU\ WKH FRUUHVSRQGLQJ YLUWXDO PHPRU\ SRLQWHU LV UHWXUQHG RWKHUZLVH WKH REMHFW LV UHWULHYHG IURP GLVN DQG WKH YLUWXDO PHPRU\ SRLQWHU UHWXUQHG 7KH DSSOLFDWLRQ GHDOV RQO\ ZLWK LGHQWLW\ DQG PHPRU\ SRLQWHUV ,W QHYHU VHHV WKH GLVN SRLQWHUV DQG WKXV GRHV QRW KDYH WR NHHS WUDFN RI GLVN SRLQWHUV 7KLV WHFKQLTXH LV LOOXVWUDWHG EHORZ XVLQJ & OLNH FRGH , ,' [ r [ UHSUHVHQWV DQ LLG r 2%-(&7r \ r \ UHSUHVHQWV D YLUWXDO PHPRU\ SRLQWHU WR DQ\ REMHFW r [ VHOHFW 3HUVRQ VVQ f r DVVLJQ [ WR WKH LLG RI D JLYHQ SHUVRQ r \ [ r DVVLJQ \ WR WKH YLUWXDO PHPRU\ SRLQWHU RI [ r

PAGE 107

Df $ VLPSOH VFKHPD REMHFW GLDJUDP FRXUVH LLG VWRUDJH LQVWDQFH Ef UHIHUHQFH Ff OQ UHIHUHQFH )LJXUH 6WRUDJH VWUDWHJ\ IRU REMHFW UHIHUHQFHV Df $ VLPSOH VFKHPD Ef UHIHUHQFH Ff OQ UHIHUHQFH

PAGE 108

,GHQWLW\ :KLOH LW KDV EHHQ DUJXHG WKDW ORJLFDO GLVN DGGUHVVHV FDQ SURYLGH D KLJK SHUIRUn PDQFH PHFKDQLVP IRU LPSOHPHQWLQJ LGHQWLW\ ZH XVH VXUURJDWHV LQ RUGHU WR LQVXODWH WKH XSSHU OD\HUV IURP KDYLQJ WR NQRZ DGGUHVV IRUPDWV XVHG E\ VWRUDJH PDQDJHUV 7KLV SURYLGHV GDWD LQGHSHQGHQFH DQG DOORZV PRGXOHV LQ XSSHU OD\HUV VXFK DV TXHU\ SURFHVVRUV WR EH GHYHORSHG LQ D PDQQHU WKDW HDVLO\ DFFRPPRGDWHV WKH VXEVWLWXWLRQ RU UHSODFHPHQW RI WKH VWRUDJH OD\HU )RU WKH VDPH UHDVRQV REMHFW UHIHUHQFHV DUH LPn SOHPHQWHG DV LGHQWLW\ UHIHUHQFHV 6\VWHPGHILQHG VXUURJDWHV FDQ SURYLGH WKH KLJKO\ GHVLUDEOH IHDWXUHV RI XQLTXHQHVV LPPXWDELOLW\ DQG WKH DELOLW\ RI WKH V\VWHP WR GHILQH VXUURJDWHV LQ DQ\ VSHFLDOL]HG IRUPDW ,Q FRQWUDVW LI GLVN DGGUHVVHV DUH XVHG LGHQWLW\ LV QR ORQJHU LPPXWDEOH DQG GLVN JDUEDJH FROOHFWLRQ EHFRPHV D VHULRXV SUREOHP ZKHQ REMHFWV DUH PRYHG DURXQG RQ GLVN $Q LQGHSWK VWXG\ RI WKHVH DVSHFWV FDQ EH IRXQG LQ >.+@ *HQHUDWLRQ DQG PDLQWHQDQFH RI RLGV :KHQ XVLQJ VXUURJDWHV LW LV QHFHVVDU\ WR XVH D VFKHPH WKDW FDQ JHQHUDWH RLGV WKDW DUH XQLTXH LPPXWDEOH DQG XQLIRUP VDPH VL]Hf $GGLWLRQDOO\ EHWWHU SHUIRUn PDQFH ZKHQ SURFHVVLQJ RLGVf FDQ EH REWDLQHG LI RLG JHQHUDWLRQ FDQ JXDUDQWHH D JRRG GLVWULEXWLRQ IRU DOORFDWHG RLGV 7KH PDLQWHQDQFH RI RLGV LQYROYHV GHYHORSLQJ VWUDWHJLHV IRU WKH UHF\FOLQJ RI RLGV WKDW DUH QR ORQJHU LQ XVH :H GR QRW DGGUHVV WKLV SUREOHP DQG LQVWHDG GLVFDUG RLGV WKDW DUH QR ORQJHU LQ XVH :H HQXPHUDWH EHORZ VHYHUDO DOWHUQDWLYHV IRU JHQHUDWLQJ RLGV 8VLQJ D FRXQWHU $ VHTXHQFH RI RLGV FDQ EH JHQHUDWHG XVLQJ D ELW FRXQWHU 7KLV VFKHPH JXDUDQWHHV XQLTXHQHVV LPPXWDELOLW\ DQG XQLIRUPLW\ RI RLGV +RZHYHU WKH GLVWULEXWLRQ RI WKH RLGV LV EDGO\ VNHZHG DQG FDQ SRVH SHUIRUn PDQFH SUREOHPV 7KXV WKLV VFKHPH LV WKH OHDVW H[SHQVLYH LQ WHUPV RI RLG

PAGE 109

DOORFDWLRQ DQG SUREDEO\ KDV WKH ZRUVW KDVKLQJ SHUIRUPDQFH IRU RLG PDQLSXn ODWLRQ ,Q WKLV VFKHPH WKH V\VWHP PXVW NHHS WUDFN RI WKH ODVW RLG LVVXHG 6NHZHG &RXQWHU $ ELW FRXQWHU LV XVHG WR JHQHUDWH D VHTXHQFH RI RLGV +RZn HYHU LQVWHDG RI GLUHFWO\ XVLQJ WKH QXPEHU JHQHUDWHG E\ WKH FRXQWHU WKH QXPn EHU JHQHUDWHG E\ WKH FRXQWHU LV VNHZHG E\ D SUHGHILQHG WUDQVIRUPDWLRQ RQ WKH ELW SRVLWLRQV FRQVWLWXWLQJ WKH QXPEHUf WR SURGXFH DQRWKHU ELW LQWHJHU 7KLV VFKHPH UHTXLUHV D VOLJKWO\ KLJKHU FRVW RI DOORFDWLQJ RLGV EXW SURYLGHV D ID[ VXSHULRU GLVWULEXWLRQ RI DOORFDWHG RLGV $OO RWKHU FRQVLGHUDWLRQV UHPDLQ WKH VDPH 7LPHVWDPS $ ELW WLPH VWDPS FDQ EH XVHG WR UHSUHVHQW DQ RLG (IIHFWLYHO\ RLGV WKDW DUH WLPH VWDPSV VLJQLI\ WKH WLPH RI ELUWK FUHDWLRQf RI WKH REMHFW 6XFK D VFKHPH HQVXUHV LPPXWDELOLW\ DQG XQLIRUPLW\ +RZHYHU XQLTXHQHVV GHSHQGV RQ WKH UHVROXWLRQ RI WKH FORFN DQG WKH QXPEHU RI ELWV XVHG 7KH GLVWULEXWLRQ RI WKH DOORFDWHG RLGV FDQ EH VNHZHG RU DOWHUHG WR LPSURYH SHUIRUPDQFH E\ FKDQJLQJ WKH RUGHU RI WKH ELWV 7KH FRVW RI DOORFDWLQJ RLGV LV QRW WRR KLJK DQG UHDVRQDEOH KDVKLQJ SHUIRUPDQFH FDQ EH H[SHFWHG 7KH PDLQ SUREOHPV ZLWK WKLV DSSURDFK DUH Df D UHVWULFWLRQ RQ WKH OLIHWLPH RI WKH V\VWHP Ef D UHVWULFWLRQ RQ WKH QXPEHU RI RLGV JHQHUDWHG SHU VHF DQG Ff WKH XQGHUXWLOL]DWLRQ RI RLGV +RZHYHU WKLV VFKHPH KDV WKH DGYDQWDJH WKDW WKH RLG DFWXDOO\ FRQWDLQV VRPH VHPDQWLF LQIRUPDWLRQ WLPH RI FUHDWLRQf ZKLFK FDQ EH XVHG LQ FHUWDLQ DSSOLFDWLRQV ,GHQWLW\$GGUHVV 0DSSLQJV 7KH PDLQ DUJXPHQW DJDLQVW XVLQJ VXUURJDWHV DV LGHQWLW\ LV WKDW LW LQYROYHV D SHUIRUPDQFH SHQDOW\ GXH WR WKH XVH RI DQ REMHFW WDEOH WR SHUIRUP LGHQWLW\DGGUHVV PDSSLQJV :KLOH WKLV LV D YDOLG DUJXPHQW ZH EHOLHYH WKDW VXUURJDWHV VHUYH DQ

PAGE 110

LPSRUWDQW SXUSRVH DQG LQVWHDG EHWWHU WHFKQLTXHV IRU SHUIRUPLQJ IDVW ORRNXSV PXVW EH GHYHORSHG 7R SHUIRUP IDVWHU ORRNXSV WKH IROORZLQJ WHFKQLTXHV DUH XWLOL]HG VSHFLDOL]HG IRUPDWV IRU LGHQWLW\ &XUUHQWO\ WKH V\VWHP XVHV ELW LGHQWLILHUV WKDW DUH JHQHUDWHG XVLQJ D FRXQWHU RU WKH V\VWHP FORFN 7R LPSURYH WKH KDVKLQJ SHUIRUPDQFH RI DQ REMHFW ORRNXS D VNHZLQJ WHFKQLTXH PD\ EH XVHG WR VKXIIOH WKH SRVLWLRQV RI WKH LGHQWLILHU ELWV E\ D SUHGHILQHG WUDQVIRUPDWLRQ WR SURGXFH DQRWKHU ELW LGHQWLILHU KDYLQJ EHWWHU KDVK FKDUDFWHULVWLFV SDUWLWLRQHG REMHFW WDEOHV 3DUWLWLRQHG REMHFW WDEOHV DUH XVHG ZLWK HDFK FODVV PDLQn WDLQLQJ D SDUWLWLRQ WR SHUIRUP LGHQWLW\DGGUHVV PDSSLQJV IRU WKDW FODVV 7KH VPDOOHU VL]H RI WKH SDUWLWLRQ LPSOLHV IDVWHU ORRNXS 7KLV QRWLRQ RI SDUWLWLRQHG REMHFW WDEOHV LV LOOXVWUDWHG LQ )LJXUH PDLQ PHPRU\ REMHFW WDEOHV &XUUHQWO\ LI DQ\ FODVV LV UHIHUHQFHG RU DQ REMHFW RI D FODVV LV DFFHVVHG WKH HQWLUH REMHFW WDEOH SDUWLWLRQ FRUUHVSRQGLQJ WR WKDW FODVV LV VWDJHG LQ PHPRU\ WR SURYLGH IDVWHU ORRNXSV +RPRJHQHRXV DQG +HWHURJHQHRXV &OXVWHULQJ RI 2EMHFWV 7R VXSSRUW GLIIHUHQW IRUPV RI DFFHVV IRU GLIIHUHQW W\SHV RI REMHFWV WZR IXQGDn PHQWDO VWRUDJH FRQILJXUDWLRQV DUH UHTXLUHG DfD KRPRJHQHRXV FOXVWHULQJ RI REMHFW LQVWDQFHV DQG EfD KHWHURJHQHRXV FOXVWHULQJ RI REMHFW LQVWDQFHV $ KRPRJHQHRXV FOXVWHULQJ RI REMHFW LQVWDQFHV LPSOLHV WKH DELOLW\ WR FOXVWHU D VHW RI LQVWDQFHV WKDW EHORQJ WR D VLQJOH FODVV DQG SRVVLEO\ VRUW RU LQGH[ WKHVH LQVWDQFHV EDVHG RQ VRPH DWWULEXWH YDOXH 6XFK D FOXVWHULQJ DOORZV HIILFLHQW SDUWLDO RU IXOO VFDQV RI WKH LQVWDQFHV RI D FODVV $ ILOH RUJDQL]DWLRQ VXFK DV DQ LQGH[HG VHTXHQWLDO ILOH RUJDQL]DWLRQ FDQ EH XVHG WR DFKLHYH VXFK D FOXVWHULQJ VWUDWHJ\ $ KHWHURJHQHRXV FOXVWHULQJ RI REMHFW LQVWDQFHV LPSOLHV WKH DELOLW\ WR FOXVWHU DQ DUELWUDU\ VHW RI LQVWDQFHV WDNHQ IURP YDULRXV FODVVHV 6XFK D FOXVWHULQJ DOORZV WKH

PAGE 111

6LQJOH 2EMHFW 7DEOH IRU REMHFWV RI DOO FODVVHV Df 6LQJOH 2EMHFW 7DEOH )LJXUH 6LQJOH YV 'LVWULEXWHG 2EMHFW 7DEOHV

PAGE 112

HIILFLHQW VXSSRUW RI FRPSOH[ REMHFWV DQG VXSSRUWV DSSOLFDWLRQV ZKHUH LQVWDQFHV PD\ QHHG WR EH JURXSHG EDVHG RQ GDWD PRGHO VHPDQWLFV VXFK DV DJJUHJDWLRQ RU JHQHUDOn L]DWLRQ KLHUDUFKLHV $ ODUJH OLQHDU DGGUHVV VSDFH D VHFRQGDU\ f¯KHDSf°f FDQ EH XVHG WR DFKLHYH VXFK D FOXVWHULQJ VWUDWHJ\ 7KH FOXVWHULQJ PHFKDQLVPV GHVFULEHG DERYH PXVW EH SURYLGHG ZLWKLQ D VLQJOH HQn YLURQPHQW ,Q )LJXUH ZH LOOXVWUDWH KRZ WKH QRWLRQV RI D KRPRJHQHRXV FOXVWHULQJ RI VHYHUDO LQVWDQFHV IURP RQH FODVV DQG WKH QRWLRQ RI D KHWHURJHQHRXV FOXVWHULQJ RI VHYHUDO LQVWDQFHV IURP YDULRXV FODVVHV FDQ EH DFFRPPRGDWHG LQ D VLQJOH PXOWLILOH HQn YLURQPHQW 7KH 2EMHFW 7DEOHV SURYLGH D FOHDQ PHFKDQLVP ZKHUHE\ REMHFW LQVWDQFHV FDQ EH HDVLO\ PRYHG DURXQG RQ GLVN WKHUHE\ HQDEOLQJ FOXVWHULQJ DQG UHFOXVWHULQJ 7R VXSSRUW YDULRXV W\SHV RI REMHFWV LW LV LPSRUWDQW WKDW DQ XQGHUO\LQJ VWRUDJH V\Vn WHP EH DEOH WR SURYLGH WKH QHFHVVDU\ IDFLOLWLHV VXFK DV ILOH RUJDQL]DWLRQV DQG DFFHVV PHWKRGVf WR DFKLHYH VXFK FOXVWHULQJ 3URFHVVLQJ .HUQHO 2EMHFWV ,Q GDWDEDVH DSSOLFDWLRQV DV HYLGHQFHG E\ WKH QDWXUH RI GDWDEDVH TXHU\ ODQJXDJHV D NH\ UHTXLUHPHQW LV VHWRULHQWHG SURFHVVLQJ $V VXFK .206 SURYLGHV D ZHOOGHILQHG DQG JHQHULF LQWHUIDFH WR FOLHQWV LQ WKH XSSHU OD\HUV LQ WKH IRUP RI D VHW RI NHUQHO REMHFW RSHUDWLRQV 7KHVH EDVLF VHPDQWLFDOO\ PHDQLQJIXO DQG VHWRULHQWHG RSHUDWRUV DUH EDVHG RQ WKH VPDOO VHW RI FRUH REMHFW PRGHO FRQVWUXFWV WKDW FRPSULVH ;.20 DQG DUH XVHG WR SHUIRUP LQVHUWV XSGDWHV GHOHWHV DQG UHWULHYDOV RQ NHUQHO REMHFWV ,Q .206 WKH LQWHUIDFH VHUYHV DV DFFHVV PHWKRGV ZKLFK f DUH DW WKH FODVV OHYHO RSHUDWLRQV LQYROYH WKH VHW RI REMHFWV EHORQJLQJ WR D VLQJOH FODVVf f DW PRVW UHn TXLUH D VLQJOH VFDQ DQG f DUH VHWRULHQWHG :H H[SHFW RSHUDWLRQV WKDW VSDQ PXOWLSOH FODVVHV WR EH FDUULHG RXW E\ DFFHVV PHWKRGV LQ WKH FOLHQWV RI .206 7KH LPSOHPHQn WDWLRQ RI WKH LQWHUIDFH XVHV WKH XQGHUO\LQJ PRGHO RI VWRUDJH REMHFWV GHVFULEHG LQ 6HFWLRQ DQG KDV EHHQ FDUULHG RXW ZLWK D YLHZ WRZDUGV H[WHQVLELOLW\ LH WKH

PAGE 113

ILOHLGU! )LJXUH +RPRJHQHRXV DQG +HWHURJHQHRXV FOXVWHULQJ RI REMHFWV

PAGE 114

DGGLWLRQ RI H[WUD RSHUDWRUV WR WKH EDVLF VHW SURYLGHG )RU UHWULHYDOV WZR LPSRUWDQW IRUP RI DFFHVV D[H SURYLGHG DVVRFLDWLRQEDVHG DFFHVV DQG YDOXHEDVHG DFFHVV $VVRFLDWLRQEDVHG $FFHVV $ NH\ IHDWXUH LQ REMHFWRULHQWHG GDWDEDVHV XQOLNH LQ UHODWLRQDO V\VWHPVf LV WKH QRWLRQ RI DVVRFLDWLRQ TXHULHV 6XFK TXHULHV FRPSXWH SDWWHUQV RI DVVRFLDWLRQV RU UHODn WLRQVKLSV DPRQJ LQVWDQFHV RI REMHFW FODVVHV &RQVLGHU WKH IROORZLQJ TXHU\ 7HDFKHU r &RXUVH 7KLV TXHU\ FRPSXWHV DOO REMHFWV RI FODVV 7HDFKHU WKDW DUH DVVRFLDWHG ZLWK LH UHODWHG WRf REMHFWV RI FODVV &RXUVH DQG YLFHYHUVD 7KH VWDU rf LQGLFDWHV f¯DVVRFLDWHG ZLWKf° 7KLV UHTXLUHV .206 WR LWHUDWH WKH VHW RI NHUQHO REMHFWV RI FODVV 7HDFKHU DQG GHWHUPLQH DOO REMHFW UHIHUHQFHV WR FODVV &RXUVH 6XFK SURFHVVLQJ LV VHWRULHQWHG DQG UHTXLUHV D VLQJOH VFDQ RI WKH LQVWDQFHV RI D FODVV .206 LQFRUSRUDWHV DFFHVV PHWKRGV VWUXFWXUHV LQGH[HV DQG DOJRULWKPVf WR VXSn SRUW VXFK DVVRFLDWLRQEDVHG DFFHVV 7KH IROORZLQJ IDFWRUV KDYH EHHQ D FRQVLGHUDWLRQ Df WKH SURFHVVLQJ RI REMHFW UHIHUHQFHV LV VHWRULHQWHG Ef WKH QDWXUH RI WKH SURFHVVn LQJ LV QDYLJDWLRQDO DQG Ff LQYHUVH REMHFW UHIHUHQFHV PD\ EH UHTXLUHG DQG PXVW EH RSWLPL]HG :LWK UHVSHFW WR DVVRFLDWLRQEDVHG DFFHVV .206 RIIHUV D IXQFWLRQDOLW\ WKDW LV GLIIHUHQW IURP WKDW RI PDQ\ RWKHU H[LVWLQJ REMHFWEDVHG V\VWHPV $OVR SURYLGHG LV WKH FDSDELOLW\ RI GHWHUPLQLQJ QRQDVVRFLDWLRQV WKDW LV REMHFWV RI RQH FODVV WKDW DUH QRW DVVRFLDWHG ZLWK REMHFWV RI DQRWKHU FODVV ,Q FRPSDULVRQ ZLWK UHODWLRQDO V\VWHPV D MRLQRSHUDWLRQ LV D YDOXHEDVHG PDWFK RQ VSHFLILF FROXPQV 8QOLNH UHODWLRQDO V\VWHPV DVVRFLDWLRQV FDQ EH FRQVLGHUHG DV D VHW RI SUHMRLQV OLQNVf ZKLFK IRU D JLYHQ FODVV FDQ EH DFFHVVHG LQ D VLQJOH VFDQ VLQFH OLQNV DUH H[SOLFLWO\ VWRUHG )RU WKH VDPH UHDVRQ LW LV DOVR SRVVLEOH WR FRPSXWH QRQDVVRFLDWLRQV HDVLO\ DQG HIILFLHQWO\

PAGE 115

9DOXHEDVHG $FFHVV ,Q REMHFWRULHQWHG GDWDEDVHV LW LV DOVR QHFHVVDU\ WR SHUIRUP YDOXHEDVHG SURFHVVLQJ RQ GHVFULSWLYH GDWD DWWULEXWHV RU YDOXH ILHOGV RI REMHFWV 7KLV LQFOXGHV SURFHVVLQJ RI FRPSOH[ GDWD W\SHV VXFK DV PDWULFHV &RQVLGHU WKH IROORZLQJ TXHU\ 7HDFKHU>VHOHFW f§ FRQG@ r &RXUVH 7KLV TXHU\ LOOXVWUDWHV D FRPELQDWLRQ RI YDOXHEDVHG DFFHVV DQG DVVRFLDWLRQEDVHG DFFHVV ,W FRPSXWHV DOO LQVWDQFHV LQ WKH FODVV 7HDFKHU VDWLVI\LQJ D VHOHFWLRQ FRQGLWLRQ SODFHG RQ WKH YDOXH ILHOGV RI WHDFKHU LQVWDQFHVf ZKLFK DUH DVVRFLDWHG ZLWK LQVWDQFHV RI FODVV &RXUVH 7KH YDOXHEDVHG DFFHVV UHIHUV WR WKH DELOLW\ WR GHWHUPLQH ZKLFK LQVWDQFHV RI WKH FODVV 7HDFKHU VDWLVI\ WKH YDOXHEDVHG VHOHFWLRQ FRQGLWLRQ ,I WKH FRQGLWLRQ LV >DJH @ D SRLQW DFFHVV LV GHVLUHG DQG D VFDQ PD\ EH QHFHVVDU\ LI WKHUH LV QR LQGH[ RQ DJH ,I WKH FRQGLWLRQ LV >DJH ! @ D SD[WLDO VFDQ PD\ EH UHTXLUHG )RU PRUH FRPSOH[ VHOHFWLRQ FRQGLWLRQV VXFK DV >DJH ! $1' GHJUHH X3K'@ DQ LQGH[ LI DYDLODEOHf PXVW EH FRQVLGHUHG RU IXOO VFDQV PXVW EH SHUIRUPHG 7KXV GLUHFW DFFHVV SDUWLDO VFDQV RU IXOO VFDQV DUH QHHGHG WR VXSSRUW YDOXHEDVHG SURFHVVLQJ 7UDGLWLRQDO QRWLRQV RI LQGH[LQJ DQG VRUWLQJ FDQ EH XVHG .HUQHO 2EMHFW 0DQLSXODWLRQ 2SHUDWRUV %DVHG RQ WKH PRGHO RI VWRUDJH IRU LQVWDQFHV SUHVHQWHG LQ WKH SUHYLRXV VHFWLRQ .206 GHILQHV D VHW RI EDVLF NHUQHO REMHFW PDQLSXODWLRQ RSHUDWRUV KDYLQJ WKH IROORZn LQJ VHPDQWLFV RSHUDWLRQV IRU REMHFW DQG LQVWDQFH PDQLSXODWLRQ FUHDWLRQ LQVHUWLRQf UHWULHYDO DQG GHOHWLRQ RI LQVWDQFHV DQG REMHFWV RSHUDWLRQV RQ YDOXH DWWULEXWHV UHWULHYDO XSGDWH DQG VHOHFWLRQ RQ YDOXH DWn WULEXWHV RI REMHFW LQVWDQFHV

PAGE 116

RSHUDWLRQV RQ UHIHUHQFH DWWULEXWHV UHWULHYDO XSGDWH GHOHWLRQ DQG VHOHFWLRQ RI ELQDU\ LQYHUVH REMHFW UHIHUHQFHV 7KH VHW RI RSHUDWRUV WKDW FRPSULVH WKH LQWHUIDFH RI 5206 FDQ EH EURDGO\ FODVn VLILHG LQWR ILYH FDWHJRULHV FUHDWH LQVHUW XSGDWH GHOHWH DQG UHWULHYH &XUUHQWO\ DOO UHWULHYH RSHUDWLRQV DUH VHWRULHQWHG ZKLOH WKH RWKHUV DUH VSHFLILHG HLWKHU DV LQVWDQFH OHYHO RU REMHFW OHYHO RSHUDWLRQV 2SHUDWLRQV DW WKH LQVWDQFH OHYHO VLPSO\ GHDO ZLWK WKH VHPDQWLFV RI D VLQJOH LQVWDQFH ZLWKLQ D JLYHQ FODVV ZKLOH WKRVH DW WKH REMHFW OHYHO GHDO ZLWK WKH VHPDQWLFV RI DQ REMHFW ZKRVH LQVWDQFHV DUH GLVWULEXWHG DFURVV D JHQHUDOL]DWLRQ KLHUDUFK\ RU FODVV ODWWLFH 6\QWD[ DQG LQIRUPDO GHVFULSWLRQ RI RSHUDWRUV &DWHJRU\ &UHDWH FUHDWH2EMHFW f 5HWXUQV $ QHZ RLG 'HVFULSWLRQ &UHDWHV D QHZ RLG DQG FDOOV WKH QHFHVVDU\ LGHQWLW\ PDQDJHPHQW URXWLQHV 8VHG ZKHQ FUHDWLQJ D QHZ REMHFW &DWHJRU\ N ,QVHUW LQVHUWLQVWDQFH FODVVf RLGf DUJOLVWff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ ,QVHUWV DQ LQVWDQFH RI DQ REMHFW KDYLQJ RLG RLGf LQWR WKH FODVV FODVVf $Q DUJXPHQW OLVW DUJOLVWf VSHFLILHV DWWULEXWHV DV QDPHYDOXHf SDLUV FRQWDLQLQJ ERWK DVVRFLDWLRQ DQG YDOXH DWWULEXWHV $VVRFLDWLRQ DWn WULEXWHV H[FHSW *f PD\ EH VSHFLILHG E\ XVLQJ RLGV DV YDOXHV $VVRFLDWLRQ DWWULEXWHV FRUUHVSRQGLQJ WR *DVVRFLDWLRQV FDQQRW EH VSHFLILHG VLQFH WKH *DVVRFLDWLRQ DWWULEXWHV DUH DXWRPDWLFDOO\ PDLQWDLQHG E\ WKH V\VWHP DV

PAGE 117

LW HQIRUFHV WKH SDUWLWLRQLQJ RI WKH REMHFW DORQJ FODVV ERXQGDULHVf 8QOLNH LQVHUWB2EMHFW WKH DUJXPHQW OLVW FDQQRW VSHFLI\ DQ\ LQKHULWHG DWWULEXWHV 7KH RSHUDWLRQ LQVHUWV LQVWDQFH LQWR WKH 2EMHFW 7DEOH VHJPHQW RI WKH JLYHQ FODVV VHWV WKH YDOXH ILHOGV RI WKH LQVWDQFH VHWV WKH DVVRFLDWLRQ DWWULEXWHV DQG ILQDOO\ LQVHUWV WKH LQVWDQFH LQ WKH GDWDEDVH LQVHUW2EMHFW FODVVf RLGf DUJOLVWff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ ,QVHUWV DQ LQVWDQFH RI DQ REMHFW KDYLQJ RLG RLGf LQWR WKH FODVV FODVVf DQG FRUUHVSRQGLQJ LQVWDQFHV LQWR DOO DSSURSULDWH FODVVHV LQ WKH VXSHUFODVV KLHUDUFK\ RI WKH FODVV FODVVf 7KH DUJXPHQW OLVW VSHFLILHV DWn WULEXWHV DV QDPHYDOXHf SDLUV FRQWDLQLQJ ERWK DVVRFLDWLRQ DQG YDOXH DWn WULEXWHV ,QKHULWHG DWWULEXWHV PD\ DOVR EH VSHFLILHG 7KLV RSHUDWLRQ LV XVHG ZKHQ LQVHUWLQJ DQ REMHFW IRU WKH ILUVW WLPH LQ D FODVV KLHUDUFK\ RU ODWWLFH DQG ZKHQ LQVHUWLQJ DQ H[LVWLQJ REMHFW LQ DQRWKHU EUDQFK RU LQ D ORZHU OHYHO RI WKH FODVV KLHUDUFK\ 6WDUWLQJ ZLWK WKH JLYHQ FODVV FODVVf WKH RSHUDWLRQ UHFXUVLYHO\ QDYLJDWHV XS HDFK VXSHUFODVV KLHUDUFK\ LQ D GHSWK ILUVW IDVKLRQ XQWLO LW UHDFKHV WKH URRW FODVV RI WKH KLHUDUFK\ RU FODVVHV WKDW FRQWDLQV DQ LQVWDQFH RI WKH JLYHQ REMHFW RLGf ,W WKHQ LQYRNHV WKH LQn VHUW ,QVWDQFH RSHUDWLRQ IRU HDFK FODVV LQ WKH KLHUDUFK\ EHJLQQLQJ IURP WKH WRS OHYHO UHDFKHG GRZQ WR WKH JLYHQ FODVV 7KH DOJRULWKP FRUUHVSRQGLQJ WR WKLV RSHUDWLRQ LPSOHPHQWV WKH SDUWLWLRQLQJ RI WKH VWUXFWXUDO SURSHUWLHV RI DQ REMHFW DORQJ FODVV ERXQGDULHV &DWHJRU\ t 8SGDWH XSGDWHLQVWDQFH FODVVf RLGf DUJOLVWff 5HWXUQV VXFFHVVIDLOXUH

PAGE 118

'HVFULSWLRQ 8SGDWHV WKH DWWULEXWHV RI WKH LQVWDQFH FRUUHVSRQGLQJ WR REMHFW RLGf LQ FODVV FODVVf $Q DUJXPHQW OLVW DUJOLVWf VSHFLILHV DWWULEXWHV WR EH XSGDWHG 7KH DUJOLVWf FRQWDLQV GLUHFWf DWWULEXWHV IURP WKH VSHFLILHG FODVV RQO\ QR LQKHULWHG DWWULEXWHVf DQG DVVRFLDWLRQ DWWULEXWHV H[FHSW *f PD\ EH VSHFLILHG XSGDWH2EMHFW FODVVf RLGf DUJOLVWff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ 8SGDWHV WKH DWWULEXWHV RI WKH FRUUHVSRQGLQJ LQVWDQFHV RI WKH REMHFW RLGf LQ WKH JLYHQ FODVV FODVVf DQG LQ DQ\ FODVV LQ WKH VXSHUFODVV KLHUn DUFK\ RI WKH JLYHQ FODVV $Q DUJXPHQW OLVW DUJOLVWf VSHFLILHV DWWULEXWHV WR EH XSGDWHG 7KH DUJOLVWf PD\ FRQWDLQ LQKHULWHG DWWULEXWHV DQG DVn VRFLDWLRQ DWWULEXWHV H[FHSW *f DUH DOVR DOORZHG 6WDUWLQJ ZLWK WKH JLYHQ FODVV WKH RSHUDWLRQ GHWHUPLQHV ZKLFK LQVWDQFHV RI WKH VSHFLILHG REMHFW LQ WKH VXSHUFODVV KLHUDUFK\ RI WKH JLYHQ FODVV DUH WR EH XSGDWHG 7KH XS GDWH-KVWDQFH RSHUDWLRQ LV WKHQ LQYRNHG ZLWK WKH DSSURSULDWH DUJXPHQW OLVW LQ WKH FODVVHV FRUUHVSRQGLQJ WR WKH LQVWDQFHV WKDW DUH WR EH XSGDWHG DVVRFLDWH FODVVOf RLGf FODVVf RLGOLVWf DVVRFQDPHff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ $VVRFLDWHV WKH LQVWDQFH RI REMHFW RLGf LQ FODVV FODVVOf ZLWK WKH LQVWDQFHV RI REMHFWV RLGOLVWf RI FODVV FODVVf 7KH DVVRFQDPHf VSHFn LILHV WKH QDPH RI WKH VFKHPD OHYHO DVVRFLDWLRQ IURP FODVVOf WR FODVVf 7KH RSHUDWLRQ LV D PHFKDQLVP WR VHW RU XSGDWH WKH DVVRFLDWLRQ RU REMHFW UHIHUHQFH DWWULEXWH RI D NHUQHO REMHFW 7KH RSHUDWLRQ HQVXUHV WKDW ZKHQ REMHFWV DUH DVVRFLDWHG WZRZD\LQYHUVHf ELQDU\ DVVRFLDWLRQV RU OLQNVf DUH FUHDWHG

PAGE 119

GLVVRFLDWH FODVVOf RLGf FODVVf RLGOLVWf DVVRFQDPHff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ 'LVVRFLDWHV XQOLQNVf WKH DVVRFLDWLRQ WKDW H[LVWV EHWZHHQ WKH LQn VWDQFH RI REMHFW RLGf LQ FODVV FODVVOf WR WKH LQVWDQFHV RI REMHFWV RLGOLVWf RI FODVV FODVVf 7KH DVVRFQDPHf VSHFLILHV WKH QDPH RI WKH VFKHPD OHYHO DVVRFLDWLRQ IURP FODVVOf WR FODVVf 7KH GLVVRFLDWH RSHUDWRU HQVXUHV WKDW ZKHQ REMHFWV D[H GLVVRFLDWHG WKH ELQD[\ WZRZD\ LQYHUVHf DVVRFLDWLRQ EHn WZHHQ REMHFWV LV XSGDWHG DFFRUGLQJO\ &DWHJRU\ 'HOHWH GHOHWHLQVWDQFH FODVVf RLGff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ 'HOHWHV WKH LQVWDQFH FRUUHVSRQGLQJ WR WKH REMHFW RLGf LQ WKH FODVV FODVVf 7KH RSHUDWLRQ UHPRYHV DOO UHIHUHQFHV WR WKLV REMHFW LQVWDQFH IURP RWKHU REMHFW LQVWDQFHV E\ XVLQJ WKH GLVVRFLDWH RSHUDWRU 7KH HQWU\ FRU UHVSRQGLQJ WR WKLV LQVWDQFH LQ WKH REMHFW WDEOH VHJPHQW RI WKH JLYHQ FODVV LV UHPRYHG DQG WKH LQVWDQFH LV ILQDOO\ UHPRYHG IURP WKH FODVV DQG WKH GDWDEDVH LWVHOI GHOHWH2EMHFW FODVVf RLGff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ 'HOHWHV DOO LQVWDQFHV RI D JLYHQ REMHFW RLGf IURP WKH VXEFODVV KLHUDUFK\ RI WKH JLYHQ FODVV FODVVf 7KLV RSHUDWLRQ LV XVHG WR UHPRYH DOO LQVWDQFHV RI DQ REMHFW VWDUWLQJ DW D VSHFLILHG OHYHO DQG EHORZ LQ WKH FODVV KLHUDUFK\ ,I DQ REMHFW KDV D VLQJOH URRW FODVV DQG WKLV RSHUDWLRQ

PAGE 120

LV LQYRNHG DW WKH URRW FODVV WKH QHW HIIHFW LV WKH UHPRYDO RI DOO LQVWDQFHV RI WKH JLYHQ REMHFW 7KH RSHUDWLRQ SURFHHGV E\ VWDUWLQJ ZLWK WKH JLYHQ FODVV DQG GHWHUPLQHV WKH VXEFODVV KLHUDUFK\ URRWHG DW WKH JLYHQ FODVV ,W WKHQ LQYRNHV WKH GHOHWHB,QVWDQFH RSHUDWRU IRU DOO FODVVHV LQ WKLV VXEFODVV KLHUDUFK\ EHJLQQLQJ IURP WKH ERWWRP PRVW OHYHO LQ WKH KLHUD[FK\ XS WR WKH OHYHO RI WKH JLYHQ FODVV 7KH DOJRULWKP WKDW LPSOHPHQWV WKLV RSHUDWLRQ LV EDVHG RQ WKH SDUWLWLRQLQJ RI DQ REMHFW DORQJ FODVV ERXQGDULHV GHVWUR\2EMHFW RLGff 5HWXUQV VXFFHVVIDLOXUH 'HVFULSWLRQ 'HOHWHV DOO LQVWDQFHV RI D JLYHQ REMHFW RLGf 7KH RSHUDWLRQ SURn FHHGV E\ GHWHUPLQLQJ WKH URRW FODVVHV RI WKH JLYHQ REMHFW 7KH GHOHWHB2EMHFW RSHUDWLRQ LV WKHQ LQYRNHG IRU HDFK URRW FODVV &DWHJRU\ 5HWULHYH UHWULHYH FODVVf RLGOLVWf DWWUOLVWff 5HWXUQV $ VHW RI SDUWLDO REMHFWV 'HVFULSWLRQ 5HWULHYHV D VHW RI VSHFLILHG REMHFWV RLGOLVWf IURP WKH FODVV FODVVf ,I D OLVW RI DWWULEXWHV DWWUOLVWf LV VSHFLILHG RQO\ WKHVH VHOHFWHG DWWULEXWHV RI WKH REMHFWV DUH SURMHFWHG RXW 7KH DWWULEXWHV ZKLFK DUH VSHFLILHG LQ DWWUOLVWf PXVW EH GHVFULSWLYH DWWULEXWHV RQO\ QR DVVRFLDWLRQ DWWULEXWHV PD\ EH VSHFLILHGf ,QKHULWHG DWWULEXWHV PD\ EH VSHFLILHG ,I WKH RLGOLVWf LV VSHFLILHG DV DOOf WKHQ RLGV RI DOO LQVWDQFHV RI WKH JLYHQ FODVV FODVVf DUH XVHG DV WKH JLYHQ RLGOLVW ,I WKH DWWUOLVWf LV VSHFLILHG DV DOOf WKHQ DOO DWWULEXWHV DUH SURMHFWHG RXW 7KH RSHUDWLRQ UHWXUQV D VHW RI SDUWLDO REMHFWV ZKHUH D SDUWLDO REMHFW LV D SURMHFWLRQ RI WKH RULJLQDO REMHFW RQ WKH VSHFLILHG DWWULEXWHV

PAGE 121

VHOHFW FODVVf VHOHFWFRQGff 5HWXUQV $ OLVW RI RLGV WKDW VDWLVI\ WKH VHOHFWLRQ FRQGLWLRQ 'HVFULSWLRQ 6HOHFWV D VHW RI LQVWDQFHV IURP WKH FODVV FODVVf ZKLFK VDWLVI\ WKH VHOHFWLRQ FRQGLWLRQ VHOHFWFRQGf 7KH VHOHFWLRQ FRQGLWLRQ LV VSHFLILHG DV D FRQMXQFWLRQ RU GLVMXQFWLRQ RI QDPH RS YDOXHf WULSOHWV ZKHUH RS LV D FRPSDULVRQ RSHUDWRU 7KH DWWULEXWHV XVHG LQ WKH VHOHFWLRQ FRQGLWLRQ PXVW EH YDOXH RU GHVFULSWLYH DWWULEXWHV LQKHULWHG DWWULEXWHV DUH DOORZHGf VWDU FODVVOf RLGOLVWf FODVV6f DVVRFQDPHff 5HWXUQV $ OLVW RI RLG SDLUV HDFK SDLU VLJQLI\LQJ DQ REMHFW RI FODVVOf ZKLFK LV DVVRFLDWHG ZLWK D SDUWLFXODU REMHFW RI FODVVf 'HVFULSWLRQ 5HWULHYHV IURP WKH FODVV FODVVOf WKRVH REMHFWV LQ RLGOLVWf ZKLFK KDYH REMHFW UHIHUHQFHV WR DQ\ REMHFWV LQ WKH FODVV FODVVf WKURXJK WKH DVVRFLDWLRQ DVVRFQDPHf ,I WKH RLGOLVWf LV VSHFLILHG DV DOOf WKHQ DOO REMHFWV RI FODVVOf KDYLQJ REMHFW UHIHUHQFHV WR DQ\ REMHFW LQ WKH FODVV FODVVf DUH UHWULHYHG QRQVWDU FODVVOf RLGOLVWf FODVV%f DVVRFQDPHff 5HWXUQV $ OLVW RI RLGV (DFK RLG UHSUHVHQWV DQ REMHFW RI FODVVOf WKDW KDV QR REMHFW UHIHUHQFH WR DQ\ REMHFW RI FODVVf 'HVFULSWLRQ 5HWULHYHV IURP WKH FODVV FODVVOf WKRVH REMHFWV LQ RLGOLVWf WKDW KDYH QR REMHFW UHIHUHQFHV WR DQ\ REMHFW LQ WKH FODVV FODVVf ,I WKH RLG OLVWf LV VSHFLILHG DV DOOf WKHQ DOO REMHFWV RI FODVVOf KDYLQJ QR REMHFW UHIHUHQFHV WR DQ\ REMHFW LQ FODVVf DUH UHWULHYHG 7KH DVVRFQDPHf VSHFn LILHV WKH QDPH RI WKH VFKHPD OHYHO DVVRFLDWLRQ IURP FODVVOf WR FODVVf

PAGE 122

,OO $OJRULWKPV IRU 3URFHVVLQJ .HUQHO 2EMHFW 0DQLSXODWLRQ 2SHUDWRUV ,Q $SSHQGL[ % ZH SUHVHQW DOJRULWKPV FRUUHVSRQGLQJ WR WKH VHW RI NHUQHO REMHFW PDQLSXODWLRQ RSHUDWRUV GHVFULEHG DERYH :H QRWH WKDW IRU QDYLJDWLQJ FODVV KLHUn DUFKLHV WKHVH DOJRULWKPV PDNH H[WHQVLYH XVH RI WDLOUHFXUVLRQ DQG GHSWKILUVW WUHH VHDUFK WHFKQLTXHV ,PSOHPHQWDWLRQ RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP 6\VWHP DQG 0RGXOH &RQILJXUDWLRQ 7KH V\VWHP FRQILJXUDWLRQ RI 5206 DV D OD\HU RQ WRS RI D VWRUDJH PDQDJHPHQW OD\HU LV VKRZQ LQ )LJXUH ZLWK WKH PRGXOH FRQILJXUDWLRQ RI 5206 VKRZQ DV FRn RSHUDWLQJ PRGXOHV ZLWKLQ WKLV OD\HU &RPSRQHQWV RI 5206 KDYH EHHQ LPSOHPHQWHG LQ & DQG XVH WKH SHUVLVWHQW IDFLOLWLHV SURYLGHG E\ 21726 LQ WKH XQGHUO\LQJ VWRUn DJH OD\HU 'HWDLOV RI WKLV LPSOHPHQWDWLRQ FDQ EH IRXQG LQ >/$:@ :H QRZ SUHVHQW D EULHI GHVFULSWLRQ RI WKH FRPSRQHQWV WKDW FRQVWLWXWH WKH V\VWHP FRQILJXUDWLRQ RI 5206 5HUQHO REMHFW PDQLSXODWLRQ PRGXOH 7KLV PRGXOH UHSUHVHQWV WKH V\VWHP FRPSRQHQWV WKDW LPSOHPHQW WKH VHW RI NHUQHO REMHFW PDQLSXODWLRQ RSHUDWRUV 6WUXFWXUHV DFFHVV PHWKRGV DQG DOJRULWKPV IRU WKLV SXUSRVH D[H HQFRGHG KHUH 7KH PRGXOH HQIRUFHV WKH SDUWLWLRQLQJ RI DQ REMHFW DORQJ FODVV ERXQGDULHV DQG DOVR LPSOHPHQWV WKH LQKHULWDQFH VWUDWHJ\ FRUUHVSRQGLQJ WR WKH 'LVWULEXWHG 0RGHO RI 6WRUDJH '60f 0HWD PRGHO DQG GDWD GLFWLRQDU\ PRGXOH 7KLV PRGXOH PDQDJHV WKH PRGHO PHWDVFKHPD DQG WKH GDWD GLFWLRQDU\ FRPSRn QHQWV RI WKH 5206 &ODVVHV WKDW GHVFULEH WKH PRGHO DQG PRGLI\ WKH PRGHO VHPDQWLFV DUH GHILQHG DQG LPSOHPHQWHG LQ WKLV PRGXOH 7KH PRGXOH DOVR LPSOHPHQWV WKH GDWD

PAGE 123

LQWHUIDFW KLJK OHYHO RSHUDWLRQV RQ NHUQHO REMHFWV .(51(/ 2%-(&7 0$1$*(0(17 /$<(5 0(7$02'(/ $1' '$7$ ',&7,21$5< 02'8/( .(51(/ 2%-(&7 0$1,38/$7,21 02'8/( 7<3( 0$1$*(0(17 02'8/( ,17(5)$&( JHWSXWf° LQWHUIDFH 6725$*( /$<(5 )LJXUH /D\HU DQG 0RGXOH &RQILJXUDWLRQ RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP GLFWLRQDU\ DFFHVV PHWKRGV IRU VXSSO\LQJ UXQ WLPH LQIRUPDWLRQ DERXW PRGHO V\VWHP DQG DSSOLFDWLRQ FODVVHV 7\SH PDQDJHPHQW PRGXOH 7KLV PRGXOH UHSUHVHQWV WKH FRPSRQHQW RI WKH V\VWHP WKDW GHDOV ZLWK PDQDJHPHQW RI XVHUGHILQHG FRPSOH[ GDWD W\SHV VXFK DV PDWULFHV ELWPDSV HWF &XUUHQWO\ RQO\ WKH SULPLWLYH GDWD W\SHV DUH VXSSRUWHG 7KH LPSOHPHQWDWLRQ RI FRPSOH[ GDWD W\SHV DV YDOXH DWWULEXWHV LV QRW FXUUHQWO\ VXSSRUWHG $OVR VLQFH WKH XQGHUO\LQJ VWRUDJH V\VWHP 21726f GRHV QRW VXSSRUW WKH QRWLRQV RI ODUJH XQLQWHUSUHWHG REMHFWV DV LQ ([RGXVf .206 LV XQDEOH WR VXSSRUW WKLV IHDWXUH 7KXV ORQJBUDZ DQG VKRUWBUDZ D[H QRW FXUUHQWO\ LPSOHPHQWHG

PAGE 124

6WRUDJH OD\HU 7KH VWRUDJH OD\HU LV WKH 21726 REMHFW VHUYHU IRU & >217@ 21726 SURn YLGHV WKH & ODQJXDJH ZLWK WKH QRWLRQV RI SHUVLVWHQFH ,W SURYLGHV JHWSXW VHPDQn WLFV IRU REMHFWV DQG WKH UHJXODU IXQFWLRQDOLW\ RI REMHFW PDQDJHUV VXFK DV ORFNLQJ EXIIHU PDQDJHPHQW HWF :H KDYH LPSOHPHQWHG WKH PRGHO RI JHQHULF VWRUDJH REMHFWV GHVFULEHG LQ 6HFWLRQ DV DQ LQWHUIDFH WR 21726 DQG XVH WKH JHWSXW IDFLOLWLHV RI 21726 WR UHDGZULWH LQVWDQFHV FRUUHVSRQGLQJ WR WKH PRGHO RI JHQHULF VWRUDJH LQVWDQFHV WKDW ZH KDYH GHILQHG ,QWHUIDFH &ODVVHV $Q LPSRUWDQW FRQFHSW WKDW ZH SURSRVH IRU DFKLHYLQJ D KLJKHU IRUP RI DEVWUDFWLRQ LQ PRGHOLQJ WKH VRIWZDUH PRGXOHV LV WKH QRWLRQ RI ,QWHUIDFH &ODVVHV ,Q WKLV GLVVHUn WDWLRQ ZH ZLOO XVH WKLV QRWLRQ RI LQWHUIDFH FODVVHV H[WHQVLYHO\ LQ PRGHOLQJ V\VWHP VRIWZDUH $Q LQWHUIDFH FODVV LV D VSHFLDO FODVV WKDW UHSUHVHQWV D SDUWLFXODU LQWHUIDFH WR D JURXS RI RWKHU FODVVHV 7KH MXVWLILFDWLRQ IRU DQ LQWHUIDFH FODVV LV DV IROORZV &RQVLGHU D VRIWZDUH PRGXOH WKDW FRQVLVWV RI FODVVHV LH WHQ LQWHUUHODWHG VXEPRGXOHVf (DFK RI WKHVH FODVVHV LH D VXEPRGXOHf KDV VHYHUDO PHWKRGV ZKLFK FRPSULVH WKH LQWHUIDFH RI WKH FODVV $VVXPH HDFK FODVV KDV VD\ PHPEHU IXQFWLRQV &RPELQHG WKHVH FODVVHV WRJHWKHU ZLOO KDYH PHWKRGV DV DQ LQWHUIDFH +RZHYHU FROOHFWLYHO\ WKHVH FODVVHV UHSUHVHQW D PRGXOH ZKLFK PD\ KDYH D PXFK VPDOOHU LQWHUIDFH HJ PHWKRGVf VLQFH PDQ\ RI WKH PHWKRGV PD\ EH XVHG LQWHUQDOO\ DPRQJ WKH FODVVHV WR DFKLHYH WKH IXQFWLRQDOLW\ RI WKH PRGXOH :H WDNH WKH FROOHFWLYH QRW FRPELQHGf LQWHUIDFH RI WKHVH JURXS RI FODVVHV DQG SDFNDJH LW LQWR D FODVV FDOOHG DQ LQWHUIDFH FODVV RI WKH PRGXOH 7KXV D PRGXOH LV D KLJKHU OHYHO V\VWHP DEVWUDFWLRQ WKDQ D FODVV 1RWH WKDW H[WHUQDO PRGXOHV XVLQJ D JLYHQ PRGXOH PD\ QHHG WR VHH LQ RUGHU WR SDVV DUJXPHQWVf WKH VWUXFWXUH RI WKH FODVVHV GHILQHG LQVLGH WKH PRGXOH +RZHYHU DFFHVV

PAGE 125

LV RQO\ YLD WKH LQWHUIDFH FODVV ,PSOHPHQWDWLRQV RI PHPEHU IXQFWLRQV LQ LQGLYLGXDO FODVVHV DQG WKH LPSOHPHQWDWLRQ RI LQWHUIDFH IXQFWLRQV FDQ EH FKDQJHG SURYLGHG WKH LQWHUIDFH LWVHOI UHPDLQV XQFKDQJHG $Q LQWHUIDFH PD\ H[SDQG DQG LQGLYLGXDO FODVVHV PD\ DGG H[WUD PHPEHU IXQFWLRQV ZLWKRXW LOO HIIHFWV $ SDUWLFXODU PRGXOH PD\ KDYH PRUH WKDQ RQH LQWHUIDFH FODVV GHSHQGLQJ RQ ZKLFK JURXS RI FOLHQW PRGXOHV LW VHUYHV 7KH XVH RI LQWHUIDFH FODVVHV ZLOO EH LOOXVWUDWHG LQ VXEVHTXHQW VHFWLRQV &ODVV 6\VWHP ,Q WKLV VHFWLRQ ZH GHVFULEH V\VWHP PRGXOHV DQG FRPSRQHQWV YLD VFKHPD GLDJUDPV RU FODVV KLHUDUFKLHV WR LOOXVWUDWH WKH QRWLRQ RI V\VWHP H[WHQVLELOLW\ 6\VWHP ([WHQn VLELOLW\ LV WKH DELOLW\ WR PRGLI\ RU H[WHQG WKH PRGXOHV WKDW FRPSULVH WKH VRIWZDUH DUFKLWHFWXUH RI WKH V\VWHP 6\VWHP H[WHQVLELOLW\ LV HDVLO\ DFKLHYHG LI WKH VRIWZDUH DUn FKLWHFWXUH RI D V\VWHP LV GHYHORSHG DV DQ RSHQ PRGXODU DQG H[WHQVLEOH DUFKLWHFWXUH ZLWK ZHOOGHILQHG LQWHUIDFHV :H GHYHORS D V\VWHP DUFKLWHFWXUH VFKHPD D VFKHPD FRQVLVWLQJ RI V\VWHP VRIWn ZDUH PRGXOHV DQG WKHLU DVVRFLDWLRQV LQWHUDFWLRQVf ZLWK RQH DQRWKHU &RQVHTXHQWO\ VRIWZDUH PRGXOHV DQG LQWHUIDFHV DUH PRGHOHG DQG LPSOHPHQWHG DV FODVVHV DQG REn MHFWV IRU HDVH RI H[WHQVLRQ 7KXV ILOHV EXIIHUV ILOH PDQDJHUV EXIIHU PDQDJHUV TXHU\ SURFHVVRUV GDWD GLFWLRQDULHV REMHFW PDQDJHUV HWF FDQ EH PRGHOHG DV FODVVHV DQG REMHFWV $ VRIWZDUH PRGXOH LV VSHFLILHG XVLQJ VHYHUDO FODVVHV DQG LV LPSOHPHQWHG XVLQJ PHPEHU IXQFWLRQV RU PHWKRGV LQ WKHVH FODVVHV ,Q )LJXUH ZH LOOXVWUDWH WKH FRQFHSW RI D V\VWHP DUFKLWHFWXUH VFKHPD 7KH QRWLRQV RI LQWHUIDFH FODVV LQWURGXFHG SUHYLRXVO\ DQG WKH 8VHV DVVRFLDWLRQ LQWURGXFHG LQ &KDSWHU DUH XVHG H[WHQVLYHO\ LQ WKLV V\VWHP DUFKLWHFWXUH (DFK PRGXOH KDV RQH RU PRUH LQWHUIDFH FODVVHV 7KH 8VHV DVVRFLDWLRQ VKRZQ XVLQJ GDVKHG OLQHV LQ )LJXUH PRGHOV WKH SDVVLQJ RI PHVVDJHV EHWZHHQ WKH LQWHUIDFH FODVV DQG FRPSRQHQW FODVVHV RI WKH PRGXOH DQG WKH SDVVLQJ RI PHVVDJHV DPRQJ FRPSRQHQW FODVVHV RI

PAGE 126

.(51(/ 2%-(&7 +$1'/(5 )LJXUH 7KH 6\VWHP $UFKLWHFWXUH 6FKHPD

PAGE 127

WKH PRGXOH :H QRZ XVH VRPH H[DPSOHV IURP 5206 WR LOOXVWUDWH WKH QRWLRQV RI PRGXOHV LQWHUIDFH FODVVHV DQG V\VWHP H[WHQVLELOLW\ ,Q WKH ILUVW H[DPSOH LGHQWLW\ DQG WZR FXUUHQWO\ VXSSRUWHG IRUPV RI LGHQWLW\ WLPH VWDPS DQG VNHZHG FRXQWHU DUH PRGHOHG DV D FODVV DQG WZR VXEFODVVHV UHVSHFWLYHO\ $ VLQJOH LQWHUIDFH FODVV ,'+DQGOHU LV XVHG WR DFFHVV WKHVH GLIIHUHQW IRUPV RI LGHQWLW\ 7KXV LW LV SRVVLEOH WR HDVLO\ H[WHQG WKH QRWLRQ RI LGHQWLW\ E\ VXEFODVVLQJ WKH FODVV 2,' DQG DGGLQJ WKH DSSURSULDWH VHPDQWLFV WR WKH VXEFODVV 7KH VHFRQG UHODWHG H[DPSOH LV WKDW RI LGHQWLW\DGGUHVV PDSSLQJV RU REMHFW 7DEOHV 7ZR YDULDQWV RI REMHFW WDEOHV D /LQHDU +DVK YHUVLRQ DQG D %%r LQGH[ YHUVLRQ D[H VKRZQ DV VXEFODVVHV 7KH FODVV 27+DQGOHU VHUYHV DV DQ LQWHUIDFH $ PRUH FRPSOH[ H[DPSOH LV WKH PHWDGDWD RU GDWDGLFWLRQDU\ PRGXOH 7KH FODVV V\VWHP IRU WKH GDWD GLFWLRQDU\ DQG PRGHO PHWDVFKHPD PDQDJHPHQW PRGXOH LV VKRZQ LQ JUHDWHU GHWDLO LQ )LJXUH ,W FRQWDLQV DOO WKH FODVVHV WKDW UHVXOW IURP PRGHOLQJ WKH GDWD PRGHO LWVHOI SOXV RQH DGGLWLRQDO FODVV WKH 'LFWLRQDU\ +DQGOHU 'LF+DQGOHUf FODVV 7KH ILJXUH DOVR VKRZV WKH 8VHV UHODWLRQVKLS EHWZHHQ FRPSRQHQW FODVVHV RI WKH PRGXOH 7KH 'LF+DQGOHU FODVV LV DQ LQWHUIDFH FODVV WR WKH VHW RI PRGHO PHWDFODVVHV DQG UHSUHVHQWV WKH VHW RI DFFHVV IXQFWLRQV WKDW DQ\ RXWVLGH PRGXOH FDOOV ZKHQ DFFHVVLQJ PHWDLQIRUPDWLRQ :H QRZ LOOXVWUDWH WKH FRQFHSW RI DQ LQWHUIDFH FODVV DQG WKH PDQQHU LQ ZKLFK DQ H[WHUQDO PRGXOH XVHV DQ LQWHUIDFH FODVV )LUVW D 'LF+DQGOHU REMHFW LV FUHDWHG DQG WKHQ D PHVVDJH LV VHQW WR WKLV 'LF+DQGOHU REMHFW WR LQYRNH D SDUWLFXODU LQWHUIDFH IXQFWLRQ 7KLV FDOOLQJ VHTXHQFH LV VKRZQ EHORZ 'LF+DQGOHU rD'LF+DQGOHU D'LF+DQGOHU f§« JHW$,,6XSHU&ODVVHV2If¯7$f 7KH DFWLRQ WDNHQ E\ WKH FRUUHVSRQGLQJ PHWKRG LQ WKH 'LF+DQGOHU FODVV LV DV IROORZV ,W H[DPLQHV WKH DUJXPHQWV OLVW DQG f¯XQSDFNVf° WKH DUJXPHQW OLVW LQWR YDULRXV REMHFWV WKDW EHORQJ WR FODVVHV WKDW FRPSULVH WKH PRGXOH 0HVVDJHV DUH VHQW WR WKHVH

PAGE 128

)LJXUH &ODVV V\VWHP IRU WKH GDWD GLFWLRQDU\ PRGXOH

PAGE 129

REMHFWV DQG WKH DFWXDO PHWKRG LV LPSOHPHQWHG LQ WKH FODVVHV WKDW FRPSULVH WKH PRGXOH 7KLV LOOXVWUDWHV WKH 8VHV UHODWLRQVKLS EHWZHHQ FRPSRQHQW FODVVHV RI WKH PRGXOH 7KH ,QWHUIDFH FODVV LQ HIIHFW SOD\V WKH UROH RI D f¯PHVVDJH FRQWUROOHUf° DQG GLUHFWV PHVVDJHV DSSURSULDWHO\ 7KLV LV LOOXVWUDWHG XVLQJ & OLNH FRGHf EHORZ 'LF+DQGOHUJHW$,,6XSHU&ODVVHV2IFKDUr FODVVQDPHf^ ,I' [ &/$66r \ .HUQHO2EMHFW+DQGOHU rKO r XQSDFN DUJXPHQW LQWR DSSURSULDWH REMHFWV r [ KL f§« VHOHFW&/$66 FODVVQDPHf r [ LV QRZ WKH LLG RI WKH FODVV ZKRVH QDPH LV WKH VWULQJ YDULDEOH r r JHW YLUWXDO SRLQWHU WR WKH FODVV REMHFW r \ [ r VHQG PHVVDJH WR DSSURSULDWH REMHFW r \f§rfµ JHW$,,6XSHU&ODVVHV2If ` 7KH DFWXDO FRPSXWDWLRQ RI WKH UHVXOW LV GRQH E\ WKH IXQFWLRQ JHW$+6XSHU&ODVV WV2I4 LQ WKH PHWDFODVV &/$66 $V D ILQDO H[DPSOH ZH LOOXVWUDWH WKH XVH RI WKH .HUQHO2EMHFW+DQGOHU FODVV 7KLV FODVV UHSUHVHQWV DQ LQWHUIDFH FRQVLVWLQJ RI WKH NHUQHO REMHFW PDQLSXODWLRQ RSHUDWLRQV GHVFULEHG LQ 6HFWLRQ &OLHQWV RI WKH .206 LQYRNH WKHVH RSHUDWLRQV DV IROORZV , ,'$55$< [ .HUQHO2EMHFW+DQGOHU rKO [ KL } VHOHFWf¯7($&+(5 DJH ! f 7KH KDQGOHU RU LQWHUIDFH FODVV WKHQ IROORZV WKH VDPH SURFHGXUH DV GHVFULEHG DERYH IRU WKH 'LF+DQGOHU 1RWH WKDW LQ WKH DERYH LPSOHPHQWDWLRQ RI WKH JHW$OO 6XSHU&ODVVHV ZH XVHG WKH VHOHFW SURFHGXUH ZLWKRXW D KDQGOHU DV D VLPSOLILFDWLRQ IRU H[SODQDWLRQ SXUSRVHV 6\VWHP ([WHQVLELOLW\ $OO WKH PRGXOHV LQ WKH LPSOHPHQWDWLRQ RI .206 KDYH EHHQ GHVLJQHG DQG LPSOHn PHQWHG LQ WKH PDQQHU GHVFULEHG DERYH &RQVHTXHQWO\ HDFK PRGXOH FDQ EH H[WHQGHG

PAGE 130

E\ PRGLI\LQJ RU DGGLQJ FODVVHV REMHFWV DVVRFLDWLRQ DQG PHWKRGV WKDW FRPSULVH WKH PRGXOH )RU H[DPSOH WKH GDWD GLFWLRQDU\ PRGXOH LV H[WHQVLEOH DQG DGGLWLRQDO GLFWLRQDU\ DFFHVV IXQFWLRQV FDQ EH HDVLO\ GHILQHG DQG LPSOHPHQWHG 7KLV IHDWXUH RI H[WHQVLELOLW\ ZLOO EH XVHG WR H[WHQG .206 WR LQFRUSRUDWH WKH QRWLRQ RI UXOHV HWF

PAGE 131

&+$37(5 $ *5$3+%$6(' $3352$&+ 72 48(5< $1' 58/( 352&(66,1* ,Q WKLV FKDSWHU ZH SUHVHQW DV SDUW RI WKH SURSRVHG H[WHQVLEOH .%06 DUFKLWHFn WXUH D JHQHUDOL]HG JUDSKEDVHG DSSURDFK WR TXHU\ DQG UXOH SURFHVVLQJ IRU REMHFW RULHQWHG GDWDEDVHV ,Q WKH FRQWH[W RI WKH OD\HUHG DSSURDFK GLVFXVVHG LQ &KDSWHU WKH TXHU\ DQG UXOH SURFHVVRUV DUH GHYHORSHG DV XSSHUOD\HU FOLHQWV RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP 5206f 7KLV FKDSWHU LV RUJDQL]HG DV IROORZV ,Q 6HFWLRQ ZH SUHVHQW D UDWLRQDOH IRU XVLQJ D JUDSKEDVHG DSSURDFK $Q RYHUYLHZ RI WKH TXHU\ ODQJXDJH DQG WKH XQGHUn O\LQJ DVVRFLDWLRQ DOJHEUD LV SUHVHQWHG LQ 6HFWLRQ ,Q 6HFWLRQ ZH SURSRVH DQ DGMDFHQF\PDWUL[ EDVHG GDWD VWUXFWXUH IRU UHSUHVHQWLQJ WKH VHW RI JUDSKV FRUUHVSRQGn LQJ WR D VXEGDWDEDVH DQG 6HFWLRQ GHDOV ZLWK TXHU\ SURFHVVLQJ VWUDWHJLHV EDVHG RQ WKH GDWD VWUXFWXUH SURSRVHG LQ 6HFWLRQ ,Q 6HFWLRQ ZH H[WHQG WKH JUDSK EDVHG DSSURDFK WR UXOH SURFHVVLQJ )LQDOO\ LQ 6HFWLRQ ZH SUHVHQW DQ H[WHQVLEOH LPSOHPHQWDWLRQ RI WKH TXHU\ SURFHVVRU 5DWLRQDOH IRU D *UDSKEDVHG $SSURDFK 7KH &ORVXUH 3URSHUW\ $ GHVLUDEOH IHDWXUH RI DQ\ TXHU\ PRGHO RU ODQJXDJH LV WKH FORVXUH SURSHUW\ $ TXHU\ PRGHO RU ODQJXDJH LV VDLG WR EH FORVHG LI WKH UHVXOWV RI D TXHU\ DUH UHSUHVHQWHG DQG VWUXFWXUHG XVLQJ WKH VDPH GDWD PRGHO RU GDWD PRGHOLQJ FRQVWUXFWV XVHG WR PRGHO WKH GDWD XSRQ ZKLFK WKH TXHU\ RSHUDWHV $ FORVHG TXHU\ PRGHO SRVVHVVHV VHYHUDO DGYDQWDJHV )LUVW VLQFH WKH UHVXOW RI D TXHU\ LV UHSUHVHQWHG E\ WKH VDPH GDWD PRGHO WKLV UHVXOW FDQ EH RSHUDWHG XQLIRUPO\ E\ DQRWKHU TXHU\ XVLQJ WKH VDPH VHW RI

PAGE 132

RSHUDWRUV WR SURGXFH D QHZ UHVXOW 6HFRQG WKH UHVXOW RI D TXHU\ FDQ EH VDYHG DV D YLHZ GHILQLWLRQ DQG PDQLSXODWHG LQ WKH VDPH PDQQHU DV WKH RULJLQDO GDWDEDVH )RU WKH UHODWLRQDO GDWD PRGHO TXHU\ ODQJXDJHV VXFK DV 64/ DQG WKH UHODWLRQDO DOJHEUD VDWLVI\ WKH FORVXUH SURSHUW\ 6LPLODUO\ LW LV GHVLUDEOH WKDW TXHU\ ODQJXDJHV DQG DOJHEUDV SURSRVHG IRU REMHFWRULHQWHG GDWD PRGHOV VDWLVI\ WKH FORVXUH SURSHUW\ $Q 2EMHFWRULHQWHG 4XHU\ /DQJXDJH 24/f >$/$D $/$E@ DQG DQ $VVRFLDWLRQ $OJHEUD >*82 *8@ GHYHORSHG DW WKH 8QLYHUVLW\ RI )ORULGD PDLQWDLQ WKH FORVXUH SURSHUW\ IRU REMHFWRULHQWHG GDWDEDVHV ,Q WKLV TXHU\ ODQJXDJH DQG DOJHEUD WKH UHVXOW RI D TXHU\ LV WUHDWHG DV D VXEGDWDEDVH ZKLFK LV VWUXFWXUHG XVLQJ WKH VDPH PRGHO DV WKH RULJLQDO GDWDEDVH DJDLQVW ZKLFK WKH TXHU\ LV LVVXHG 3UHYLRXVO\ LQ &KDSWHU ZH LQWURGXFHG WKLV TXHU\ ODQJXDJH DV D ODQJXDJH FRPSRQHQW RI ;.20 3DWWHUQEDVHG 4XHU\ )RUPXODWLRQ )RU REMHFWRULHQWHG GDWDEDVHV WKH TXHU\ ODQJXDJH VKRXOG EH SDWWHUQEDVHG >$/$E@ DV RSSRVHG WR DWWULEXWHEDVHG TXHU\ ODQJXDJHV IRU WKH UHODWLRQDO GDWD PRGHO $ SDWWHUQEDVHG DSSURDFK DOORZV XVHU WR FRQYHQLHQWO\ H[SUHVV WKH TXHU\ E\ VSHFLI\LQJ SDWWHUQV RI REMHFW DVVRFLDWLRQ DV VHDUFK FRQGLWLRQV IRU DFFHVVLQJ GDWD 7KH VHDUFK FRQGLWLRQ LV VSHFLILHG DV FRPSOH[ SDWWHUQV RI REMHFW FODVVHV DQG WKHLU DVVRFLDWLRQV WKH REMHFWV VDWLVI\LQJ WKHVH SDWWHUQV DUH UHWULHYHG DQG IXUWKHU RSHUDWHG XSRQ E\ V\VWHP RU XVHUGHILQHG RSHUDWLRQV ,Q FRQWUDVW TXHULHV LQ WKH UHODWLRQDO PRGHO DUH VSHFLn ILHG DV D YDOXHEDVHG PDWFK RQ VSHFLILHG DWWULEXWHV 6LQFH WKH UHODWLRQDO GDWD PRGHO PDLQWDLQV UHODWLRQVKLSV RU DVVRFLDWLRQV DPRQJ WXSOHV E\ DWWULEXWH FRQWHQWV VXFK UHn ODWLRQVKLSV KDYH WR EH VSHFLILHG LQ TXHULHV XVLQJ WKH MRLQ RSHUDWRU DQG FRPSXWHG GXULQJ WKH SURFHVVLQJ RI WKH MRLQ RSHUDWRU E\ FRQWHQW PDWFKLQJ 8VLQJ *UDSKV DV D %DVLV ,Q RUGHU WR HIIHFWLYHO\ FRPSXWH TXHULHV LW LV LPSRUWDQW WR SURYLGH D SRZHUIXO DQG IRUPDO GDWD VWUXFWXUH WR VHUYH DV D EDVLV IRU TXHU\ SURFHVVLQJ )RU H[DPSOH

PAGE 133

IODW UHODWLRQDO WDEOHV DUH XVHG DV WKH EDVLV IRU TXHU\ SURFHVVLQJ LQ UHODWLRQDO '%06V ,QWHUPHGLDWHILQDO UHVXOWV RI VHWRULHQWHG TXHULHV D[H UHSUHVHQWHG DV UHODWLRQV DQG DUH JHQHUDWHG E\ WKH XVH RI DOJHEUDLF RSHUDWLRQV VXFK DV VHOHFW SURMHFW DQG MRLQ 6XFK GDWD VWUXFWXUHV HQVXUH WKDW WKH FORVXUH SURSHUW\ LV PDLQWDLQHG 6LPLODUO\ IRU REMHFW RULHQWHG GDWDEDVH PDQDJHPHQW V\VWHPV LW LV QHFHVVDU\ WR GHILQH DSSURSULDWH DQG IRUPDO GDWD VWUXFWXUHV WR VHUYH DV D EDVLV IRU SURFHVVLQJ VHWRULHQWHG TXHULHV 6XFK GDWD VWUXFWXUHV DUH FRQVLGHUHG DSSURSULDWH LI WKH\ PDLQWDLQ WKH FORVXUH SURSHUW\ $V GLVFXVVHG LQ &KDSWHU D VKRUWFRPLQJ RI H[LVWLQJ DSSURDFKHV WR TXHU\ SURFHVVn LQJ LQ REMHFWRULHQWHG GDWDEDVHV LV WKH DEVHQFH RI DQ DSSURSULDWH DQG IRUPDO VWUXFWXUH WR VHUYH DV D EDVLV IRU TXHU\ SURFHVVLQJ ,Q VHYHUDO TXHU\ ODQJXDJHV DQG SURFHVVn LQJ WHFKQLTXHV ZKLFK KDYH EHHQ SURSRVHG IRU RR GDWDEDVH V\VWHPV >6+, =$1 0$,D 67 217 52: %$1 &$5 .,0D@ DQ DSSURSULDWH DQG IRUPDO VWUXFWXUH IRU XVH DV D EDVLV IRU TXHU\ SURFHVVLQJ KDV QRW EHHQ FOHDUO\ GHILQHG 6RPH V\VWHPV VXFK DV 9EDVH >217@ ,ULV >),6@ 3RVWJUHV >67 52:@ DQG ([RGXV >&$5@ KDYH WDNHQ WKH DSSURDFK RI FRPELQLQJ UHODWLRQDO TXHU\ SURFHVVn LQJ VWUXFWXUHV DQG WHFKQLTXHV ZLWK REMHFWRULHQWHG GDWDEDVHV 8VLQJ GDWD VWUXFWXUHV VXFK DV QHVWHG UHODWLRQV FDQ UHVXOW LQ VHPDQWLF PLVPDWFK SUREOHPV DQG YLRODWLRQ RI WKH FORVXUH SURSHUW\ 2WKHU V\VWHPV VXFK DV 2'( >$*5@ *DOOLOHR >$/%@ DQG 23$/>6(5@ KDYH WDNHQ WKH DSSURDFK RI SURYLGLQJ TXHU\ FDSDELOLWLHV WKURXJK WKH XVH RI 'DWDEDVH 3URJUDPPLQJ /DQJXDJHV '%3/Vf 6XFK '%3/V ODFN D VHWRULHQWHG TXHU\ FDSDELOLW\ DQG PDQLSXODWH REMHFWV VLQJO\ XVLQJ SURJUDPPLQJ ODQJXDJH FRQn VWUXFWV $FFRUGLQJO\ D TXHU\ UHVXOW FRQWDLQLQJ REMHFWV DQG DVVRFLDWLRQV WKDW VSDQ DFURVV PDQ\ FODVVHV FDQQRW EH VSHFLILHG $QRWKHU DSSURDFK XVHG LQ V\VWHPV VXFK DV 2ULRQ >%$1 .,0D@ *(0 >=$1@ DQG '$3/(; >6+,@ LV WR XVH REn MHFWV IURP RQH FODVV WKH WDUJHW RU DQFKRU FODVVf DV D EDVLV DQG QDYLJDWH DORQJ WKH FODVV KLHUDUFK\ URRWHG DW WKDW FODVV WR SURFHVV D TXHU\ 7KXV WKH UHVXOW UHSUHVHQWV

PAGE 134

RQO\ REMHFWV RI D VLQJOH FODVV DQG TXHULHV LQ VXFK V\VWHPV FDQQRW JHQHUDWH D UHVXOW FRQWDLQLQJ REMHFWV DQG DVVRFLDWLRQV WKDW VSDQ DFURVV PDQ\ FODVVHV )RU REMHFWRULHQWHG GDWDEDVHV WKH FRPELQDWLRQ RI WKH FORVXUH SURSHUW\ DQG SDWWHUQ EDVHG TXHU\ IRUPXODWLRQ SURYLGH D VWURQJ MXVWLILFDWLRQ IRU XVLQJ JUDSKV DV D IRUPDO DQG DSSURSULDWH EDVLV IRU TXHU\ SURFHVVLQJ $W WKH LQWHQVLRQDO OHYHO WKH REMHFW RULHQWHG YLHZ RI DQ DSSOLFDWLRQ GDWDEDVH LV D QHWZRUN RI REMHFW FODVVHV DQG DVVRFLn DWLRQV RU LQWHUUHODWLRQVKLSV DPRQJ REMHFW FODVVHV 7KLV LQWHQVLRQDO YLHZ ZDV SUHYLn RXVO\ GHVFULEHG LQ &KDSWHU DQG LOOXVWUDWHG XVLQJ DQ H[DPSOH GDWDEDVH DSSOLFDWLRQ LQ )LJXUH 7KHVH VFKHPD JUDSKV DOVR NQRZQ DV &ODVV RU 7\SH JUDSKV HQFRPSDVV QRWLRQV VXFK DV $JJUHJDWLRQ *HQHUDOL]DWLRQ &ODVV KLHUDUFKLHV &ODVV FRPSRVLWLRQ KLn HUDUFKLHV FRPSOH[ REMHFWV DQG QXPHURXV IRUPV RI GLUHFWHG DF\FOLF JUDSKV '$*Vf $W WKH H[WHQVLRQDO OHYHO VXFK D GDWDEDVH FDQ EH YLHZHG DV D VHW RI ODUJH DQG FRPSOH[ LQVWDQFH JUDSKV FRUUHVSRQGLQJ WR WKH LQWHQVLRQ RI WKH GDWDEDVH $JDLQ WKLV H[WHQn VLRQDO YLHZ ZDV SUHYLRXVO\ GHVFULEHG LQ &KDSWHU DQG LOOXVWUDWHG XVLQJ DQ H[DPSOH GDWDEDVH LQ )LJXUH ,I SDWWHUQEDVHG TXHU\ VSHFLILFDWLRQ LV XVHG WKH FRPSOH[ LQWHQVLRQDO SDWWHUQf VSHFLILHG E\ WKH XVHU LQ D TXHU\ UHSUHVHQWV D VXEJUDSK RI WKH RULJLQDO GDWDEDVH LQn WHQVLRQ RU VFKHPD JUDSK 7KLV VXEJUDSK FRUUHVSRQGV WR WKH LQWHQVLRQ RU VFKHPD JUDSK RI WKH TXHU\ UHVXOW 7KXV WKH TXHU\ SURFHVVRU PXVW GHWHUPLQH WKH LQVWDQFH OHYHO H[WHQVLRQDOf SDWWHUQV WKDW VDWLVI\ WKH VSHFLILHG LQWHQVLRQDO SDWWHUQ 6XFK H[n WHQVLRQDO SDWWHUQV FDQ EH PDWHULDOL]HG DV LQVWDQFH JUDSKV 7R PDLQWDLQ WKH FORVXUH SURSHUW\ GDWD VWUXFWXUHV DQG VWUDWHJLHV IRU TXHU\ SURFHVVLQJ PXVW EH GHYHORSHG VR WKDW LQWHUPHGLDWH DQG ILQDO UHVXOWV RI D TXHU\ PXVW FRQIRUP WR WKH JUDSKRULHQWHG VWUXFWXUH RI REMHFWRULHQWHG GDWDEDVHV :KLOH PXFK UHVHDUFK KDV IRFXVVHG RQ FODVV RU W\SH JUDSKV DQG WKHLU SURSHUWLHV LQVWDQFH JUDSKV KDYH EHHQ ODUJHO\ LJQRUHG ,QVWDQFH JUDSKV UHSUHVHQW PDQLIHVWDWLRQV RU H[WHQVLRQV RI FODVV JUDSKV DQG DUH FUXFLDO IRU FRPSXWLQJ TXHULHV :H FRQWHQG WKDW

PAGE 135

LQVWDQFH JUDSKV SOD\ DQ LPSRUWDQW UROH LQ GHWHUPLQLQJ D EDVLV IRU TXHU\ SURFHVVLQJ LQ REMHFWRULHQWHG GDWDEDVHV ,QWHUQDOO\ TXHULHV PXVW EH SURFHVVHG E\ PDQLSXODWLQJ VHWV RI LQVWDQFH JUDSKV (DFK LQVWDQFH JUDSK FRQWDLQV REMHFW LQVWDQFHV DV QRGHV DQG REMHFW UHIHUHQFHV DV HGJHV 4XHU\ SURFHVVLQJ LV DFKLHYHG E\ VWDUWLQJ ZLWK D VHW RI RQH QRGH VXEJUDSKV DQG SURJUHVVLYHO\ JHQHUDWLQJ D VHW RI RWKHU VXEJUDSKV XQWLO WKH ILQDO VHW RI JUDSKV KDYLQJ DV PDQ\ QRGHV DV WKHUH DUH REMHFW FODVVHV LQ WKH TXHU\f LV UHDFKHG %\ WDNLQJ D JUDSKEDVHG DSSURDFK LW LV SRVVLEOH WR PDLQWDLQ WKH SURSHUW\ RI FORVXUH QRW RQO\ DW WKH ILQDO VWDJH RI WKH TXHU\ EXW DOVR DW DOO LQWHUPHGLDWH VWDJHV GXULQJ TXHU\ SURFHVVLQJ :KHQ DGGUHVVLQJ UHSUHVHQWDWLRQDO LVVXHV IRU WKH VHW RI JUDSKV WKDW DUH WR EH SURFHVVHG LQ RUGHU WR FRPSXWH D TXHU\ WKH IROORZLQJ FRQVLGHUDWLRQV DSSO\ 2UJDQL]DWLRQ RI WKH RULJLQDO GDWDEDVH 7KH RULJLQDO GDWDEDVH LV VWUXFWXUHG DQG RUJDn QL]HG LQ D PDQQHU WKDW DFFRPPRGDWHV VWRUDJH DQG DFFHVV RQ VHFRQGDU\ VWRUDJH GHYLFHV VXFK DV PDJQHWLF GLVNV /DUJH GDWDEDVHV DUH XVXDOO\ GHFRPSRVHG DQG VWRUHG LQ RUJDQL]DWLRQV VXFK DV ILOHV DQG UHFRUGV )RU H[DPSOH LQ UHODWLRQDO GDWDEDVHV WKH GDWD LV QRW VWRUHG LQ RQH ODUJH XQLYHUVDO UHODWLRQ EXW UDWKHU LV GHFRPSRVHG LQWR PDQ\ VPDOOHU DQG QRUPDOL]HG UHODWLRQV ZKHQ VWRUHG RQ GLVN ,Q REMHFWRULHQWHG GDWDEDVHV WRR WKH RULJLQDO GDWDEDVH PD\ EH YLVXDOL]HG DV RQH JLDQW QHWZRUN RI REMHFWV +RZHYHU VXFK D YLHZ LV QRW VXLWDEOH IRU RUJDQL]Dn WLRQ RQ VHFRQGDU\ VWRUDJH ,QVWHDG WKH GDWDEDVH LV GHFRPSRVHG DQG VWRUHG DV LQGLYLGXDO REMHFWV DQG LQVWDQFHV 7KLV PD\ EH YLHZHG DV D QRGH UHSUHVHQWDWLRQ RI JUDSKV LQ ZKLFK D JUDSK LV GHFRPSRVHG LQWR LQGLYLGXDO QRGHV DQG HDFK QRGH VWRUHV DGMDFHQF\ LQIRUPDWLRQ UHJDUGLQJ DOO WKH QRGHV LW LV FRQQHFWHG WR ,Q WKH DSSURDFK ZH SURSRVH REMHFWV LQ WKH RULJLQDO GDWDEDVH DUH UHSUHVHQWHG XVLQJ WKH 'LVWULEXWHG 0RGHO RI 6WRUDJH '60f GHVFULEHG LQ &KDSWHU

PAGE 136

2UJDQL]DWLRQ RI TXHU\ UHVXOWV 7KH LQWHUPHGLDWH DQG ILQDO UHVXOWV WKDW DUH JHQHUDWHG LQ WKH SURFHVVLQJ RI TXHULHV PXVW EH VWUXFWXUHG DQG RUJDQL]HG LQ D PDQQHU WKDW DFFRPPRGDWHV WKH SURFHVVLQJ RI TXHULHV LQ PDLQ PHPRU\ ,Q TXHU\ SURFHVVLQJ LW LV XVXDOO\ QHFHVVDU\ WR EULQJ WRJHWKHU WKH DSSURSULDWH IUDJPHQWV RI GHFRPn SRVHGf GDWD IURP GLVN LQWR RQH XQLILHG FROOHFWLRQ RI GDWD WKDW UHSUHVHQWV WKH UHVXOWV RI D TXHU\ ,I ZH WDNH UHODWLRQDO GDWDEDVHV DJDLQ DV DQ H[DPSOH WKH UHODWLRQ WKDW UHSUHVHQWV WKH UHVXOW RI D TXHU\ LV FRPSRVHG RI GDWD IURP RQH RU PRUH UHODWLRQV RQ GLVN ,Q REMHFWRULHQWHG GDWDEDVH WRR LW LV QHFHVVDU\ WR FRPn SRVH WKH VHW RI LQVWDQFH JUDSKV SDWWHUQVf WKDW UHSUHVHQW WKH UHVXOW RI D TXHU\ IURP WKH RQHQRGH LQVWDQFH UHSUHVHQWDWLRQV RQ GLVN ,Q RUGHU WR HIIHFWLYHO\ FRPSXWH WKH TXHU\ WKH GDWD VWUXFWXUH IRU UHSUHVHQWLQJ WKH LQWHUPHGLDWHILQDO UHVXOWV RI WKH TXHU\ PXVW EH GHVLJQHG IRU PDLQ PHPRU\ SURFHVVLQJ )RU HIIHFn WLYH TXHU\ SURFHVVLQJ WKH GDWD VWUXFWXUH PXVW QRW EH GHFRPSRVHG UDWKHU LW PXVW UHSUHVHQW WKH VHW RI LQVWDQFH JUDSKV LQ RQH XQLILHG VWUXFWXUH :H QRWH WKDW WKH DERYH WZR UHSUHVHQWDWLRQV GR QRW YLRODWH FORVXUH 5DWKHU WKH\ DUH WZR GLIIHUHQW EXW HTXLYDOHQW UHSUHVHQWDWLRQV 7KH ILUVW LV D VWUXFWXUH RSWLPL]HG IRU GLVN VWRUDJH DQG DFFHVV DQG WKH VHFRQG LV D VWUXFWXUH RSWLPL]HG IRU SURFHVVLQJ TXHULHV LQ PDLQ PHPRU\ 6LQFH WKH WZR VWUXFWXUHV DUH HTXLYDOHQW LW LV DOZD\V SRVVLEOH WR FRQYHUW IURP RQH WR WKH RWKHU 2Q WKH RQH KDQG WKH ILQDO UHVXOWV RI D TXHU\ FDQ EH FRQYHUWHG WR WKHLU GLVN UHSUHVHQWDWLRQ DQG VWRUHG RQ GLVN LI QHFHVVDU\ 7KLV PD\ EH UHTXLUHG IRU VWRULQJ VXEGDWDEDVHV RU YLHZV 2Q WKH RWKHU KDQG LW LV WKHRUHWLFDOO\ SRVVLEOH WR FRQYHUW WKH GLVN UHSUHVHQWDWLRQ RI WKH RULJLQDO GDWDEDVH WR RQH OD[JH PDLQ PHPRU\ JUDSK VWUXFWXUH 7KH UHODWLYHO\ ODUJH VL]H RI GDWDEDVHV VWRUHG RQ GLVN FRPSDUHG WR WKH VL]H RI PDLQ PHPRULHV ZLOO XVXDOO\ SUHFOXGH VXFK D WUDQVIRUPDWLRQ

PAGE 137

7KH 4XHU\ /DQJXDJH DQG $OJHEUD 4XHU\ /DQJXDJH 7KH TXHU\ PRGHO DQG ODQJXDJH GHYHORSHG LQ >$/$D@ DUH EDVHG XSRQ WZR NH\ FRQFHSWV )LUVW TXHULHV DUH VSHFLILHG EDVHG XSRQ DVVRFLDWLRQ SDWWHUQV RI LQWHUHVW WR WKH XVHU 6HFRQG WKH ODQJXDJH VDWLVILHV WKH SURSHUW\ RI FORVXUH 3UHYLRXVO\ LQ &KDSWHU WKH TXHU\ ODQJXDJH ZDV EULHIO\ UHYLHZHG DV SDUW RI WKH GLVFXVVLRQ RQ WKH ODQJXDJH FRPSRQHQWV RI WKH GDWD PRGHO /DWHU LQ WKLV FKDSWHU ZH ZLOO LOOXVWUDWH YDULRXV FRPSOH[ TXHULHV DQG WHFKQLTXHV IRU SURFHVVLQJ VXFK TXHULHV :H QRZ HODERUDWH RQ WKH DVVRFLDWLRQ DOJHEUD ZKLFK VHUYHV DV D IRUPDO EDVLV IRU WKH ODQJXDJH DQG SURYLGHV D EDVLV IRU SURFHVVLQJ TXHULHV VSHFLILHG XVLQJ 24/ $VVRFLDWLRQ $OJHEUD 7KH DVVRFLDWLRQ DOJHEUD $DOJHEUDf >*82 *8@ LV DQ DOJHEUD IRU PDQLSn XODWLQJ REMHFWRULHQWHG GDWDEDVHV DQG VHUYHV DV WKH IRUPDO XQGHUO\LQJ EDVLV IRU WKH TXHU\ ODQJXDJH 24/f ,W LV DQDORJRXV WR WKH UHODWLRQDO DOJHEUD ZKLFK LV GHILQHG IRU UHODWLRQDO GDWDEDVHV DQG TXHU\ ODQJXDJHV ,Q WKLV DOJHEUD REMHFWV DQG WKHLU DVVRn FLDWLRQV DUH XQLIRUPO\ UHSUHVHQWHG E\ DVVRFLDWLRQ SDWWHUQV DQG DUH PDQLSXODWHG E\ D QXPEHU RI DVVRFLDWLRQ DOJHEUD RSHUDWRUV 1LQH RSHUDWRUV DUH GHILQHG WR RSHUDWH XSRQ KRPRJHQHRXV RU KHWHURJHQHRXV VHWV RI DVVRFLDWLRQ SDWWHUQV WZR XQDU\ RSHUn DWRUV >$3URMHFW ¯Wf DQG $6HOHFW 6f@ DQG VHYHQ ELQDU\ RSHUDWRUV >$VVRFLDWH rf $&RPSOHPHQWMf $8QLRQ f $'LIIHUHQFH f§f $'LYLGH f 1RQ$VVRFLDWH f DQG $,QWHUVHFW fµf@ 7R LOOXVWUDWH WKH JUDSKEDVHG DSSURDFK WR TXHU\ SURFHVVLQJ ZH FRQVLGHU VL[ DVn VRFLDWLRQ RSHUDWRUV WKH WZR XQDU\ RSHUDWRUV >$3URMHFW Uf DQG $6HOHFW (f@ DQG IRXU ELQDU\ RSHUDWRUV >$VVRFLDWH rf $8QLRQ f 1RQ$VVRFLDWH f DQG $,QWHUVHFW fµf@ 7KH RSHUDWRUV $3URMHFW DQG $6HOHFW DUH LPSOLFLWO\ XVHG LQ TXHU\ SURFHVVLQJ E\ GLUHFWO\ FDOOLQJ WKH UHWULHYH DQG VHOHFW RSHUDWRUV GHILQHG IRU WKH .HUQHO 2EMHFW

PAGE 138

0DQDJHPHQW 6\VWHP .206f 7KH RWKHU IRXU RSHUDWRUV $VVRFLDWH 1RQ$VVRFLDWH $8QLRQ DQG $,QWHUVHFWf DUH YHU\ LPSRUWDQW IRU JHQHUDWLQJ WKH DVVRFLDWLRQ SDWn WHUQV IRU TXHU\ SURFHVVLQJ DOJRULWKPV IRU WKHVH RSHUDWRUV DQG WKHLU LPSOHPHQWDWLRQ DUH DQ LQWHJUDO SDUW RI WKH GHVLJQ DQG LPSOHPHQWDWLRQ RI WKH TXHU\ SURFHVVRU 8VLQJ WKHVH IRXU RSHUDWRUV LW LV SRVVLEOH WR FRPSXWH D ZLGH UDQJH RI GLIIHUHQW TXHULHV 7KH UHPDLQLQJ RSHUDWRUV DUH QRW RIWHQ XVHG LQ TXHU\ SURFHVVLQJ 5DWKHU WKHVH UHPDLQLQJ RSHUDWRUV WRJHWKHU ZLWK WKH RWKHU RSHUDWRUV FROOHFWLYHO\ VHUYH DV D FRPSOHWH VHW RI DOJHEUD RSHUDWRUV WKDW GHILQH WKH IRUPDO DQG WKHRUHWLFDO DVSHFWV RI WKH DOJHEUD $VVRFLDWLRQ DOJHEUD RSHUDWRUV :H EULHIO\ GHVFULEH WKH VHPDQWLF LQWHUSUHWDWLRQ RI IRXU RSHUDWRUV $VVRFLDWH 1RQ$VVRFLDWH $8QLRQ DQG $,QWHUVHFWf ZKLFK ZLOO EH XVHG ODWHU LQ WKH TXHU\ SURn FHVVLQJ WHFKQLTXHV )RU FRPSOHWH GHWDLOV RI DOO RSHUDWRUV WKH LQWHUHVWHG UHDGHU LV UHIHUUHG WR >*82@ ,Q GHVFULELQJ WKHVH RSHUDWRUV DQ DVVRFLDWLRQVHW GHQRWHG E\ D *UHHN OHWWHU D f UHSUHVHQWV D VHW RI DVVRFLDWLRQ SDWWHUQV ZLWKRXW GXSOLFDWHV $Q LQGLYLGXDO SDWWHUQ EHORQJLQJ WR WKH DVVRFLDWLRQ VHW D VD\ WKH LWK SDWWHUQ ZLOO EH GHQRWHG E\ D $OO H[DPSOHV XVHG EHORZ UHIHU WR WKH GDWDEDVH VFKHPD DQG H[WHQVLRQ VKRZQ LQ )LJXUH DQG )LJXUH RI &KDSWHU UHVSHFWLYHO\ $VVRFLDWH 0 7KH $VVRFLDWH RSHUDWRU LV D ELQDU\ RSHUDWRU ZKLFK FRQVWUXFWV DQ DVVRFLDWLRQVHW RI FRPSOH[ SDWWHUQV E\ FRQFDWHQDWLQJ WKH SDWWHUQV RI WZR RSHUDQG DVVRFLDWLRQVHWV [3< UHVXOW DVVRFLDWLRQVHW Dr>5&P&Qf`I 7KH UHVXOW RI DQ $VVRFLDWH RSHUDWRU LV DQ DVVRFLDWLRQVHW f RI UHVXOW SDWWHUQV FRQn WDLQLQJ QR GXSOLFDWHV (DFK UHVXOW SDWWHUQ LV WKH FRQFDWHQDWLRQ RI WZR SDWWHUQV RQH IURP HDFK RSHUDQG DVVRFLDWLRQVHWf LI DQ REMHFW LQVWDQFH LQ WKH ILUVW SDWWHUQ LV DVVRn FLDWHG LQ WKH RULJLQDO GDWDEDVHf ZLWK DQ REMHFW LQVWDQFH LQ WKH VHFRQG SDWWHUQ 7KH

PAGE 139

RSHUDWRU PXVW VSHFLI\ WKH DVVRFLDWLRQ QDPH 5f EHWZHHQ WKH FODVVHV &P &Qf RI WKH RSHUDQG DVVRFLDWLRQVHWV RYHU ZKLFK WKH SDWWHUQV DUH WR EH DVVRFLDWHG FRQFDWHQDWHGf $Q H[DPSOH RI WKH $VVRFLDWH RSHUDWRU LV VKRZQ LQ )LJXUH Df 7KH GHIDXOWV DUJXPHQWV IRU WKLV RSHUDWRU DUH DV IROORZV 7KH QDPH RI WKH FODVV IURP WKH ILUVW RSHUDQG LH &Pf PD\ EH RPLWWHG LI LW LV WKH ODVW FODVV LQ WKH LQWHQVLRQDO H[SUHVVLRQ RI D WKH QDPH RI WKH FODVV IURP WKH VHFRQG RSHUDQG LH &Pf PD\ EH RPLWWHG LI LW LV WKH ILUVW FODVV LQ WKH LQWHQVLRQDO H[SUHVVLRQ RI " DQG WKH QDPH RI WKH DVVRFLDWLRQ EHWZHHQ WKH WZR FODVVHV PD\ EH RPLWWHG LI WKHUH LV D VLQJOH XQLTXH DVVRFLDWLRQ QDPH EHWZHHQ WKH FODVVHV 1RQ$VVRFLDWH 7KH 1RQ$VVRFLDWH RSHUDWRU LV D ELQDU\ RSHUDWRU XVHG WR LGHQWLI\ WKH DVVRFLDWLRQ SDWWHUQV LQ RQH RSHUDQG DVVRFLDWLRQVHW Df WKDW DUH QRW DVVRFLDWHG RYHU D VSHFLILHG DVVRFLDWLRQf LQ WKH RULJLQDO GDWDEDVH ZLWK DQ\ SDWWHUQ LQ DQRWKHU DVVRFLDWLRQVHW "f DQG YLFH YHUVD UHVXOW DVVRFLDWLRQVHW D?>5^&PA &Qf? 7KH UHVXOW RI D 1RQ$VVRFLDWH RSHUDWRU LV DQ DVVRFLDWLRQ VHW f FRQWDLQLQJ SDWWHUQV RI WKH ILUVW RSHUDQG DVVRFLDWLRQVHW WKDW DUH QRW DVVRFLDWHG ZLWK DQ\ SDWWHUQV RI WKH VHFRQG RSHUDQG DVVRFLDWLRQVHW DQG SDWWHUQV RI WKH VHFRQG RSHUDQG DVVRFLDWLRQVHW WKDW DUH QRW DVVRFLDWHG ZLWK DQ\ SDWWHUQV RI WKH ILUVW RSHUDQG DVVRFLDWLRQVHW 7KH RSHUDWRU PXVW VSHFLI\ WKH DVVRFLDWLRQ QDPH 5f EHWZHHQ WKH FODVVHV &P &Qf RI WKH RSHUDQG DVVRFLDWLRQVHWV RYHU ZKLFK WKH SDWWHUQV PXVW QRW EH DVVRFLDWHG 7KH VDPH GHIDXOW QDPLQJ FRQYHQWLRQ XVHG IRU WKH $VVRFLDWH RSHUDWRU DSSOLHV $Q H[DPSOH RI WKH 1RQ$VVRFLDWH RSHUDWRU LV VKRZQ LQ )LJXUH Ef 7KH GRWWHG OLQH EHWZHHQ WZR LQVWDQFHV LQGLFDWHV WKDW WKH WZR LQVWDQFHV DUH QRW DVVRFLDWHG

PAGE 140

D 3 9 W 6 W V r &P &Qf &P 6HFWLRQ &Q &RXUVH Df ([DPSOH RI $VVRFLDWH 2SHUDWLRQ 2I WD W WD W  W $ S _ &P &Qf &P 7HDFKHU &Q 6HFWLRQ 9 Ef ([DPSOH RI 1RQ$VVRFLDWH 2SHUDWLRQ )LJXUH $VVRFLDWLRQ DOJHEUD RSHUDWRUV Df ([DPSOH RI $VVRFLDWH 2SHUDWLRQ Ef ([DPSOH RI 1RQ$VVRFLDWH 2SHUDWRU Ff ([DPSOH RI $8QLRQ 2SHUDWRU Gf ([DPSOH RI $,QWHUVHFW 2SHUDWRU

PAGE 141

D 3 F V? ? U fµ L F V? ? F $ fµ r f§L} F V L F ?F V fµ Ur \F V Ff ([DPSOH RI $8QLRQ 2SHUDWLRQ F V? ? fµ F V $ F V D V V V ?AW V ZM fµ^:` : ^7HDFKHU , 6HFWLRQ` ? W 3 W V F V F e V F V F W V W V Gf ([DPSOH RI $,QWHUVHFW 2SHUDWLRQ )LJXUH FRQWLQXHG $ $

PAGE 142

$8QLRQ f 7KH $8QLRQ RSHUDWRU LV D ELQDU\ RSHUDWRU XVHG WR FRPELQH WZR DVVRFLDWLRQVHWV D cf LQWR D VLQJOH DVVRFLDWLRQVHW f EDVHG RQ D XQLRQ RI WKH RSHUDQGV UHVXOW DVVRFLDWLRQVHW D c 7KH UHVXOW DVVRFLDWLRQVHW f UHSUHVHQWV D XQLRQ DQDORJRXV WR WKH XQLRQ RI VHWVf RI WKH WZR RSHUDQGV $Q H[DPSOH RI WKH $8QLRQ RSHUDWRU LV VKRZQ LQ )LJXUH Ff :H QRWH WKDW WKH DOJHEUD GRHV QRW UHTXLUH WKH RSHUDQGV WR EH XQLRQ FRPSDWLEOH DQG WKDW WKH UHVXOW DVVRFLDWLRQVHW PD\ FRQWDLQ D FRPELQDWLRQ RI KHWHURJHQHRXV DQG KRPRJHQHRXV SDWWHUQV $,QWHUVHFW 7KH $,QWHUVHFW RSHUDWRU LV D ELQDU\ RSHUDWRU XVHG WR FRPELQH WZR DVVRFLDWLRQ VHWV D cf LQWR D VLQJOH DVVRFLDWLRQVHW f EDVHG RQ DQ LQWHUVHFWLRQ RI WKH RSHUDQGV $ VHW RI FODVVHV :f RYHU ZKLFK WKH LQWHUVHFWLRQ LV WR EH FDUULHG RXW DUH DOVR VSHFLILHG UHVXOW DVVRFLDWLRQVHW D fµ ^:` 7KH UHVXOW DVVRFLDWLRQVHW f FRQWDLQV D VHW RI UHVXOW SDWWHUQV 7ZR SDWWHUQV RQH IURP HDFK RI WKH RSHUDQG DVVRFLDWLRQVHWV D cf DUH FRPELQHG LQWR RQH UHVXOW SDWWHUQ LI WKH\ FRQWDLQ WKH VDPH VHW RI REMHFWV IRU HDFK VSHFLILHG FODVV $Q H[DPSOH RI WKH $,QWHUVHFW RSHUDWRU LV VKRZQ LQ )LJXUH Gf 5HSUHVHQWDWLRQ 6FKHPHV IRU D 6XEGDWDEDVH ,Q WKLV VHFWLRQ ZH LQYHVWLJDWH IRUPDO DQG DSSURSULDWH GDWD VWUXFWXUHV WR VHUYH DV D EDVLV IRU TXHU\ SURFHVVLQJ DQG IRU UHSUHVHQWLQJ WKH VXEGDWDEDVHV WKDW DUH JHQHUDWHG GXULQJ TXHU\ SURFHVVLQJ $Q DGMDFHQF\PDWUL[EDVHG GDWD VWUXFWXUH LV SURSRVHG WR UHSUHVHQW WKH VHW RI LQVWDQFH JUDSKV WKDW FRQVWLWXWH D VXEGDWDEDVH

PAGE 143

$GMDFHQF\ 0DWUL[ YV /LQNHG /LVW 7R UHSUHVHQW WKH LQWHQVLRQ DQG H[WHQVLRQ RI D VXEGDWDEDVH ZH VWXG\ YDULDWLRQV RI VWDQGDUG JUDSK GDWD VWUXFWXUHV $ NH\ UHTXLUHPHQW LV WR SURYLGH GDWD VWUXFWXUHV IRU UHSUHVHQWLQJ VHWV RI JUDSKV UDWKHU WKDQ UHSUHVHQWLQJ D VLQJOH JUDSK ,Q JUDSK WKHRU\ WKH HPSKDVLV KDV EHHQ PRVWO\ RQ VLQJOH JUDSKV DQG WKHLU PDQLSXODWLRQ UDWKHU WKDQ VHWV RI JUDSKV DQG WKHLU PDQLSXODWLRQ :H H[WHQG GDWD VWUXFWXUHV XVHG IRU UHSUHVHQWLQJ VLQJOH JUDSKV WR UHSUHVHQW DQG PDQLSXODWH VHWV RI JUDSKV :H FRQVLGHU WZR UHSUHVHQWDWLRQDO WHFKQLTXHV (DFK LQVWDQFH JUDSK FDQ EH UHSn UHVHQWHG HLWKHU DV D OLQNHG OLVW RU DGMDFHQF\ PDWUL[ ,QLWLDOO\ OLQNHG OLVW UHSUHVHQWDn WLRQV PD\ VHHP DSSURSULDWH LQ YLHZ RI WKHLU FRPSDFW VSDFH UHTXLUHPHQWV DQG GLUHFW SRLQWHU DGGUHVVDELOLW\ +RZHYHU D VXEGDWDEDVH FDQ FRQWDLQ PDQ\ FRPSOH[ DVVRFLDn WLRQ SDWWHUQV UHVXOWLQJ LQ PDQ\ ODUJH DQG FRPSOH[ LQVWDQFH JUDSKV 5HSUHVHQWLQJ WKHVH LQVWDQFH JUDSKV DV OLQNHG OLVWV FDQ FDXVH HQRUPRXV DQG GLIILFXOW SUREOHPV LQ WKH PDQLSXODWLRQ DQG PDLQWHQDQFH RI SRLQWHUV GXULQJ TXHU\ SURFHVVLQJ 7KLV GLIILFXOW\ LQ SURFHVVLQJ DQG PDLQWDLQLQJ FRPSOH[ SRLQWHU VWUXFWXUHV KDV EHHQ GHPRQVWUDWHG LQ QHWZRUN GDWDEDVH VWUXFWXUHV ,QVWHDG DGMDFHQF\ PDWUL[ DSSURDFKHV IRU UHSUHVHQWn LQJ LQVWDQFH JUDSKV DQG VXEGDWDEDVHV DSSHDU WR EH PRUH SURPLVLQJ ,Q SDUWLFXODU LW LV ZHOO NQRZQ WKDW WKH DGMDFHQF\ PDWUL[ UHSUHVHQWDWLRQ LV FRQYHQLHQW IRU JUDSK DOJRULWKPV ZKLFK IUHTXHQWO\ UHTXLUH NQRZOHGJH RI ZKHWKHU FHUWDLQ HGJHV DUH SUHVHQW >$+@ 7KLV NQRZOHGJH LV QHHGHG E\ WKH TXHU\ SURFHVVRU WR FRPSXWH TXHULHV ,Q RXU DGMDFHQF\ PDWUL[ UHSUHVHQWDWLRQ HDFK LQVWDQFH JUDSK LV UHSUHVHQWHG E\ DQ ,QVWDQFH *UDSK $GMDFHQF\ 0DWUL[ ,*$0f :H QRZ IRUPDOO\ GHVFULEH WKH VWUXFWXUH RI DQ ,*$0 $Q ,*$0 LV D PRGLILHG Q [ Q DGMDFHQF\ PDWUL[ $If ZKHUH Q LV WKH QXPEHU RI REMHFW LQVWDQFHV IRUPLQJ WKH LQVWDQFH JUDSK 7KH FODVVHV FRUUHVSRQGLQJ WR WKHVH Q REMHFW LQVWDQFHV DUH GHVLJQDWHG DV &? &L &Q 7KH LWK URZ URWDf DQG WKH LWK FROXPQ FRf RI PDWUL[ ; DUH XVHG WR UHSUHVHQW DGMDFHQF\ LQIRUPDWLRQ IRU DQ REMHFW LQVWDQFH IURP WKH LWK FODVV &Wf )RU H[DPSOH LI IRXU FODVVHV &RXUVH 6HFWLRQ

PAGE 144

7HDFKHU DQG /RFDWLRQ DUH VSHFLILHG LQ D TXHU\ WKHQ WKH ,*$0 FRXOG EH RUGHUHG VR WKDW LQVWDQFHV IURP FODVV &RXUVH XVH WKH ILUVW URZ rf DQG WKH ILUVW FROXPQ FRLf LQVWDQFHV IURP FODVV 6HFWLRQ XVH WKH VHFRQG URZ rf DQG WKH VHFRQG FROXPQ FRf LQVWDQFHV IURP FODVV 7HDFKHU XVH WKH WKLUG URZ rf DQG WKH WKLUG FROXPQ FRf DQG LQVWDQFHV IURP FODVV /RFDWLRQ XVH WKH IRXUWK URZ rf DQG IRXUWK FROXPQ FRf 'LDJRQDO HOHPHQWV RI ; UHSUHVHQW QRGHV RI WKH LQVWDQFH JUDSK DQG FRQWDLQ WKH RLGV RI WKH LQVWDQFHV IURP WKH FRUUHVSRQGLQJ FODVVHV 7KXV ;A?f FRQWDLQV F RLG RI WKH LQVWDQFH IURP FODVV &RXUVHf ;Af FRQWDLQV V RLG RI WKH LQVWDQFH IURP FODVV 6HFWLRQf ;Af FRQWDLQV W RLG RI WKH LQVWDQFH IURP FODVV 7HDFKHUf DQG ;Lf FRQWDLQV RLG RI WKH LQVWDQFH IURP FODVV /RFDWLRQf 1RQ GLDJRQDO HOHPHQWV FRQWDLQ D RU ,I ;Lc FRQWDLQV D ]HUR WKLV LPSOLHV WKDW LQ WKH LQVWDQFH JUDSK WKHUH LV QR REMHFW UHIHUHQFH IURP WKH REMHFW LQVWDQFH ;A RI FODVV & WR WKH REMHFW LQVWDQFH ;Mf RI FODVV &M ,I ;^Mf FRQWDLQV D WKLV LPSOLHV WKDW WKHUH H[LVWV DQ REMHFW UHIHUHQFH RU OLQNf EHWZHHQ WKH REMHFW LQVWDQFH ;A RI FODVV &W WR WKH REMHFW LQVWDQFH ;\A RI FODVV &M 7KXV DQ REMHFW UHIHUHQFH RU OLQNf EHWZHHQ F DQG V ZRXOG EH UHSUHVHQWHG E\ D LQ WKH SRVLWLRQ VSHFLILHG E\ URZ DQG FROXPQ ZKHUHDV D QRQREMHFW UHIHUHQFH QROLQNf EHWZHHQ F DQG W ZRXOG EH UHSUHVHQWHG E\ D LQ WKH SRVLWLRQ VSHFLILHG E\ URZ DQG FROXPQ 2QO\ WKH XSSHU GLDJRQDO PDWUL[ RI WKH ,*$0 LV QHFHVVDU\ WR UHSUHVHQW QRQGLUHFWLRQDO UHIHUHQFHVOLQNVf ,I WKH HQWLUH ,*$0 LV XVHG LW LV SRVVLEOH WR UHSUHVHQW ELGLUHFWLRQDO OLQNV %\ QDYLJDWLQJ DORQJ D URZ RU FROXPQ LW LV SRVVLEOH WR GHWHUPLQH WKH OLQNV EHWZHHQ REMHFWV HDVLO\ DQG GLUHFWO\ )LJXUH Ef VKRZV DQ H[DPSOH ,*$0 FRUUHVSRQGLQJ WR WKH DVVRFLDWLRQ SDWWHUQ RI )LJXUH Df $ 7KUHH'LPHQVLRQDO 0DWUL[ 6WUXFWXUH :H KDYH GHVFULEHG D GDWD VWUXFWXUH WR IRUPDOO\ UHSUHVHQW D VLQJOH LQVWDQFH JUDSK )RU D TXHU\ UHVXOWLQJ LQ D VHW RI P H[WHQVLRQDO SDWWHUQV FRUUHVSRQGLQJ WR D JLYHQ LQWHQVLRQDO SDWWHUQ ZH UHSUHVHQW WKH UHVXOW DV D VHW RI P ,QVWDQFH *UDSK $GMDFHQF\

PAGE 145

6(&7,21 7($&+(5 &2856( /2&$7,21 Df $ VLQJOH DVVRFLDWLRQ SDWWHUQ &O 4 & &O F & V & & &O &2856( & 6(&7,21 & 7($&+(5 & /2&$7,21 Ef 7KH ,QVWDQFH *UDSK $GMDFHQF\ 0DWUL[ ,*$0f )LJXUH 7KH ,QVWDQFH *UDSK $GMDFHQF\ 0DWUL[ ,*$0f IRU UHSUHVHQWLQJ DQ DVVRFLDWLRQ SDWWHUQ Df $ VLQJOH DVVRFLDWLRQ SDWWHUQ Ef 7KH ,QVWDQFH *UDSK $GMDFHQF\ 0DWUL[ ,*$0f

PAGE 146

0DWULFHV ,*$0Vf &RQFHSWXDOO\ D GLPHQVLRQDO PDWUL[ Q [ Q [ P FDQ EH XVHG WR UHSUHVHQW D VHW RI P ($3V ,Q &KDSWHU DQ H[DPSOH LQWHQVLRQDO DVVRFLDWLRQ SDWWHUQ DQG D VHW RI H[WHQVLRQDO SDWWHUQV FRUUHVSRQGLQJ WR DQ H[DPSOH VXEGDWDEDVH ZHUH SUHVHQWHG DQG LOOXVWUDWHG XVLQJ )LJXUH ,Q )LJXUH ZH LOOXVWUDWH D GLPHQVLRQDO PDWUL[ IRU UHSUHVHQWLQJ WKH VHW RI H[WHQVLRQDO DVVRFLDWLRQ SDWWHUQV RI )LJXUH Ef 7KLV UHSUHVHQWDWLRQ LV FRQFHSWXDOO\ YHU\ FOHDQ DQG SUHVHQWV D YHU\ RUJDQL]HG DSSURDFK WR DUUDQJLQJ REMHFWV DQG REMHFW UHIHUHQFHV OLQNVf WKDW FRQVWLWXWH D VXEGDWDEDVH 7KLV LV DQ H[WUHPHO\ LPSRUWDQW UHTXLUHPHQW IRU SURFHVVLQJ WKH REMHFW UHIHUHQFHV RU OLQNV &O &2856( & 6(&7,21 & V 7($&+(5 & /2&$7,21 )LJXUH $ GLPHQVLRQDO PDWUL[ UHSUHVHQWLQJ D VHW RI DVVRFLDWLRQ SDWWHUQV ,Q FRQWUDVW DQ HTXLYDOHQW OLQNHG OLVW UHSUHVHQWDWLRQ IRU WKH VDPH VHW RI H[WHQVLRQDO SDWWHUQV VKRZQ LQ )LJXUH f LOOXVWUDWHV WKH SRLQWHU VWUXFWXUHV QHFHVVDU\ 6XFK SRLQWHU VWUXFWXUHV GR QRW DOORZ IRU HDV\ DFFHVV WR WKH RUJDQL]DWLRQ RI REMHFWV DFURVV

PAGE 147

WKH VHSD[DWH OLQNHG OLVWV WKDW FRQVWLWXWH WKH VHW RI SDWWHUQV )RU H[DPSOH LQ WKH OLQNHG OLVW DSSURDFK LW LV QRW HDVLO\ SRVVLEOH FRPSDUHG WR WKH DGMDFHQF\ PDWUL[ DSSURDFKf WR GHWHUPLQH DOO REMHFW LQVWDQFHV IURP D JLYHQ FODVV SUHVHQW LQ D VHW RI LQVWDQFH JUDSKV RU SDWWHUQV )LJXUH /LQNHG OLVW VWUXFWXUHV IRU UHSUHVHQWLQJ D VHW RI DVVRFLDWLRQ SDWWHUQV $Q 2SWLPL]HG 'DWD 6WUXFWXUH 7KH GLPHQVLRQDO DGMDFHQF\ PDWUL[ UHSUHVHQWDWLRQ KDV RQH PDMRU VKRUWFRPLQJ LW UHTXLUHV QPf VWRUDJH FRPSDUHG WR QPf VWRUDJH IRU UHSUHVHQWDWLRQV VXFK DV OLQNHG OLVWV 7R UHGXFH WKLV VLJQLILFDQW VWRUDJH UHTXLUHPHQW ZH QRZ SURSRVH DQ RSWLPL]DWLRQ EDVHG RQ WKH IROORZLQJ REVHUYDWLRQV WKH GLPHQVLRQDO PDWUL[ LV XVXDOO\ YHU\ VSDUVH VLQFH WKH GHJUHH RI FRQQHFWLYLW\ DW HDFK QRGH LV QRW YHU\ KLJK DOO H[WHQVLRQDO SDWWHUQV XVXDOO\ SRVVHVV D VLPLODU KRPRJHQHRXVf LQWHUFRQQHFn WLRQ VWUXFWXUH DQ LQWHUFRQQHFWLRQ VWUXFWXUH WKDW FRUUHVSRQGV WR WKH LQWHQVLRQDO SDWWHUQ VSHFLILHG LQ WKH TXHU\ 7KXV DOO ,*$0V KDYH f¬V DQG Of¬V LQ WKH FRUUHn VSRQGLQJ SRVLWLRQV 2QO\ WKH GLDJRQDO HOHPHQWV ZKLFK UHSUHVHQW WKH REMHFWV

PAGE 148

WKDW FRPSULVH WKH SDWWHUQ GLIIHU IURP RQH DGMDFHQF\ PDWUL[ WR DQRWKHU 6LQFH WKH LQWHUFRQQHFWLRQ VWUXFWXUH RI WKH LQVWDQFH JUDSKV UHPDLQ XQFKDQJHG WKH DGMDFHQF\ LQIRUPDWLRQ GRHV QRW QHHG UHSHWLWLRQ IRU HDFK LQVWDQFH JUDSK :H XVH WKH DERYH SURSHUWLHV WR GHVLJQ DQ H[DFWO\ HTXLYDOHQW VWUXFWXUH WKDW PDLQn WDLQV WKH VDPH LQIRUPDWLRQ ZLWK D YHU\ PXFK ORZHU VWRUDJH FRPSOH[LW\ ,Q WKH HTXLYDOHQW VWUXFWXUH WKH ' PDWUL[ Q [ Q [ Pf UHSUHVHQWLQJ P LQVWDQFH JUDSKV LV UHGXFHG WR WKH IROORZLQJ Df D VLQJOH Q [ Qf &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f ZKLFK UHSUHVHQWV WKH DGMDFHQF\ LQIRUPDWLRQ DW WKH FODVV OHYHO DQG Ef DQ ,QVWDQFH *UDSK 7DEOH ,*7f ZKLFK LV Q FROXPQV ZLGH DQG FRQWDLQV P HQWULHV 7KH ,QVWDQFH *UDSK 7DEOH ,*7f UHSUHVHQWV WKH VHW RI P LQVWDQFH JUDSKV KDYLQJ DQ LQWHUFRQQHFWLRQ VWUXFWXUH VSHFLILHG E\ WKH &*$0 7KH &*$0 UHSUHVHQWV LQIRUPDWLRQ WKDW LV FRPPRQ WR DOO WKH H[WHQVLRQDO DVVRn FLDWLRQ SDWWHUQV VXFK DV WKH LQWHUFRQQHFWLRQ VWUXFWXUH E\ H[WUDFWLQJ DQG SUHVHUYLQJ DGMDFHQF\ LQIRUPDWLRQ DW WKH FODVV OHYHO $Q XSSHU GLDJRQDO RU D ORZHU GLDJRQDO PDWUL[ LV VXIILFLHQW WR UHSUHVHQW XQGLUHFWHG HGJHV DVVRFLDWLRQV RU OLQNVf ZKLOH D IXOO PDWUL[ FDQ EH XVHG WR UHSUHVHQW GLUHFWHG DVVRFLDWLRQV 7KH VHW RI H[WHQVLRQDO DVVRFLDWLRQ SDWWHUQV RI WKH VXEGDWDEDVH DUH UHSUHVHQWHG DV LQVWDQFH JUDSKV LQ WKH ,QVWDQFH *UDSK 7DEOH ,*7f DV IROORZV 7KH ,*7 LV RUJDQL]HG VR WKDW WKH LWK FROXPQ FRUUHVSRQGV WR WKH FODVV UHSUHVHQWHG E\ WKH LWK URZ DQG LWK FROXPQ RI WKH &*$0 )RU H[DPSOH LI FODVV $ LV UHSUHVHQWHG E\ WKH WKLUG URZ DQG WKH WKLUG FROXPQ RI WKH &*$0 WKHQ WKH WKLUG FROXPQ RI WKH ,*7 UHSUHVHQWV FODVV $ 7KH ,QVWDQFH *UDSK 7DEOH ,*7f LV WKXV Q FROXPQV ZLGH DQG FRQWDLQV P HQWULHV URZVf (DFK FROXPQ UHSUHVHQWV D FODVV VSHFLILHG LQ WKH TXHU\ DQG HDFK FROXPQ FRQWDLQV RLGV RI REMHFWV IURP WKDW FODVV (DFK HQWU\ URZf FRQWDLQV Q RLGV IURP WKH Q FODVVHV SDUWLFLSDWLQJ LQ WKH TXHU\ (DFK URZ RI WKH ,*7 UHSUHVHQWV WKH REMHFW LQVWDQFHV SDUWLFLSDWLQJ LQ D VLQJOH LQVWDQFH JUDSK DQG ZKHQ FRPELQHG ZLWK WKH WHPSODWH RU DGMDFHQF\ LQIRUn PDWLRQ IURP WKH &*$0 LW LV H[DFWO\ HTXLYDOHQW WR WKH ,QVWDQFH *UDSK $GMDFHQF\

PAGE 149

0DWUL[ ,*$0f GHVFULEHG SUHYLRXVO\ 7KXV WKH VHW RI H[WHQVLRQDO SDWWHUQV FDQ EH HDVLO\ UHSUHVHQWHG XVLQJ WKLV DSSURDFK )LJXUH VKRZV WKH &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f DQG WKH ,QVWDQFH *UDSK 7DEOH ,*7f IRU WKH GLPHQVLRQDO PDWUL[ UHSUHVHQWDWLRQ RI )LJXUH &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0 &O & & & &O & & & ,QVWDQFH *UDSK 7DEOH ,*7f &O & & & F V W F V W F V W &O &2856( & 6(&7,21 & 7($&+(5 & /2&$7,21 )LJXUH $Q RSWLPL]HG GDWD VWUXFWXUH IRU UHSUHVHQWLQJ D VHW RI DVVRFLDWLRQ SDWWHUQV ,Q WKH HTXLYDOHQW UHSUHVHQWDWLRQ WKH VWRUDJH FRPSOH[LW\ LV Q QPf ,I P LV ODUJH FRPSDUHG WR Q WKLV LV WUXH IRU VHWRULHQWHG TXHULHV ZKLFK SURFHVV PDQ\ LQn VWDQFHV RI D VPDOO QXPEHU RI FODVVHVf WKHQ WKH FRPSOH[LW\ DSSURDFKHV QPf ZKLFK LV WKH VWRUDJH FRPSOH[LW\ RI D OLQNHG OLVW DSSURDFK 7KXV ZH FRQFOXGH WKDW IRU UHSUHn VHQWLQJ VHWV RI JUDSKV RU QHWZRUNV KDYLQJ WKH VDPH RU KRPRJHQHRXV LQWHUFRQQHFWLRQ VWUXFWXUH OLQNHG OLVW VWUXFWXUHV DUH QRW VXLWDEOH ,QVWHDG D YDULDWLRQ RI DGMDFHQF\ PDWUL[ VWUXFWXUHV SURYLGH DQ H[FHOOHQW UHSUHVHQWDWLRQDO VFKHPH &ODVV JUDSK DGMDFHQF\ PDWUL[ &*$0f 7KH LQIRUPDWLRQ UHSUHVHQWHG LQ WKH &*$0 LV H[WHQGHG WR UHSUHVHQW DGGLWLRQDO VHPDQWLF LQIRUPDWLRQ ,QVWHDG RI VLPSO\ UHSUHVHQWLQJ DGMDFHQF\ LQIRUPDWLRQ WKH HOHPHQWV RI WKH &*$0 UHSUHVHQW PHWDLQIRUPDWLRQ SHUWDLQLQJ WR WKH HGJH DVVRn FLDWLRQf VXFK DV WKH DVVRFLDWLRQ W\SH RSHUDWLRQV VSHFLILHG XVHUGHILQHG DVVRFLDWLRQ W\SHV HGJHVf GHULYHG DVVRFLDWLRQV HWF

PAGE 150

(DFK HOHPHQW ;LMf RI WKH &*$0 FRQVLVWV RI D WXSOH >D EFG? 7KLV WXSOH UHSUHVHQWV D VHW RI H[WHQVLEOH FRGHV DV IROORZV D LV D RQH ELW FRGH RU f VLJQLILHV WKDW WKHUH LV QR DVVRFLDWLRQ EHWZHHQ FODVV &c DQG FODVV &M DW WKH VFKHPD OHYHO VLJQLILHV WKDW VXFK DQ DVVRFLDWLRQ H[LVWV LV D RQH ELW FRGH RU f VLJQLILHV WKDW WKHUH LV QR DVVRFLDWLRQ DW WKH LQVWDQFH OHYHO EHWZHHQ LQVWDQFHV RI FODVV &^ DQG LQVWDQFHV RI FODVV &M VLJQLILHV WKDW VXFK DQ DVVRFLDWLRQ H[LVWV F LV DQ LQWHJHU f XVHG WR LQGLFDWH WKH RSHUDWLRQ VSHFLILHG LQ WKH TXHU\ EHWZHHQ FODVV &L DQG FODVV &M LQGLFDWHV QR RSHUDWLRQ LQGLFDWHV r LQGLFDWHV DQG WKH RWKHUV DUH XVHU GHILQDEOH RU UHVHUYHG IRU IXWXUH XVH G LV DQ LQWHJHU f XVHG WR VSHFLI\ WKH W\SH RI DVVRFLDWLRQ EHWZHHQ FODVVHV &^ DQG &M RI WKH TXHU\ LQGLFDWHV QR DVVRFLDWLRQ LQGLFDWHV *HQHUDOL]DWLRQ LQGLFDWHV $JJUHJDWLRQ DUH XVHU GHILQDEOH LQGLFDWHV DQ H[SOLFLW MRLQ RYHU GRPDLQ FRPSDWLEOH DWWULEXWHV DQG LQGLFDWHV D GHULYHG DVVRFLDWLRQ 1RUPDOL]HG LQVWDQFH JUDSKV 7R DOORZ IRU OHVVFRPSOH[ DOJRULWKPV IRU SURFHVVLQJ TXHULHV WKH SURSRVHG GDWD VWUXFWXUH XVHV WKH FRQFHSW RI RI D QRUPDOL]HG H[WHQVLRQDO DVVRFLDWLRQ SDWWHUQ 7KDW LV D JLYHQ SDWWHUQ FDQ KDYH RQO\ RQH REMHFW LQVWDQFH IURP D FRUUHVSRQGLQJ FODVV ,Q WHUPV RI LQVWDQFH JUDSKV WKLV LPSOLHV WKDW HDFK QRGH RI D VLQJOH LQVWDQFH JUDSK FDQ FRQWDLQ RQO\ RQH LQVWDQFH IURP WKH FRUUHVSRQGLQJ FODVV ,Q )LJXUH ZH LOOXVWUDWH WKH QRWLRQ RI QRUPDOL]HG SDWWHUQV DQG WKH FRUUHVSRQGLQJ JUDSKEDVHG UHSUHVHQWDWLRQ 8QQRUPDOL]HG DVVRFLDWLRQ SDWWHUQV FDQ EH QRUPDOL]HG HDVLO\ DQG HIILFLHQWO\ DW WKH H[SHQVH RI DGGLWLRQDO VWRUDJH VSDFH 5HFUHDWLQJ DQ XQQRUPDOL]HG DVVRFLDWLRQ SDWWHUQ IURP QRUPDOL]HG SDWWHUQV LV VRPHZKDW WHGLRXVf§LW LV H[SHFWHG WKDW DW WKH HQG RI D TXHU\ VXFK D SURFHVV LV HLWKHU QRW QHFHVVDU\ LI WKH UHVXOW LV QRW VWRUHGf

PAGE 151

Ef 1RUPDOL]HG DVVRFLDWLRQ SDWWHUQV $ % & $ % & $ % & DO2 E F DO2 E F DO2 E F Ff 7KH JUDSKEDVHG UHSUHVHQWDWLRQ IRU QRUPDOL]HG DVVRFLDWLRQ SDWWHUQV )LJXUH 1RUPDOL]HG DVVRFLDWLRQ SDWWHUQV DQG WKHLU UHSUHVHQWDWLRQ Df 8QQRUPDOL]HG DVVRFLDWLRQ SDWWHUQV Ef 1RUPDOL]HG DVVRFLDWLRQ SDWWHUQV Ff 7KH JUDSKEDVHG UHSUHVHQWDWLRQ IRU QRUPDOL]HG DVVRFLDWLRQ SDWWHUQV

PAGE 152

RU LV QRW YHU\ H[SHQVLYH FRPSXWDWLRQDOO\ LI WKH VL]H RI WKH UHVXOWLQJ VXEGDWDEDVH LV VPDOOf :H QRWH WKDW LW LV SRVVLEOH WR H[WHQG RXU UHSUHVHQWDWLRQDO VFKHPH WR GLUHFWO\ GHDO ZLWK XQQRUPDOL]HG DVVRFLDWLRQ SDWWHUQV E\ DOORZLQJ HDFK QRGH RI DQ LQVWDQFH JUDSK WR FRQWDLQ D VHW RI RLGV IURP WKH FRUUHVSRQGLQJ FODVV 6XFK D UHSUHVHQWDn WLRQDO VFKHPH ZRXOG UHTXLUH WKH XVH RI K\SHUJUDSK VWUXFWXUHV 7KLV ZRXOG UHVXOW LQ QRQXQLIRUP VWUXFWXUHV DQG FRPSOH[ FRQWURO VWUDWHJLHV DQG DOJRULWKPV :KLOH D K\SHUJUDSK DSSURDFK UHGXFHV WKH VWRUDJH VSDFH UHTXLUHPHQW LW LQFXUV DGGLWLRQDO RYHUKHDG IRU PDLQWDLQLQJ K\SHUJUDSKV 7KXV WKH QRUPDOL]HG YV XQQRUPDOL]HG DSn SURDFKHV UHSUHVHQW D VSDFH YV SURFHVVLQJ WUDGHRII ,QLWLDOO\ ZH SXUVXH WKH DSSURDFK EDVHG RQ QRUPDOL]HG H[WHQVLRQDO SDWWHUQV VR WKDW D EHWWHU XQGHUVWDQGLQJ RI RXU UHSUHVHQWDWLRQDO VFKHPH FDQ EH DFKLHYHG 6XSSRUW IRU KHWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV ,Q RUGHU WR VXSSRUW WKH QRWLRQ RI D VHW RI KHWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV WKH SURSRVHG JUDSKEDVHG GDWD VWUXFWXUH LQFRUSRUDWHV WKH QRWLRQ RI QXOO YDOXHV :H UHIHU WR D VXEGDWDEDVH DV KDYLQJ KHWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV ZKHQ DOO DVVRFLDWLRQ SDWWHUQV RI D VXEGDWDEDVH GR QRW KDYH LGHQWLFDO LQWHUFRQQHFWLRQ VWUXFWXUHV 1XOO YDOXHV DUH XVHG LQ WKH ,QVWDQFH *UDSK 7DEOH,*7f LQ SODFH RI RLGV WR LQGLFDWH WKDW LQ D SDUWLFXODU LQVWDQFH JUDSK DQ REMHFW LQVWDQFH IURP WKH FRUUHVSRQGLQJ FODVV LV DEVHQW 7KLV LV LQWHUSUHWHG WR PHDQ WKDW IRU D JLYHQ DVVRFLDWLRQ SDWWHUQ LI D QXOO YDOXH LV VSHFLILHG IRU D JLYHQ FODVV LW LPSOLHV D QROLQN WR DQ\ REMHFW LQVWDQFH RI WKDW FODVV ,Q )LJXUH ZH LOOXVWUDWH WKH XVH RI QXOO YDOXHV WR UHSUHVHQW D VHW RI KHWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV :H QRWH WKDW LQVWDQFH JUDSKV FDQ SRVVHVV DQ LQWHUFRQQHFWLRQ VWUXFWXUH VSHFLILHG E\ WKH FODVV JUDSK WKDW LV WKH &*$0f RU DQ\ VWULFW VXEVHW RI WKDW LQWHUFRQQHFWLRQ VWUXFWXUH

PAGE 153

Df +HWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV $ % & $ % & $%& DO2 E $ $ E F DOO E F $ LQGLFDWHV QXOO YDOXH Ef 7KH JUDSKEDVHG UHSUHVHQWDWLRQ IRU KHWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV )LJXUH +HWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV DQG WKHLU UHSUHVHQWDWLRQ Df +HWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV Ef 7KH JUDSKEDVHG UHSUHVHQWDWLRQ IRU KHWHURJHQHRXV DVVRFLDWLRQ SDWWHUQV

PAGE 154

3URFHVVLQJ 6HWV RI *UDSKV $ &ODVV ,QGH[ IRU 6HWV RI ,QVWDQFH *UDSKV ,Q GDWDEDVH DSSOLFDWLRQV DQ DVVRFLDWLRQ VHW LQYROYHG LQ D TXHU\ PD\ FRQWDLQ D ODUJH QXPEHU RI LQVWDQFH JUDSKV $ FRPPRQ DFFHVV UHTXLUHG E\ PDQ\ RI WKH DVVRFLDWLRQ DOJHEUD RSHUDWRUV LV WKH DFFHVV WR LQVWDQFHV RI D SDUWLFXODU FODVV LQ D JLYHQ DVVRFLDWLRQ VHW ,Q SDUWLFXODU DQ LQVWDQFH RI D SDUWLFXODU FODVV PD\ SDUWLFLSDWH LQ PDQ\ RI WKH DVVRFLDWLRQ SDWWHUQV LQ D JLYHQ DVVRFLDWLRQ VHW 7KXV ZH FRQVWUXFW D FODVV LQGH[ $ FODVV LQGH[ LV DQ LQGH[ RQ D SDUWLFXODU FODVV RI D JLYHQ DVVRFLDWLRQ VHW *LYHQ D VSHFLILF LQVWDQFH RI D SDUWLFXODU FODVV LW LV SRVVLEOH XVLQJ WKLV LQGH[ WR GHWHUPLQH DOO WKH SDWWHUQV RI D JLYHQ DVVRFLDWLRQ VHW LQ ZKLFK WKLV LQVWDQFH DSSHDUV ,Q )LJXUH ZH LOOXVWUDWH WKLV QRWLRQ RI D FODVV LQGH[ :H QRWH WKDW D FODVV LQGH[ LV D G\QDPLF PDLQ PHPRU\ LQGH[ WKDW LV FUHDWHG DQG PDQLSXODWHG GXULQJ TXHU\ SURFHVVLQJ 7KH FODVV LQGH[ VHUYHV VHYHUDO SXUSRVHV )LUVW LW LV XVHG KHDYLO\ LQ RSHUDWLRQV VXFK DV $VVRFLDWH DQG 1RQ$VVRFLDWH LQ GHWHUPLQLQJ ZKLFK SDWWHUQV FRQFDWHQDWH RU GR QRW FRQFDWHQDWH 6HFRQG LW VHUYHV WR HOLPLQDWHV GXSOLFDWHV ZKHQ LW LV QHFHVVDU\ WR GHWHUPLQH D XQLTXH VHW RI LQVWDQFH LGHQWLILHUV RI D SDUWLFXODU FODVV WKDW SDUWLFLSDWH LQ D SDWWHUQ 7KLV LV QHFHVVDU\ ZKHQ FDOOLQJ WKH ORZHUOHYHO REMHFW PDQDJHU IXQFWLRQV 3URFHVVLQJ $OJHEUDLF 4XHU\ 2SHUDWRUV :H QRZ VKRZ KRZ WKH SURSRVHG DGMDFHQF\PDWUL[ GDWD VWUXFWXUH LV XVHG WR SURn FHVV WKH DVVRFLDWLRQ DOJHEUD RSHUDWRUV ,Q )LJXUH ZH LOOXVWUDWH WKH XVDJH RI WKH DGMDFHQF\PDWUL[ GDWD VWUXFWXUHV IRU SURFHVVLQJ HDFK RI WKH IRXU SULPDU\ DVVRFLDWLRQ DOJHEUD RSHUDWRUV $VVRFLDWH 1RQ$VVRFLDWH $8QLRQ DQG $,QWHUVHFW $OO H[DPSOHV DUH EDVHG RQ WKH GDWDEDVH VFKHPD DQG H[WHQVLRQ GHVFULEHG SUHYLRXVO\ LQ &KDSWHU DQG VKRZQ LQ )LJXUH DQG )LJXUH UHVSHFWLYHO\ 7KH DVVRFLDWLRQ VHWV DQG RSHUDWRUV XVHG LQ HDFK H[DPSOH

PAGE 155

SDWWHUQ LG RIIVHW LQ ,*7f 7 6 / W V W V W V W V W V W V ,QVWDQFH *UDSK 7DEOH ,*7f / 2IIVHW LQ ,*7 &ODVV ,QGH[ IRU FODVV /RFDWLRQ )LJXUH $ &ODVV ,QGH[ IRU 6HWV RI $VVRFLDWLRQ 3DWWHUQV

PAGE 156

D 7 6 7 6 W V W V W V W6 V r 6&f F F F F F < 7 6 & 7 6 & W V F W V F W V F 7 7($&+(5 6 6(&7,21 & &2856( Df ([DPSOH RI $VVRFLDWH 2SHUDWRU 3 7$ 7 6 F 7$ 6 7 & 7$ 7 WD W WD W WD W 7$V 7$ 7 7($&+(5 6 & V F V F VO F V F VO F 6 6(&7,21 & &2856( < 7$ 7$ 7 6 & 7$ 7 6 & WD W $ $ WD W $ $ $ $ V F $ $ V F $ $ VO F $ $ V F Ef ([DPSOH RI 1RQ$VVRFLDWH 2SHUDWRU )LJXUH 3URFHVVLQJ DOJHEUD RSHUDWRUV XVLQJ WKH JUDSK UHSUHVHQWDWLRQ Df ([DPSOH RI $VVRFLDWH 2SHUDWRU Ef ([DPSOH RI 1RQ$VVRFLDWH 2SHUDWRU Ff ([DPSOH RI $8QLRQ 2SHUDWRU Gf ([DPSOH RI $,QWHUVHFW 2SHUDWRU

PAGE 157

8 FR + + FR r D 3 F V 7 & V / F & V 6 7 / / F 6 7 F VO $ F V $ $ $ W & E &2856( 6 6(&7,21 7 ‘ 7($&+(5 & 6 / F V $ F VO $ F V $ $ $ / /2&$7,21 & 6 7 / F VO $ $ F V $ $ $ $ W $ F V $ $ F VO $ $ F V $ $ $ $ $ Ff ([DPSOH RI $8QLRQ 2SHUDWRU D 3 7 6 / W V W V W V W V 6 / 7 6 & 7 6 & / 7 7 6 6 & & / 7 7($&+(5 6 % 6(&7,21 fµ ^76` 7 6 & W V F W V F W V F W V F / /2&$7,21 & E &2856( 7 6 & / W V F W V F Gf ([DPSOH RI $,QWHUVHFW 2SHUDWRU )LJXUH FRQWLQXHG

PAGE 158

FRUUHVSRQG WR WKRVH H[DPSOHV GHVFULEHG LQ 6HFWLRQ DQG VKRZQ LQ )LJXUH (DFK DVVRFLDWLRQ VHW LV VKRZQ DV D &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f DQG DQ ,QVWDQFH *UDSK 7DEOH ,*7f :H QRWH WKDW IRU D VXEGDWDEDVH RU DVVRFLDWLRQ VHW ZKLFK LV FRPSRVHG RI LQVWDQFHV IURP D VLQJOH FODVV D &*$0 LV QRW UHTXLUHG ,QVWHDG D VLQJOH FROXPQ RI LQVWDQFH LGHQWLILHUV LV XVHG WR UHSUHVHQW VXFK D RQHFODVV DVVRFLDWLRQ VHW $OJRULWKPV IRU $OJHEUDLF 4XHU\ 2SHUDWRUV ,Q $SSHQGL[ & ZH SUHVHQW DOJRULWKPV FRUUHVSRQGLQJ WR WKH LPSOHPHQWDWLRQ RI WKH DOJHEUDLF RSHUDWRUV 7KHVH DOJRULWKPV D[H EDVHG RQ WKH DGMDFHQF\PDWUL[ UHSn UHVHQWDWLRQ RI DVVRFLDWLRQVHWV GHVFULEHG LQ WKH SUHYLRXV VHFWLRQ DQG DOVR XWLOL]H WKH FODVV LQGH[ GHVFULEHG SUHYLRXVO\ 3URFHVVLQJ 4XHU\ ([HFXWLRQ 3ODQV &RUUHVSRQGLQJ WR HDFK TXHU\ D 4XHU\ ([HFXWLRQ 3ODQ 4(3f LV JHQHUDWHG $ 4(3 LV D WUHH ZKRVH QRGHV FRQVLVW RI DOJHEUDLF RSHUDWRUV WRJHWKHU ZLWK WKH RSHUDQGV ZKLFK PXVW EH H[HFXWHG LQ RUGHU IRU WKH TXHU\ WR EH SURFHVVHG 7KH FRPSXWDWLRQ RI D TXHU\ IROORZV D WZR SKDVH VWUDWHJ\ 3KDVH (VWDEOLVKPHQW RI D VXEGDWDEDVH FRQWH[W ,Q WKH ILUVW SKDVH WKH HVWDEOLVKPHQW RI D FRQWH[W RU VXEGDWDEDVH LV FDUULHG RXW LQ ZKLFK REMHFWV DQG DVVRFLDWLRQV VSHFLILHG E\ WKH TXHU\ DUH f«ILOWHUHGf¬ RXW RI WKH GDWDEDVH ,W LV WKLV SKDVH WKDW LQYROYHV WKH JHQHUDWLRQ RI DSSURSULDWH LQVWDQFH JUDSKV 3KDVH ,QYRFDWLRQ RI PHWKRGV 2QFH D VXEGDWDEDVH LV HVWDEOLVKHG PHWKRGV HJ 3ULQW6FKHGXOH 8SGDWHf FDQ EH LQYRNHG E\ SDVVLQJ PHVVDJHV WR REMHFWV LGHQWLILHG LQ WKH VXEGDWDEDVH

PAGE 159

(VWDEOLVKLQJ WKH VXEGDWDEDVH FRQWH[W RI D TXHU\ LQYROYHV WKH SURJUHVVLYH EXLOG XS RI ODUJHU LQVWDQFH JUDSKV IURP VPDOOHU LQVWDQFH JUDSKV XQWLO WKH ILQDO UHVXOW LV UHDOL]HG 7KH TXHU\ SURFHVVLQJ WHFKQLTXH LQYROYHV D GHSWKILUVW QDYLJDWLRQ DORQJ WKH QRGHV RI WKH 4(3 DQG EXLOGLQJ XS WKH DSSURSULDWH &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f DQG ,QVWDQFH *UDSK 7DEOH ,*7f E\ SURFHVVLQJ WKH RSHUDWRUV VSHFLILHG LQ QRGHV RI WKH 4(3 )RU HVWDEOLVKLQJ WKH VXEGDWDEDVH FRQWH[W HDFK QRGH RI WKH TXHU\ WUHH LQYROYHG LQ WKH FRQWH[W JHQHUDWLRQ XVHV RQH RI WKH WKUHH IROORZLQJ WHFKQLTXHV WR SURFHVV DOJHEUDLF RSHUDWRUV VXFK DV $VVRFLDWH $ QRGH SHUIRUPV DQ DOJHEUDLF RSHUDWLRQ EHWZHHQ WZR FODVVHV IURP WKH RULJLQDO GDWDEDVH WR SURGXFH DQ LQWHUPHGLDWH DVVRFLDWLRQ VHW IRU H[DPSOH $r%f D $ QRGH SHUIRUPV DQ RSHUDWLRQ EHWZHHQ D FODVV IURP WKH RULJLQDO GDWDEDVH DQG D FODVV IURP DQ LQWHUPHGLDWH DVVRFLDWLRQ VHW WR SURGXFH DQRWKHU DVVRFLDWLRQ VHW )RU H[DPSOH LQ WKH TXHU\ $r % r &f DIWHU D $r %f LV FDUULHG RXW DW RQH QRGH WKH QH[W QRGH SHUIRUPV Dr & IO $ QRGH SHUIRUPV DQ RSHUDWLRQ EHWZHHQ D FODVV IURP RQH LQWHUPHGLDWH DVVRFLn DWLRQ VHW DQG D FODVV IURP DQRWKHU LQWHUPHGLDWH DVVRFLDWLRQ VHW WR JHQHUDWH DQRWKHU DVVRFLDWLRQ VHW )RU H[DPSOH $r%f?&r'ff SURGXFHV WZR LQWHUPHn GLDWH DVVRFLDWLRQ VHWV D ^$ r %f DQG & r 'f DQG WKH ODVW TXHU\ WUHH QRGH SHUIRUPV D" :H DOVR QRWH WKDW LQ WKH JHQHUDWLRQ RI WKH VXEGDWDEDVH FRQWH[W D TXHU\ WUHH QRGH FDQ DOVR SHUIRUP D VHOHFW RSHUDWLRQ E\ GLUHFWO\ LQYRNLQJ WKH REMHFW PDQDJHU VHOHFW RSHUDWRUf WR JHQHUDWH D VLQJOH FODVV DVVRFLDWLRQ VHW :H QRZ XVH VRPH H[DPSOH TXHULHV WR LOOXVWUDWH WKH DGMDFHQF\PDWUL[ EDVHG DSn SURDFK WR TXHU\ SURFHVVLQJ )RU HDFK H[DPSOH ZH ZLOO VKRZ WKH FRUUHVSRQGLQJ 4XHU\ ([HFXWLRQ 3ODQ DQG LOOXVWUDWH WKH RSHUDWLRQV DQG WKH UHVXOWV DW HDFK LQWHUPHGLDWH

PAGE 160

VWHS LQ WKH JHQHUDWLRQ RI WKH VXEGDWDEDVH FRQWH[W (DFK LQWHUPHGLDWHILQDO UHVXOW RI WKH VXEGDWDEDVH FRQWH[W LV VKRZQ DV D &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f DQG ,QVWDQFH *UDSK 7DEOH ,*7f $ TXHU\ LV H[HFXWHG E\ D GHSWKILUVW SRVWRUGHU WUHH WUDYHUVDO DQG H[HFXWLRQ RI RSHUDWRUV LQ WKH QRGHV WKDW FRQVWLWXWH WKH TXHU\ H[HFXWLRQ SODQ ,Q WKH H[DPSOHV LOOXVWUDWHG EHORZ QR HIIRUW LV PDGH WR JHQHUDWH DQ RSWLPL]HG TXHU\ H[HFXWLRQ SODQ VLQFH QR TXHU\ RSWLPL]DWLRQ LV DVVXPHG :H H[SHFW TXHU\ RSWLPL]DWLRQ WR EH FDUULHG RXW ODWHU DV SDUW RI DQ H[WHQVLRQ RI WKLV DSSURDFKf 5DWKHU WKH TXHU\ LV H[HFXWHG XVLQJ DQ H[HFXWLRQ SODQ WKDW FRUUHVSRQGV WR WKH SDUVH WUHH RI WKH TXHU\ 7KH FDVHV EHORZ UHSUHVHQW D FRPSUHKHQVLYH VHW RI OLQHDU DQG EUDQFKLQJ DVVRFLDWLRQ SDWWHUQV FRPELQHG ZLWK $VVRFLDWH DQG 1RQ$VVRFLDWH RSHUDWRUV 4XHULHV ZLWK OLQHDU DVVRFLDWLRQ SDWWHUQV 4XHU\ ,QFUHDVH E\ b WKH VDODU\ RI DOO WHDFKHUV ZKR KDYH D 3K' GHJUHH DQG DUH WHDFKLQJ DGYDQFHG JUDGXDWH FODVVHV 7KH FRUUHVSRQGLQJ 24/ TXHU\ LV &217(;7 7HDFKHU>GHJUHH f«3K'f¬@ r 6HFWLRQ r &RXUVH >FRXUVH ! @ 8SGDWH 7HDFKHU>VDODU\ r VDODU\@ 7KLV TXHU\ LOOXVWUDWHV WKH XVH RI WKH $VVRFLDWH RSHUDWRU DQG WKH TXHU\ H[HFXWLRQ SODQ FRUUHVSRQGLQJ WR WKLV TXHU\ LV VKRZQ LQ )LJXUH 7KH ILQDO $VVRFLDWH RSHUDn WRU LQ WKLV TXHU\ FRUUHVSRQGV WR WKH H[DPSOH LOOXVWUDWHG SUHYLRXVO\ LQ )LJXUH Df 7KLV H[DPSOH TXHU\ DOVR LOOXVWUDWHV KRZ D TXHU\ FDQ LQYRNH D V\VWHPGHILQHG RSHUn DWRU $Q XSGDWH RSHUDWRU VKRZQ DV WKH WRSPRVW RSHUDWRU QRGH RI WKH TXHU\ WUHH LV LQYRNHG RQ WKH LQVWDQFHV RI FODVV 7HDFKHU ZKLFK VDWLVI\ WKH VSHFLILHG DVVRFLDWLRQ SDWWHUQ 4XHU\ 'LVSOD\ WKH QDPHV RI DOO 7$V ZKR KDYH D 06 GHJUHH DQG DUH QRW WHDFKLQJ DQ\ JUDGXDWH FODVVHV 7KH FRUUHVSRQGLQJ 24/ TXHU\ LV

PAGE 161

/(*(1' 7 D 7($&+(5 6 6(&7,21 & &2856( 83' LQGLFDWHV 8SGDWH RSHUDWLRQ 6(/ LQGLFDWHV 6HOHFW RSHUDWLRQ 2 LQGLFDWHV DVVRFLDWLRQVHW Â’ LQGLFDWHV &/$66 IURP '$7$%$6( 2 LQGLFDWHV 23(5$7,21 12'( 7 6 & 7 6 & W V F W V F W V F )LJXUH 3URFHVVLQJ D TXHU\ KDYLQJ $VVRFLDWH RSHUDWRUV

PAGE 162

&217(;7 7$ r 7HDFKHU >GHJUHH f«06f¬@ 6HFWLRQ r &RXUVH >FRXUVH ! @f 6(/(&7 7$>QDPH@ 'LVSOD\ 7KLV TXHU\ LOOXVWUDWHV WKH XVH RI WKH 1RQ$VVRFLDWH RSHUDWRU DQG WKH TXHU\ H[Hn FXWLRQ SODQ FRUUHVSRQGLQJ WR WKLV TXHU\ LV VKRZQ LQ )LJXUH 7KH 1RQ$VVRFLDWH RSHUDWRU LQ WKLV TXHU\ FRUUHVSRQGV WR WKH H[DPSOH LOOXVWUDWHG SUHYLRXVO\ LQ )LJXUH Ef 7KH GLVSOD\ RSHUDWRU VKRZQ DV WKH WRSOHYHO QRGH RI WKH TXHU\ WUHH LV XVHG WR UHWULHYH DQG GLVSOD\ WKH GHVFULSWLYH GDWD RI LQVWDQFHV WKDW VDWLVI\ WKH VSHFLILHG DVVRFLDWLRQ SDWWHUQ 4XHULHV ZLWK EUDQFKLQJ DVVRFLDWLRQ SDWWHUQV 4XHU\ 'LVSOD\ DOO VHFWLRQV RI FXUUHQWO\ RIIHUHG FRXUVH ZKLFK KDYH QRW EHHQ DVVLJQHG D WHDFKHU RU D ORFDWLRQ 6KRZ DOVR WKH FRXUVH DQG VHFWLRQ &217(;7 &RXUVH r 6HFWLRQ 25 7HDFKHU /RFDWLRQf 6(/(&7 &RXUVH>FRXUVH@ 6HFWLRQ>VHFWLRQ@ 'LVSOD\ 7KLV TXHU\ LOOXVWUDWHV D EUDQFKLQJ DVVRFLDWLRQ SDWWHUQ EDVHG RQ DQ 25 FRQGLn WLRQ DW WKH IRUN FODVV 7KLV EUDQFKLQJ DVVRFLDWLRQ SDWWHUQ LV GHFRPSRVHG LQWR DQ DVVRFLDWLRQ DOJHEUD H[SUHVVLRQ DV IROORZV &RXUVH r 6HFWLRQ ?25 7HDFKHU /RFDWLRQf &RXUVH r 6HFWLRQ 7HDFKHUf &RXUVH r 6HFWLRQ /RFDWLRQf %DVHG RQ WKLV GHFRPSRVLWLRQ WKH FRUUHVSRQGLQJ TXHU\ H[HFXWLRQ SODQ LV VKRZQ LQ )LJXUH ,W LOOXVWUDWHV WKH XVH RI WKH $8QLRQ RSHUDWRU 7KH $8QLRQ RSHUDWRU LQ WKLV TXHU\ FRUUHVSRQGV WR WKH H[DPSOH LOOXVWUDWHG SUHYLRXVO\ LQ )LJXUH Ff :H QRWH WKDW \ &RXUVH r 6HFWLRQ LV QRW FRPSXWHG WZLFH 5DWKHU WKH VDPH UHVXOW \f LV VKDUHG E\ WKH WZR EUDQFKHV RI WKH TXHU\ WUHH 4XHU\ 'LVSOD\ DOO WHDFKHUV ZKR KDYH EHHQ DVVLJQHG WR WHDFK VHFWLRQV RI XQGHUJUDGn XDWH FODVVHV IRU ZKLFK WKH FDSDFLW\ RI WKH FODVVURRP H[FHHGV

PAGE 163

/(2(1' 7$ 7$ 7 7($&+(5 6 6(&7,21 & &2856( ',6 LQGLFDWHV 'LVSOD\ RSHUDWLRQ 5(7 LQGLFDWHV 5HWULHYH RSHUDWLRQ 6(/ LQGLFDWHV 6HOHFW RSHUDWLRQ 2 LQGLFDWHV DVVRFLDWLRQVHW Â’ LQGLFDWHV &/$66 IURP '$7$%$6( LQGLFDWHV 23(5$7,21 12'( 7$ 7 6 & PL 7$ 7 V & WD W $ $ WD W $ $ $ $ V F $ $ V F $ $ VO F $ $ V F 7$ D F F F F F F F 7$ 7 D ?/ )LJXUH 3URFHVVLQJ D TXHU\ KDYLQJ D 1RQ$VVRFLDWH RSHUDWRU

PAGE 164

/(*(1' & 6 7 / & &2856( & 6 6(&7,21 6 7 ‘ 7($&+(5 7 / /2&$7,21 / 5(7 LQGLFDWHV 5HWULHYH RSHUDWLRQ 6(/ LQGLFDWHV 6HOHFW RSHUDWLRQ 2 LQGLFDWHV DVVRFLDWLRQVHW LQGLFDWHV &/$66 IURP '$7$%$6( ’ R LQGLFDWHV 23(5$7,21 12'( & 6 3 < & 6 7 / F V $ $ F V $ $ $ $ W $ F V $ $ F VO $ $ F V $ $ $ $ $ & V 7 D & 6 7 F VO $ F V $ $ $ W )LJXUH 3URFHVVLQJ D TXHU\ KDYLQJ DQ $8QLRQ RSHUDWRU

PAGE 165

&217(;7 7HDFKHU r 6HFWLRQ r$1' /RFDWLRQ >FDSDFLW\ ! @ &RXUVH >FRXUVH @ 6(/(&7 7HDFKHUIQDPH@ 'LVSOD\ 7KLV TXHU\ LOOXVWUDWHV D EUDQFKLQJ DVVRFLDWLRQ SDWWHUQ EDVHG RQ DQ $1' FRQGLn WLRQ DW WKH IRUN FODVV 7KLV EUDQFKLQJ DVVRFLDWLRQ SDWWHUQ LV GHFRPSRVHG LQWR DQ DVVRFLDWLRQ DOJHEUD H[SUHVVLRQ DV IROORZV 7HDFKHU r 6HFWLRQ r $1 '/RFDWLRQ &RXUVHf 7HDFKHU r 6HFWLRQ r /RFDWLRQf fµ 7HDFKHU r 6HFWLRQ r &RXUVHf %DVHG RQ WKLV GHFRPSRVLWLRQ WKH FRUUHVSRQGLQJ TXHU\ H[HFXWLRQ SODQ LV VKRZQ LQ )LJXUH ,W LOOXVWUDWHV WKH XVH RI WKH $,QWHUVHFW RSHUDWRU 7KH $,QWHUVHFW RSHUDWRU LQ WKLV TXHU\ FRUUHVSRQGV WR WKH H[DPSOH LOOXVWUDWHG SUHYLRXVO\ LQ )LJXUH Gf $JDLQ ZH QRWH WKDW IL 7HDFKHU r 6HFWLRQ LV QRW FRPSXWHG WZLFH 5DWKHU WKH VDPH UHVXOW ]f LV VKDUHG E\ WKH WZR EUDQFKHV RI WKH TXHU\ WUHH ([WHQGLQJ WKH *UDSKEDVHG $SSURDFK WR 5XOH 3URFHVVLQJ ,Q RUGHU WR DSSO\ WKH JUDSKEDVHG DSSURDFK WR WKH H[HFXWLRQ RI UXOHV ZH LQWURGXFH WKH FRQFHSW RI UXOH WUHHVf§DQ H[WHQVLRQ RI TXHU\ WUHHV 7KH IROORZLQJ VHFWLRQV GHVFULEH UXOH WUHHV DQG WKH DSSOLFDWLRQ RI WKH JUDSKEDVHG DSSURDFK IRU SURFHVVLQJ UXOHV WR GHULYH QHZ DVVRFLDWLRQV 5XOH 7UHHV ,Q RUGHU WR VXSSRUW SURFHVVLQJ RI UXOHV RQ VHWRULHQWHG GDWD LQ REMHFWRULHQWHG GDWDEDVHV WKH TXHU\ WUHH VWUXFWXUH LV PRGLILHG WR UHDOL]H D UXOH WUHH E\ WKH LQFRUn SRUDWLRQ RI WKUHH GHFLVLRQ PDNLQJ QRGHV DQ ,) QRGH D 7+(1 QRGH DQG DQ (/6( QRGH 2QFH D UXOH LV WULJJHUHG D UXOH WUHH FRQWDLQLQJ VXFK ,) 7+(1 (/6( QRGHV FRUUHVSRQGLQJ WR ,) 7+(1 (/6( FODXVHV RI D UXOH LV H[HFXWHG 6XFK D UXOH WUHH FDQ DFFRPPRGDWH WKH YDULRXV W\SHV RI UXOHV GHVFULEHG SUHYLRXVO\ LQ &KDSWHU

PAGE 166

/(*(1' 7 V 7($&+(5 6 6(&7,21 & &2856( / /2&$7,21 ',6 LQGLFDWHV 'LVSOD\ RSHUDWLRQ 5(7 LQGLFDWHV 5HWULHYH RSHUDWLRQ 6(/ LQGLFDWHV 6HOHFW RSHUDWLRQ 2 LQGLFDWHV DVVRFLDWLRQVHW Â’ LQGLFDWHV &/$66 IURP '$7$%$6( R LQGLFDWHV 23(5$7,21 12'( 7 6 & / 7 6 & / < 7 6 & / W V F V F 7 6 & 7 6 / D 7 6 / W V W V W V W V D V 7 6 & 3 7 6 & W V F W V F W V F W6 V F 7 6 7 6 9 >FRXUVH @ 7 6 W V W V W V W V W V W VO W V W V W V )LJXUH 3URFHVVLQJ D TXHU\ KDYLQJ DQ $,QWHUVHFW RSHUDWRU

PAGE 167

,I WKH ,) SDUW RI D UXOH FRQWDLQV DQ DVVRFLDWLRQ SDWWHUQ H[SUHVVLRQ D VXEWUHH URRWHG DW WKH ,) QRGH DQG FRQWDLQLQJ DOJHEUDLF RSHUDWRUV VLPLODU WR WKH TXHU\ WUHH LV JHQHUDWHG ,I WKH 7+(1 SDUW RI D UXOH FRQWDLQV D V\VWHP RU XVHU GHILQHG RSHUDWRU WKHQ QRGHV VLPLODU WR WKH V\VWHP RU XVHU GHILQHG RSHUDWLRQ QRGHV LQ D TXHU\ WUHH D[H JHQHUDWHG ,I WKH 7+(1 SDUW RI D UXOH FRQWDLQV DQRWKHU DVVRFLDWLRQ SDWWHUQ H[SUHVVLRQ WKHQ D VXEWUHH RI DOJHEUDLF RSHUDWRUV FRUUHVSRQGLQJ WR WKH DVVRFLDWLRQ SDWWHUQ H[SUHVVLRQ LV JHQHUDWHG ,I WKH UXOH LV D GHGXFWLYH UXOH WKHQ WKH 7+(1 SDUW VSHFLILHV D QHZ DVVRFLDWLRQ SDWWHUQ WKDW PXVW EH GHULYHG ,Q DOO FDVHV WKH ,) 7+(1 QRGHV DUH UHVSRQVLEOH IRU FKHFNLQJ LI WKH ,) 7+(1 FODXVHV HYDOXDWH WR WUXH RU IDOVH FRQGLWLRQV 7KH (/6( FODXVH LV WUHDWHG LQ D PDQQHU WKDW LV VLPLODU WR WKH 7+(1 SDUW RQO\ WKDW LW LV WULJJHUHG LI WKH 7+(1 HYDOXDWHV WR D IDOVH FRQGLWLRQ 'HULYLQJ 1HZ $VVRFLDWLRQV :H QRZ GHVFULEH KRZ WKH JUDSKEDVHG DSSURDFK FDQ EH H[WHQGHG WR VXSSRUW SURFHVVLQJ RI GHGXFWLYH UXOHV LQ RUGHU GHULYH QHZ DVVRFLDWLRQV 7KH GHGXFWLYH UXOH H[DPSOH IRU FRPSXWLQJ WKH JHQHUDWLRQ TXHU\ GHVFULEHG LQ 6HFWLRQ LV XVHG DV DQ H[DPSOH DQG LV UHSHDWHG EHORZ IRU FRQYHQLHQW UHIHUHQFH 58/(  ,) )DWKHU r 3HUVRQ r 25 )DWKHU0RWKHUf r 3HUVRQBOf 7+(1 *UDQGIDWKHU )DWKHU 3HUVRQBOf (1' 7KH UXOH WUHH FRUUHVSRQGLQJ WR WKLV UXOH LV VKRZQ LQ )LJXUH $ VXEWUHH RI DOJHEUDLF RSHUDWRUV URRWHG DW WKH ,) QRGH LV XVHG WR UHDOL]H WKH UHVXOW RI WKH DVVRFLDWLRQ SDWWHUQ H[SUHVVLRQ LQ WKH ,) FODXVH RI WKH UXOH 7KH UXOH WUHH VKRZV WKH LQWHUPHGLDWH DQG ILQDO UHVXOWV LQ WKH IRUP RI D &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f DQG DQ ,QVWDQFH *UDSK 7DEOH ,*7f 7KH UHVXOW VXEGDWDEDVH FRUUHVSRQGLQJ WR WKH ,) FODXVH RI WKH UXOH LV VKRZQ E\ WKH &*$0 DQG ,*7 FRUUHVSRQGLQJ WR

PAGE 168

)B 0 3B PL PL ) 3 ) 0 3 I SO IO $ S IO2 S $ P S 0 D S L PL ) 3 0 3 IO2 S P 3 ), 3, )B 3B D r )f¬3f¬ IDWKHUBRIf ?-?-PRWKHUBRIf ) 3 S I S I SO IO S IO2 S ) 3 )B SBL ) 3 PL )B 3B ) S ) 3 I SO IO S 0 3B g ) 3 ?/ 0 3 0 3 P 3 _cc___ ) 3 I S I S I SO IO S IO2 S )LJXUH 3URFHVVLQJ RI UXOHVDQ H[DPSOH GHGXFWLYH UXOH 2O

PAGE 169

7KH LPSOLFDWLRQ DW WKH 7+(1 QRGH SURGXFHV D GHULYHG VXEGDWDEDVH XVLQJ WKH VXEGDWDEDVH FRUUHVSRQGLQJ WR WKH ,) FODXVH RI WKH UXOH 7KH &*$0 DQG ,*7 FRUn UHVSRQGLQJ WR WKH VXEGDWDEDVH GHULYHG E\ WKH UXOH DUH VKRZQ LQ )LJXUH 7KHVH GDWD VWUXFWXUHV FRUUHVSRQG WR WKH ,QWHQVLRQDO 3DWWHUQ DQG H[WHQVLRQDO GLDJUDP IRU WKH GHULYHG VXEGDWDEDVH VKRZQ SUHYLRXVO\ LQ )LJXUH 7KXV XVLQJ WKLV UXOH LW LV SRVVLEOH WR LQIHU WKDW REMHFW LQVWDQFH I IO2f RI WKH FODVV )DWKHU DUH DVVRFLDWHG ZLWK REMHFW LQVWDQFHV S Sf RI WKH FODVV 3HUVRQ WKURXJK D GHULYHG DVVRFLDWLRQ FDOOHG JUDQGIDWKHU ) 3 ) 3 I S IO2 3 )LJXUH *UDSK 5HSUHVHQWDWLRQ RI D 6XEGDWDEDVH 'HULYHG E\ D 5XOH 7KH &*$0 VXSSRUWV VXFK GHULYHG DVVRFLDWLRQV E\ WKH XVH RI VSHFLDO FRGHV LQ WKH HOHPHQWV RI WKH DGMDFHQF\ PDWUL[ WR LQGLFDWH GHULYHG DVVRFLDWLRQV )RU WKH H[DPSOH FRUUHVSRQGLQJ WR WKH DERYH UXOH HOHPHQW ;ISf RI WKH &*$0 FRQWDLQV WKH FRGH ZKHUH WKH LQGLFDWHV D GHULYHG DVVRFLDWLRQ RU UHODWLRQVKLS GHVFULEHG SUHYLRXVO\ LQ 6HFWLRQ f ,PSOHPHQWDWLRQ RI 4XHU\ 3URFHVVRU 6\VWHP DQG 0RGXOH &RQILJXUDWLRQ 7KH V\VWHP DQG PRGXOH FRQILJXUDWLRQ RI WKH TXHU\ SURFHVVRU DV D OD\HU RQ WRS RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP 5206f LV VKRZQ LQ )LJXUH 7KLV

PAGE 170

86(5 ,17(5)$&(6 ,17(5)$&( *5$3+,& 7(;78$/ $33/,&$7,21 ,17(5)$&( ,17(5)$&( 352*5$0 48(5< 352&(6625 GLFWLRQDU\ DFFHVV IXQFWLRQV KLJK OHYHO RSHUDWLRQV .(51(/ 2%-(&7 0$1$*(0( nI7 /$<(5 ,17(5)$&( JHWSXW LQWHUIDFH 6725$*( /$<(5 )LJXUH /D\HU DQG 0RGXOH &RQILJXUDWLRQ RI WKH 4XHU\ 3URFHVVRU

PAGE 171

LOOXVWUDWHV WKH QRWLRQ RI OD\HULQJ LQ WKH DSSURDFK ZH SURSRVH &RPSRQHQW PRGXOHV RI WKH TXHU\ SURFHVVRU KDYH EHHQ LPSOHPHQWHG XVLQJ WKH & SURJUDPPLQJ ODQJXDJH DQG XVH WKH LQWHUIDFH RI .206 GHVFULEHG SUHYLRXVO\ LQ &KDSWHU DQG VRPH RI WKH GLFWLRQDU\ DFFHVV IXQFWLRQV GHVFULEHG SUHYLRXVO\ LQ &KDSWHU 'HWDLOV RI WKLV LPSOHPHQWDWLRQ FDQ EH IRXQG LQ >/8@ :H QRZ EULHIO\ GHVFULEH WKH YDULRXV PRGXOHV WKDW FRQVWLWXWH WKH V\VWHP FRQILJXUDWLRQ RI WKH TXHU\ SURFHVVRU 8VHU LQWHUIDFH 7KH XVHU LQWHUIDFH UHSUHVHQWV D VHW RI YDULRXV H[WHUQDO LQWHUIDFHV WKDW DUH XVHG E\ HQGXVHUV WR VSHFLI\ TXHULHV 7KUHH W\SHV RI LQWHUIDFHV DUH FXUUHQWO\ EHLQJ GHYHORSHG )LUVW WKH WH[WXDO LQWHUIDFH LV DQ LQWHUIDFH LQ ZKLFK D TXHU\ LV VSHFLILHG DV D WH[W VWULQJ XVLQJ DQ $6&,, WHUPLQDO 6HFRQG WKH JUDSKLFDO LQWHUIDFH >/$0@ LV DQ LQWHUIDFH LQ ZKLFK D TXHU\ LV VSHFLILHG XVLQJ D JUDSKLFDO TXHU\LQJ WRRO 7KLUG WKH DSSOLFDWLRQ SURJUDP LQWHUIDFH LV DQ LQWHUIDFH LQ ZKLFK WKH HQGXVHU LV DQ DSSOLFDWLRQ SURJUDP DQG D TXHU\ LV VSHFLILHG DV SDUW RI DQ DSSOLFDWLRQ SURJUDP ZULWWHQ XVLQJ D 'DWDEDVH 3URJUDPPLQJ /DQJXDJH '%3/f 4XHU\ SURFHVVRU LQWHUIDFH 7KLV PRGXOH UHSUHVHQWV WKH LQWHUIDFH RI WKH TXHU\ SURFHVVRU LWVHOI 7KH TXHU\ SURFHVVRU FDQ RQO\ EH DFFHVVHG YLD WKLV WRSOHYHO LQWHUIDFH PRGXOH ,W DFFHSWV D TXHU\ LQ WKH IRUP RI D WH[W VWULQJ RU LQ WKH IRUP RI D SDUVHG TXHU\ WUHH VXFK DV WKDW SURGXFHG E\ DQ DSSOLFDWLRQ SURJUDPf ,W LV UHVSRQVLEOH IRU LQYRNLQJ RWKHU PRGXOHV DQG IRU WKH RYHUDOO FRRUGLQDWLRQ UHTXLUHG WR DFKLHYH WKH H[HFXWLRQ RI WKH TXHU\ 4XHU\ SDUVHU 7KLV PRGXOH UHSUHVHQWV D /5 SDUVHU ZKLFK LV UHDOL]HG XVLQJ WKH 8QL[
PAGE 172

4XHU\ RSWLPL]HU 7KLV PRGXOH UHSUHVHQWV WKH TXHU\ RSWLPL]DWLRQ FRPSRQHQW RI WKH TXHU\ SURFHVVRU 7KH SULPDU\ IXQFWLRQ RI WKLV PRGXOH LV WR WDNH WKH SDUVH WUHH DV LQSXW DQG WR JHQHUDWH DQ RSWLPL]HG TXHU\ H[HFXWLRQ SODQ RU TXHU\ WUHH EDVHG XSRQ D VHW RI RSWLPL]DWLRQ UXOHV 7KLV PRGXOH LV FXUUHQWO\ XQLPSOHPHQWHG DQG WKH SDUVH WUHH LV GLUHFWO\ XVHG DV D TXHU\ H[HFXWLRQ SODQ 4XHU\ WUHH SURFHVVRU 7KLV PRGXOH LV SULPDULO\ UHVSRQVLEOH IRU FRRUGLQDWLQJ WKH H[HFXWLRQ RI D TXHU\ H[HFXWLRQ SODQ ,W WDNHV D TXHU\ H[HFXWLRQ SODQ WKDW LV D TXHU\ WUHHf DV LQSXW DQG GHFRPSRVHV WKH WUHH LQWR YDULRXV VXEWUHHV ZKLFK DUH WKHQ SDVVHG WR RWKHU PRGXOHV IRU H[HFXWLRQ ,W LV DOVR UHVSRQVLEOH IRU UHFHLYLQJ WKH UHVXOWV RI WKH H[HFXWLRQ RI VXEWUHHV DQG SDVVLQJ WKHP RQWR WKH DSSURSULDWH PRGXOHV IRU IXUWKHU SURFHVVLQJ RU GLVSOD\ &RQWH[W SURFHVVRU 7KLV PRGXOH VHUYHV DV WKH f¯KHDUWf° RI WKH TXHU\ SURFHVVRU ,W LV UHVSRQVLEOH IRU JHQHUDWLQJ WKH VXEGDWDEDVH FRQWH[W RI D TXHU\ ,W WDNHV DV LQSXW D VXEWUHH FRQn WDLQLQJ DOJHEUDLF RSHUDWRUV FRUUHVSRQGLQJ WR WKH FRQWH[W H[SUHVVLRQ RI D TXHU\ 7KH DGMDFHQF\EDVHG GDWD VWUXFWXUHV DQG DOJRULWKPV IRU PDQLSXODWLQJ LQVWDQFH JUDSKV EDVHG RQ WKH DVVRFLDWLRQ DOJHEUD DUH FRQWDLQHG LQ WKLV PRGXOH 7KH UHVXOW LQ WKH IRUP RI D &ODVV *UDSK $GMDFHQF\ 0DWUL[ &*$0f DQG ,QVWDQFH *UDSK 7DEOH ,*7f LV SDVVHG EDFN WR WKH FDOOLQJ PRGXOH 2SHUDWLRQ SURFHVVRU 7KLV PRGXOH LV UHVSRQVLEOH IRU FDOOLQJ D V\VWHP RU XVHU GHILQHG RSHUDWLRQ VSHFn LILHG LQ WKH RSHUDWLRQ FODXVH RI D TXHU\ 7KLV PRGXOH LQFRUSRUDWHV D WHFKQLTXH IRU PHWKRG ORRNXS WKDW LV WKH ELQGLQJ IURP WKH QDPH RI D PHWKRG WR HLWKHU WKH DFWXDO

PAGE 173

H[HFXWDEOH FRGH RU WR D SRLQWHU WR WKH FRGH ,W LV DOVR UHVSRQVLEOH IRU DQ\ ELQGLQJ WKDW PD\ EH QHFHVVDU\ EHWZHHQ WKH VXEGDWDEDVH FRQWH[W WKDW LV LGHQWLILHG DV SDUW RI WKH TXHU\ DQG WKH RSHUDQGV RI WKH RSHUDWLRQ WKDW LV LQYRNHG &ODVV 6\VWHP 7KH DSSURDFK WDNHQ LQ WKH V\VWHP GHYHORSPHQW RI WKH TXHU\ SURFHVVRU LV WKH VDPH DV WKDW SURSRVHG IRU WKH LPSOHPHQWDWLRQ RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP .206f DQG GHVFULEHG SUHYLRXVO\ LQ &KDSWHU :H QRZ GHVFULEH WKH V\VWHP PRGXOHV DQG FRPSRQHQWV XVLQJ VFKHPD GLDJUDPV RU FODVV KLHUDUFKLHV 7KH V\VWHP DUFKLWHFWXUH RI WKH TXHU\ SURFHVVRU LV GHYHORSHG DV DQ RSHQ PRGXODU DQG H[WHQVLEOH DUFKLWHFWXUH ZLWK ZHOOGHILQHG LQWHUIDFHV DQG LV VKRZQ LQ )LJXUH :H QRZ XVH VRPH H[DPSOHV WR LOOXVWUDWH WKH KRZ VXFK D FODVV V\VWHP LV XVHG LQ WKH SURFHVVLQJ RI D TXHU\ 7KH LQWHUIDFH WR WKH TXHU\ SURFHVVRU LWVHOI LV YLD WKH 4XHU\+DQGOHU FODVV 7KH TXHU\ SURFHVVRU LV LQYRNHG DV IROORZV )LUVW DQ REMHFW RI WKH 4XHU\+DQGOHU FODVV LV FUHDWHG 6HFRQG D PHVVDJH LV VHQW WR WKLV KDQGOHU REMHFW WR H[HFXWH WKH TXHU\ 7KH 4XHU\+DQGOHU REMHFW FDQ DFFHSW WKH TXHU\ HLWKHU LQ WH[W IRUP RU DV D TXHU\ WUHH LI WKH TXHU\ WUHH LV DYDLODEOH WKH TXHU\ WUHH PD\ EH GLUHFWO\ SDVVHGf :H LOOXVWUDWH WKLV FDOOLQJ VHTXHQFH IRU ERWK WKHVH LQWHUIDFHV EHORZ XVLQJ & OLNH FRGH 4XHU\+DQGOHU rKO KL f§« H[HFXWH4XHU\ f¯TXHU\WH[Wf°f KL f§« H[HFXWH4XHU\ f¯TXHU\WUHHf°f 7KH 4XHU\+DQGOHU FODVV ZKLFK LV DQ LQWHUIDFH FODVV GRHV QRW SHUIRUP DQ\ DFn WXDO FRPSXWDWLRQ EXW UDWKHU SOD\V WKH UROH RI D f¯PHVVDJH FRQWUROOHUf° RU f¯PHVVDJH KDQGOHUf° LQ FRRUGLQDWLQJ WKH RYHUDOO H[HFXWLRQ RI D TXHU\ 7KH DFWLRQ WDNHQ E\ WKH H[HFXWH4XHU\ PHWKRG LQ WKH 4XHU\+DQGOHU FODVV LV DV IROORZV )LUVW LW LQYRNHV WKH SDUVHU WR SDUVH WKH TXHU\ LI WKH TXHU\ LV VSHFLILHG DV D WH[W VWULQJ 6HFRQG LW LQYRNHV D PHWKRG LQ WKH 4XHU\2SWLPL]HU FODVV FXUUHQWO\ XQLPSOHPHQWHGf WR WUDQVIRUP WKH

PAGE 174

8 LQGLFDWHV WKH 8VHV UHODWLRQVKLS WKDW LV SDVVLQJ RI PHVVDJHVf 48(5< 3$56(5 +$1'/(5 «9}n n1 A8 FODVVHV ,+ ? 2 &217(;7 68%75(( +$1'/(5 8 48(5< 237,0,=(5 +$1'/(5 &217(;7 68%75(( &217(;7 +$1'/(5 6(/(&7 68%75(( +$1'/(5 1&/$66 &217(;7 23(5$725 /22.83 7$%/( 6(/(&7 68%75(( 21( &/$66 &217(;7 &/$66 *5$3+ 0$75,; ,167$1&( *5$3+ 7$%/( O9Z 23(5$7,21 68%75(( +$1'/(5 23(5$7,21 68%75(( 23(5$725 /22.83 7$%/( )LJXUH 6\VWHP $UFKLWHFWXUH 6FKHPD RI 4XHU\ 3URFHVVRU &2

PAGE 175

SDUVH WUHH WR DQ RSWLPL]HG TXHU\ WUHH 7KH GHIDXOW LV WKDW WKH SDUVH WUHH LV XVHG DV WKH TXHU\ WUHH 7KH TXHU\ WUHH LV QRZ UHDG\ IRU H[HFXWLRQ 7KLUG LW FDOOV WKH 4XHU\7UHH+DQGOHU 47+DQGOHUf FODVV WR H[HFXWH WKH TXHU\ WUHH 7KLV VHTXHQFH RI PHVVDJHV LV VKRZQ EHORZ 4XHU\+DQGOHUH[HFXWH4XHU\FKDUr TXHU\f±WH[Wf^ 3DUVH7UHH r[ 4XHU\7UHH r\ 4XHU\3DUVHU+DQGOHU rKO 4XHU\2SWLPL]HU+DQGOHU rK 4XHU\7UHH+DQGOHU rK r SDUVH WKH WH[WXDO TXHU\ r [ V KL f§« SDUVH4XHU\ f¯TXHU\WH[Wf°fn r RSWLPL]H WKH SDUVHG TXHU\ r \ K r RSWLPL]H4XHU\[f r H[HFXWH WKH TXHU\ WUHH r K f§« H[HFXWH4XHU\7UHH\f ` 7KH 4XHU\7UHH+DQGOHU FODVV LV DJDLQ DQ LQWHUIDFH FODVV ZKLFK LV UHVSRQVLEOH IRU FRRUGLQDWLQJ WKH H[HFXWLRQ RI WKH TXHU\ WUHH ,W EUHDNV D TXHU\ WUHH GRZQ LQWR VHYHUDO VPDOOHU VXEWUHHV ZKLFK DUH WKHQ LQGLYLGXDOO\ SURFHVVHG E\ PRGXOHV UHVSRQVLEOH IRU H[HFXWLQJ HDFK RI WKHVH VXEWUHHV 6XFK VXEWUHHV LQFOXGH D FRQWH[W VXEWUHH IRU JHQHUDWLQJ WKH VXEGDWDEDVH FRQWH[W RI D TXHU\ D VHOHFW VXEWUHH IRU SHUIRUPLQJ WKH VHOHFW RSHUDWLRQ DQG DQ RSHUDWLRQ VXEWUHH IRU SURFHVVLQJ WKH XVHU RU V\VWHP GHILQHG RSHUDWLRQV LQYROYHG LQ D TXHU\ 7KH 4XHU\7UHH+DQGOHU FODVV LQYRNHV PHWKRGV LQ HDFK RI WKH VXEWUHH KDQGOHU FODVVHV WR SURFHVV HDFK VXEWUHH 7R LOOXVWUDWH WKLV FRQFHSW ZH ZLOO XVH WKH SURFHVVLQJ RI WKH FRQWH[W VXEWUHH DV DQ H[DPSOH VLQFH WKH SURFHVVLQJ RI WKLV VXEWUHH LV DQ LPSRUWDQW FRPSRQHQW RI WKH TXHU\ SURFHVVRU 7KH 4XHU\7UHH+DQGOHU FODVV FDOOV WKH &RQWH[W6XE7UHH+DQGOHU FODVV DV IROORZV &RQWH[W6XE7UHH rS &RQWH[W6XE7UHH+DQGOHU rKO r H[WUDFW WKH FRQWH[W VXEWUHH IURP WKH TXHU\ WUHH \f JHQHUDWHG DERYH r S \ f§! H[WUDFW&RQWH[W6XE7UHHf KL f§! H[HFXWH&RQWH[W6XEWUHHSf

PAGE 176

7KH &RQWH[W6XE7UHH+DQGOHU FODVV WKHQ H[HFXWHV WKH FRQWH[W VXEWUHH E\ FDOOLQJ XSRQ YDULRXV PRGXOHV DQG FRRUGLQDWLQJ WKHLU H[HFXWLRQ 7KH &RQWH[W6XE7UHH+DQn GOHU FDOOV XSRQ WKH &RQWH[W+DQGOHU IRU WKH DFWXDO FRPSXWDWLRQ RI WKH DOJHEUDLF RSHUn DWRUV VXFK DV $VVRFLDWH 1RQ$VVRFLDWH $8QLRQ DQG $,QWHUVHFW 7KLV LV LOOXVWUDWHG EHORZ &RQWH[W+DQGOHU rKO 1&,DVV&RQWH[W rD 1&,DVV&RQWH[W r" 1&,DVV&RQWH[W r r LQYRNH WKH DOJHEUDLF RSHUDWRUV r KL f§! $8QLRQDW cf 7KH DFWXDO FRPSXWDWLRQ RI WKH DOJHEUDLF RSHUDWRUV LV GRQH E\ PHWKRGV GHILQHG IRU FODVV 1&,DVV&RQWH[W VXFK PHWKRGV FRUUHVSRQG WR DOJHEUDLF RSHUDWRUV VXFK DV $VVRn FLDWH 1RQ$VVRFLDWH $,QWHUVHFW DQG $8QLRQ 7KH VWUXFWXUH RI WKH FODVV 1&,DVVn &RQWH[W LV GHILQHG VR DV WR UHSUHVHQW WKH DGMDFHQF\PDWUL[ GDWD VWUXFWXUHV WKDW ZH KDYH SURSRVHG :H QRWH WKDW WKH PHWKRGV FRUUHVSRQGLQJ WR WKH DVVRFLDWLRQ DOJHEUD RSHUDWRUV GHILQHG IRU FODVV 1&,DVV&RQWH[W LQFRUSRUDWH WKH DOJRULWKPV VKRZQ LQ $Sn SHQGL[ & :KHQ QHHGHG VXFK PHWKRGV FDOO XSRQ WKH REMHFW PDQDJHU E\ XVLQJ WKH LQWHUIDFH SURYLGHG E\ .206

PAGE 177

&+$37(5 86,1* 58/(6 72 $&+,(9( 02'(/ (;7(16,%,/,7< ,Q WKLV FKDSWHU ZH LOOXVWUDWH KRZ UXOHV DUH XVHG WR UHDOL]H PRGHO H[WHQVLELOLW\ 6SHFLILFDOO\ ZH XVH FRQFHSWV SUHVHQWHG LQ SUHYLRXV FKDSWHUV WR GHPRQVWUDWH WKH QRn WLRQ RI DVVRFLDWLRQ H[WHQVLELOLW\ E\ XVLQJ WKH 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rf DV D WDUJHW GDWD PRGHO 7KLV FKDSWHU LV RUJDQL]HG DV IROORZV ,Q 6HFWLRQ ZH EULHIO\ GHVFULEH WKH QRWLRQ RI GLIIHUHQW W\SHV RI DVVRFLDWLRQV LQ 26$0r ,Q 6HFWLRQ ZH SUHVHQW VRPH LVVXHV UHODWLQJ WR WKH VSHFLILFDWLRQ ELQGLQJ DQG SURFHVVLQJ RI UXOHV )LQDOO\ LQ 6HFWLRQ ZH VKRZ KRZ WKH PHWDFODVV V\VWHP LV H[WHQGHG WR UHDOL]H DVVRFLDWLRQ H[WHQVLELOLW\ 7KH 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rO 7KH 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rf LV D VHPDQWLF GDWD PRGHO ZKLFK SURYLGHV D ULFK VHW RI DVVRFLDWLRQ W\SHV DQG GDWD FRQVWUXFWRUV WR PRGHO WKH FRPSOH[ GDWD VWUXFWXUHV DQG VHPDQWLF UHODWLRQVKLSV IRXQG LQ PDQ\ DGYDQFHG DSn SOLFDWLRQV 26$0rf¬V H[SUHVVLYH SRZHU LV HQKDQFHG E\ DGRSWLQJ DQ REMHFWRULHQWHG SDUDGLJP ,W LQFOXGHV DOO WKH FRUH FRQFHSWV SUHVHQWHG LQ &KDSWHU DQG DOVR EHn KDYLRUDO DEVWUDFWLRQV VXFK DV PHWKRGV DQG UXOHV 7R LOOXVWUDWH WKH QRWLRQ RI PRGHO H[WHQVLELOLW\ ZH XVH 26$0r DV D WDUJHW GDWD PRGHO DQG H[WHQG ;.20 WR VXSSRUW VRPH NH\ GDWD PRGHOLQJ FRQVWUXFWV RI 26$0r $ NH\ IHDWXUH RI 26$0r LV WKH QRWLRQ RI VHPDQWLF DVVRFLDWLRQ W\SHV )LYH DVn VRFLDWLRQ W\SHV DUH SURYLGHG $JJUHJDWLRQ $f *HQHUDOL]DWLRQ *f ,QWHUDFWLRQ ,f &RPSRVLWLRQ &f DQG &URVVSURGXFW ;f 7KH QRWLRQ RI $JJUHJDWLRQ DQG *HQHUDOn L]DWLRQ D[H WKH VDPH DV WKDW GHILQHG IRU ;.20 :H QRZ EULHIO\ GHVFULEH WKH RWKHU DVVRFLDWLRQ W\SHV ,Q WKH GHVFULSWLRQ WKDW IROORZV ZH ZLOO UHIHU WR WKH FODVV RQ ZKLFK

PAGE 178

DVVRFLDWLRQV DUH GHILQHG DV WKH f¯GHILQLQJ FODVVf° DQG WKH DVVRFLDWHG FODVVHV DV WKH f¯FRQVWLWXHQW FODVVHVf° ,QWHUDFWLRQ DVVRFLDWLRQ ,f 7KLV LV DQ DVVRFLDWLRQ LQ ZKLFK WKH LQWHUDFWLRQ RU UHODWLRQVKLS EHWZHHQ REMHFWV RI WZR RU PRUH FRQVWLWXHQW FODVVHV LV LWVHOI WUHDWHG DV DQ (FODVV REMHFW EHORQJLQJ WR WKH GHILQLQJ FODVV 7KH QDWXUH RI WKLV DVVRFLDWLRQ LPSOLHV DQ UHIHUHQWLDO FRQVWUDLQW DQ REMHFW EHORQJLQJ WR D FODVV KDYLQJ DQ ,DVVRFLDWLRQ WKDW LV WKH REMHFW WKDW UHSUHVHQWV WKH UHODWLRQVKLS FDQ H[LVW RQO\ LI WKH REMHFWV EHORQJLQJ WR WKH FRQVWLWXHQW FODVVHV H[LVW 7KLV DVVRFLDWLRQ FDQ DOVR VSHFLI\ D FDUGLQDOLW\ FRQVWUDLQW E\ VSHFLI\LQJ WKH PDSSLQJ EHWZHHQ WKH FRQVWLWXHQW FODVVHV DV O7 OQ Q7 RU PQ ,Q )LJXUH ZH VKRZ SDUW RI DQ H[DPSOH VFKHPD ZKLFK FRQWDLQV DQ H[DPSOH ,DVVRFLDWLRQ 7KLV VFKHPD UHSUHVHQWV D PRGLILFDWLRQ RI WKH VFKHPD VKRZQ SUHYLRXVO\ LQ )LJXUH 7KH FODVV $GYLVLQJ PRGHOV WKH DGYLVLQJ UHODWLRQVKLS EHWZHHQ IDFXOW\ PHPEHUV DQG JUDGXDWH VWXGHQWV 7KXV DQ REMHFW EHORQJLQJ WR WKH FODVV $GYLVLQJ H[LVWV RQO\ E\ YLUWXH RI LWV UHODWLRQVKLSV WR REMHFWV LQ WKH FODVVHV )DFXOW\ DQG *UDG 7KH DJJUHJDWLRQ DVVRFLDWLRQ IRU WKH FODVV $GYLVLQJ LV XVHG WR PRGHO D GHVFULSWLYH DWWULEXWH VWDUW'DWH 7KLV DWWULEXWH VWDUW'DWHf PRGHOV VRPH GDWD ZKLFK GHVFULEHV WKH UHODWLRQVKLS LWVHOI &RPSRVLWLRQ DVVRFLDWLRQ & 7KLV LV DQ DVVRFLDWLRQ LQ ZKLFK WKH HQWLUH WLPHYDU\LQJ VHW RI REMHFWV RI HDFK FRQVWLWXHQW FODVV LV JURXSHG WRJHWKHU DV D VLQJOH (FODVV REMHFW RI WKH GHILQLQJ FODVVf $JJUHJDWLRQ DVVRFLDWLRQV FDQ WKHQ EH VSHFLILHG IRU WKH GHILQLQJ FODVV WR GHVFULEH WKH SURSHUWLHV RI REMHFWV RI WKH GHILQLQJ FODVV ,Q )LJXUH ZH VKRZ DQ H[DPSOH RI D &DVVRFLDWLRQ LQ ZKLFK WKH FODVV 3DUWOQIR KDV D &DVVRFLDWLRQ ZLWK FODVVHV 0HFK3DUW DQG (OHFW3DUW 7KH DWWULEXWH $YJ:HLJKW LV XVHG WR GHVFULEH WKH DYHUDJH ZHLJKWV RI WKH HQWLUH 0HFK3DUW FODVV DQG (OHFW3DUW FODVV

PAGE 179

RIILFH )LJXUH 7KH H[DPSOH XQLYHUVLW\ VFKHPD ZLWK DQ ,QWHUDFWLRQ DVVRFLDWLRQ )LJXUH ([DPSOH RI D FRPSRVLWLRQ DVVRFLDWLRQ

PAGE 180

&URVVSURGXFW DVVRFLDWLRQ I;O 7KLV LV DQ DVVRFLDWLRQ LQ ZKLFK WKH GHILQLQJ (FODVV GHVFULEHV REMHFWV WKDW UHVXOW IURP D FURVVSURGXFW RI REMHFWV IURP VRPH FRQVWLWXHQW 'FODVVHV 7KH FURVVSURGXFW RI WKH VHW RI 'FODVVHV QDPHV D VHW RI REMHFW FDWHJRULHV ZKHUH REMHFW FDWHJRULHV DUH JHQHUDOO\ FKDUDFWHUL]HG E\ VRPH GHVFULSWLYH DWWULEXWHV ,Q )LJXUH ZH VKRZ DQ H[n DPSOH RI DQ ;DVVRFLDWLRQ LQ ZKLFK REMHFWV RI WKH FODVV 3RSXODWLRQ*URXS UHSUHVHQW FDWHJRULHV RI SHUVRQV LGHQWLILHG E\ WKHLU VWDWH FRXQW\ DJH DQG VH[ 7KH DWWULEXWH FRXQW DQG DYHUDJH VDODU\ GHVFULEH FKDUDFWHULVWLFV RI REMHFWV RI WKH FODVV 3RSXOD ? WLRQB*URXS VXFK REMHFWV UHSUHVHQW FDWHJRULHV RI REMHFW UDWKHU WKDQ MXVW REMHFWV 7KH VHPDQWLFV RI FDWHJRU\ DWWULEXWHV DQG VXPPDU\ DWWULEXWHV IRXQG LQ VWDWLVWLFDO GDWDEDVHV FDQ EH FDSWXUHG E\ WKH ;DVVRFLDWLRQ DQG $DVVRFLDWLRQ UHVSHFWLYHO\ 3RSXODWLRQB*URXS ; )LJXUH ([DPSOH RI D FURVVSURGXFW DVVRFLDWLRQ 6SHFLILFDWLRQ DQG 3URFHVVLQJ RI 5XOHV 5XOH 7\SHV ,Q RUGHU WR VSHFLI\ WKH UXOHV RI D FODVV ZH SURSRVH WZR W\SHV RI UXOHV H[SOLFLW UXOHV DQG SDUDPHWHUL]HG JHQHULFf UXOHV H[SOLFLW UXOH D UXOH WKDW LV VSHFLILHG IRU D JLYHQ FODVV DQG LV GHILQHG H[SOLFLWO\ LQ WHUPV RI VSHFLILF FODVVHV DQG DVVRFLDWLRQV WKDW DUH LQYROYHG

PAGE 181

SDUDPHWHUL]HG UXOH D UXOH ZKLFK LV VSHFLILHG IRU D JLYHQ FODVV DQG LV GHILQHG LQ WHUPV RI SDUDPHWHUV 7KHVH SDUDPHWHUV LQFOXGH YDULDEOHV ZKLFK UHSUHVHQW FODVVHV DQG DVVRFLDWLRQV DQG IXQFWLRQV GHILQHG RYHU VXFK YDULDEOHV %HIRUH DQ H[SOLFLW RU SDUDPHWHUL]HG UXOH ZKLFK DSSOLHV WR D JLYHQ FODVV FDQ EH SURFHVVHG D ELQGLQJ SURFHVV PD\ EH QHFHVVDU\ LQ ZKLFK WKH UXOH LV ERXQG RU PRGLILHG VR WKDW WKH UXOH LV H[SUHVVHG LQ WHUPV RI FODVVHV DQG DVVRFLDWLRQV WKDW DUH DSSURSULDWH IRU WKH JLYHQ FODVV )RU H[SOLFLW UXOHV WKH ELQGLQJ SURFHVV PD\ LQYROYH PRGLILFDWLRQ RI WKH UXOH WR EH DSSOLHG WR RWKHU FODVVHV HJ VXEFODVVHVf )RU SDUDPHWHUL]HG UXOHV WKH ELQGLQJ SURFHVV LQYROYHV DVVLJQLQJ DSSURSULDWH FODVVHV DQG DVVRFLDWLRQV WR WKH YDULDEOHV VSHFLILHG LQ UXOHV DQG HYDOXDWLQJ WKH IXQFWLRQV VSHFLILHG LQ WKH UXOH 7KH FRQFHSW RI D ERXQG UXOH LV LQWURGXFHG WR UHSUHVHQW WKH RXWSXW RI WKH ELQGLQJ SURFHVV 7KXV D ERXQG UXOH LV D UXOH LQ ZKLFK DOO WKH VSHFLILHG FODVVHV DVVRFLDWLRQV YDULDEOHV DQG IXQFWLRQV DUH ERXQG WR WKHLU ILQDO YDOXHV :H QRWH WKDW D ERXQG UXOH XQOLNH H[SOLFLW RU SDUDPHWHUL]HG UXOHV LV QRW H[WHUQDOO\ VSHFLILHG 5DWKHU LW LV LQWHUQDOO\ JHQHUDWHG DQG UHSUHVHQWV DQ LQWHUQDO PHFKDQLVP IRU UXOH SURFHVVLQJ :H QRZ GHVFULEH UXOH ELQGLQJ DQG SURFHVVLQJ VWUDWHJLHV ,Q WKH H[DPSOHV WKDW IROORZ ZH VKDOO XVH WKH IROORZLQJ QDPLQJ FRQYHQWLRQV IRU D UXOH WKH UXOHLG LV UHSUHVHQWHG DV DQ LQWHJHU WKH UXOHLG LV WDJJHG ZLWK D WRNHQ HU SU WR LQGLFDWH WKH W\SH RI UXOH DQG DQ RSWLRQDO WDJ ZLOO EH XVHG WR LQGLFDWH WKH FODVV LQ ZKLFK WKH UXOH LV VSHFLILHG )RU FRQYHQLHQFH DQG XQLIRUPLW\ D ERXQG UXOH ZLOO EH LQGLFDWHG E\ D UXOHLG WDJJHG ZLWK WKH WRNHQ EU DQG DQ RSWLRQDO WDJ ZLOO EH XVHG WR LQGLFDWH WKH FODVV WR ZKLFK WKH UXOH LV ERXQG ([SOLFLW UXOHV ,Q RUGHU WR H[HFXWH DQ H[SOLFLW UXOH WKH FRUUHVSRQGLQJ ERXQG UXOH PXVW EH JHQHUn DWHG )RU DQ H[SOLFLW UXOH WKDW LV VSHFLILHG LQ D SDUWLFXODU FODVV WKH ERXQG UXOH WKDW DSSOLHV WR WKDW FODVV LV WKH VDPH DV WKH H[SOLFLW UXOH &RQVLGHU WKH VFKHPD VKRZQ

PAGE 182

LQ )LJXUH 6XSSRVH WKHUH LV D FRQVWUDLQW WKDW LI DQ 5$ H[LVWV WKHQ KHVKH PXVW DOVR KDYH DQ DGYLVRU 7KLV FRQVWUDLQW LV VSHFLILHG LQ WKH FODVV 5$ XVLQJ WKH IROORZLQJ H[SOLFLW UXOH 58/( UDHU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW5$f $IWHU ,QVHUWOQVWDQFH5$f $IWHU 'HOHWH2EMHFW$GYLVLQJff ,) FRQWH[W 5$ 7+(1 5$ r *UDG r $GYLVLQJ &RUUHFWLYHDFWLRQ 'HOHWHB2EMHFW 5$f (1' 6LQFH WKH H[SOLFLW UXOH LV VSHFLILHG IRU FODVV 5$ WKH ERXQG UXOH WKDW DSSOLHV WR FODVV 5$ LV WKH VDPH DV WKH H[SOLFLW UXOH ([SOLFLW UXOHV VSHFLILHG LQ D JLYHQ FODVV DUH LQKHULWHG E\ VXEFODVVHV RI WKDW FODVV :KHQ DQ H[SOLFLW UXOH LV LQKHULWHG WKH ERXQG UXOH IRU WKH VXEFODVV ZKLFK LQKHULWV WKH UXOH LV GLIIHUHQW IURP WKH H[SOLFLW UXOH LWVHOI ,Q WKLV FDVH WKH ELQGLQJ SURFHVV LQYROYHV PRGLILFDWLRQ RI WKH LQKHULWHGf H[SOLFLW UXOH IRU XVH E\ WKH DSSURSULDWH VXEn FODVV 6XFK D ERXQG UXOH LV H[SUHVVHG LQ WHUPV RI WKH VXEFODVV ZKLFK LQKHULWV WKH UXOH DQG WKH FRUUHVSRQGLQJ DVVRFLDWLRQV )RU H[DPSOH VXSSRVH WKHUH LV D FRQVWUDLQW WKDW HYHU\ DGYDQFHG JUDGXDWH VWXGHQW PXVW KDYH DQ DGYLVRU WKHQ WKH IROORZLQJ H[SOLFLW UXOH LV VSHFLILHG LQ FODVV *UDG 58/( JHU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW*UDGf $IWHU ,QVHUWOQVWDQFH*UDGf $IWHU 'HOHWH2EMHFW$GYLVLQJf $IWHU 8SGDWH*UDGFODVVLILFDWLRQff ,) FRQWH[W *UDG>FODVVLILFDWLRQ ! @ 7+(1 *UDG r $GYLVLQJ &RUUHFWLYHDFWLRQ 0HVVDJH f¯$GYDQFHG JUDGXDWH VWXGHQWV PXVW EH DVVLJQHG DQ DGYLVRUf°f (1' ,I WKH DERYH H[SOLFLW UXOH LV WR EH DSSOLHG WR FODVV *UDG WKHQ WKH ERXQG UXOH LV WKH VDPH DV WKH H[SOLFLW UXOH +RZHYHU ZKHQ WKH DERYH H[SOLFLW UXOH LV LQKHULWHG IURP FODVV *UDG WR FODVV 7$ DQG DSSOLHG WR FODVV 7$ WKHQ WKH IROORZLQJ ERXQG UXOH PXVW EH JHQHUDWHG

PAGE 183

58/( WDEU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW7$f $IWHU ,QVHUWOQVWDQFH7$f $IWHU 'HOHWH2EMHFW$GYLVLQJf $IWHU 8SGDWH7$FODVVLILFDWLRQff ,) FRQWH[W 7$ r *UDG >FODVVLILFDWLRQ ! @ 7+(1 7$ r *UDG r $GYLVLQJ &RUUHFWLYHDFWLRQ 0HVVDJH f¯$GYDQFHG JUDGXDWH VWXGHQWV PXVW EH DVVLJQHG DQ DGYLVRUf°f (1' )RU H[SOLFLW UXOHV WKH ELQGLQJ SURFHVV LV UHVSRQVLEOH IRU ELQGLQJ WKH FODVVHV DQG DVVRFLDWLRQV VSHFLILHG LQ DQ LQKHULWHG H[SOLFLW UXOH WR WKH DSSURSULDWH YDOXHV IRU WKH VXEFODVV WKDW LQKHULWV WKH UXOH 7KXV IRU H[SOLFLW UXOHV WKDW DUH LQKHULWHG WKH FRUUHFW VHTXHQFH RI DSSO\LQJ WKH UXOHV LV Df LQKHULW WKH UXOH WR D SDUWLFXODU VXEFODVV DQG Ef ELQG WKH UXOH IRU WKDW VXEFODVV :H UHIHU WR WKLV ELQGLQJ SURFHVV DV H[SOLFLW UXOH ELQGLQJ 3DUDPHWHUL]HG UXOHV $ SDUDPHWHUL]HG UXOH LV D SRZHUIXO PHFKDQLVP E\ ZKLFK UXOHV DUH JHQHULFDOO\ VSHFLILHG LQ WHUPV RI SDUDPHWHUV ZKLFK DUH HLWKHU YDULDEOHV RU IXQFWLRQV ,I D SDUDPHn WHUL]HG UXOH LV VSHFLILHG IRU D JLYHQ FODVV LW LV DSSOLFDEOH WR WKDW FODVV RU DQ\ VXEFODVV RI WKDW FODVV :H QRZ LOOXVWUDWH WKLV FRQFHSW RI SDUDPHWHUL]HG UXOHV &RQVLGHU WKH FRQVWUDLQWV WKDW DSSO\ WR FODVVHV LQ D JHQHUDOL]DWLRQ KLHUDUFK\ )RU DQ REMHFW WR H[LVW LQ D SDUWLFXODU FODVV RI D JHQHUDOL]DWLRQ KLHUDUFK\ LW PXVW H[LVW LQ DOO VXSHUFODVVHV RI WKDW FODVV 7KLV FRQVWUDLQW FDQ EH FDSWXUHG E\ WKH IROORZLQJ SDUDPHWHUL]HG UXOH 58/( SSU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW6(/)f $IWHU ,QVHUWOQVWDQFH6(/)ff ,) 6(/) 7+(1 6(/) r$1' VXSHUFODVVHV 2I 6(/)f &RUUHFWLYHDFWLRQ 0HVVDJHf¯)RU DQ REMHFW WR H[LVW LQ D FODVV LW PXVW DOVR H[LVW LQ DOO VXSHU FODVVHVf°f (1'

PAGE 184

,Q WKH DERYH UXOH 6(/) LV DQ XQERXQG YDULDEOH WKDW UHSUHVHQWV WKH FODVV WR ZKLFK WKH UXOH DSSOLHV )XQFWLRQV VXFK DV VXSHUFODVVHV2If DUH XVHG WR VSHFLI\ RWKHU FODVVHV WKDW DUH XVHG LQ WKH VSHFLILFDWLRQ RI WKH UXOH ,I WKH SDUDPHWHUL]HG UXOH LV VSHFLILHG LQ FODVV 3HUVRQ WKHQ LW LV DSSOLFDEOH WR FODVV 3HUVRQ DQG LW FDQ DOVR EH LQKHULWHG IURP FODVV 3HUVRQ WR DOO VXEFODVVHV RI FODVV 3HUVRQ :H QRZ LOOXVWUDWH WKH FRQFHSW RI LQKHULWHG SDUDPHWHUL]HG UXOHV &RQVLGHU IRU H[DPSOH WKH DSSOLFDWLRQ RI WKH DERYH SDUDPHWHUL]HG UXOH WR WKH FODVV 7$ 7KH ERXQG UXOH WKDW PXVW EH JHQHUDWHG ZKHQ WKH DERYH SDUDPHWHUL]HG UXOH LV DSSOLHG WR FODVV 7$ LV VKRZQ EHORZ 58/( WDEU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW7$f $IWHU ,QVHUWOQVWDQFH7$ff ,) 7$ 7+(1 7$ r$1' 7HDFKHU *UDGf &RUUHFWLYHDFWLRQ 0HVVDJHf¯)RU DQ REMHFW WR H[LVW LQ D FODVV LW PXVW DOVR H[LVW LQ DOO VXSHU FODVVHVf°f (1' )RU SDUDPHWHUL]HG UXOHV WKH ELQGLQJ SURFHVV LV UHVSRQVLEOH IRU ELQGLQJ WKH SDn UDPHWHUV DQG IXQFWLRQV VSHFLILHG LQ WKH SDUDPHWHUL]HG UXOH WR DSSURSULDWH FODVVHV DQG DVVRFLDWLRQV 6XFK D ELQGLQJ SURFHVV LV QHFHVVDU\ IRU SDUDPHWHUL]HG UXOHV WKDW DUH VSHFLILHG LQ D JLYHQ FODVV DQG IRU SDUDPHWHUL]HG UXOHV WKDW DUH LQKHULWHG WR D VXEFODVV RI WKH FODVV LQ ZKLFK WKH UXOH LV VSHFLILHG :H QRWH WKDW LQ WKH SURFHVV RI LQKHULWDQFH WKH SDUDPHWHUL]HG UXOH GRHV QRW FKDQJH RU ELQG 7KXV IRU SDUDPHWHUL]HG UXOHV WKDW DUH LQKHULWHG WKH FRUUHFW VHTXHQFH IRU DSSO\LQJ WKH UXOH LV Df LQKHULW WKH UXOH WR D SDUWLFXODU VXEFODVV DQG Ef ELQG WKH UXOH IRU WKDW VXEFODVV )RU SDUDPHWHUL]HG UXOHV WKDW DUH VSHFLILHG DQG DSSOLHG LQ D JLYHQ FODVV RQO\ WKH ELQGLQJ SURFHVV >VWHS Ef@ LV QHHGHG WR ELQG WKH UXOH IRU WKDW FODVV )RU ERWK WKHVH FDVHV ZH UHIHU WR WKLV ELQGLQJ SURFHVV DV SDUDPHWHUL]HG UXOH ELQGLQJ :H QRWH WKDW LQ WKH DERYH H[DPSOH ZH KDYH VSHFLILHG D EUDQFK RSHUDWRU E\ XVLQJ r$1'f IRU WKH IRUN FODVV 6(/)f ,W LV LPSOLFLWO\ DVVXPHG WKDW LI WKH IRUN FODVV

PAGE 185

KDV RQO\ RQH EUDQFK LQ ZKLFK FDVH WKH IXQFWLRQ UHWXUQV RQO\ RQH VXSHUFODVVf WKHQ WKH EUDQFK r$1'f UHGXFHV WR WKH r RSHUDWRU 5XOH 6WRUDJH DQG %LQGLQJ 6WUDWHJLHV 7KH VWRUDJH RI UXOHV LV FORVHO\ LQWHUUHODWHG WR WKH VWUDWHJ\ XVHG IRU ELQGLQJ UXOHV :H LGHQWLI\ WZR DSSURDFKHV IRU UXOH VWRUDJH DQG ELQGLQJ WKH VWDWLF DSSURDFK DQG WKH G\QDPLF DSSURDFK 6WDWLF DSSURDFK ,Q WKH VWDWLF DSSURDFK DQ HDUO\ ELQGLQJ VWUDWHJ\ LV WDNHQ IRU ELQGLQJ UXOHV DQG WKXV DOO UXOHV D[H LQWHUQDOO\ VWRUHG DV ERXQG UXOHV DQG DV SDUW RI HDFK FODVV WKDW WKH\ DSSO\ WR $ NH\ DGYDQWDJH RI WKLV DSSURDFK LV EHWWHU SHUIRUPDQFH VLQFH QR UXQWLPH ELQGLQJ LV QHFHVVDU\ DV WKH ERXQG UXOHV DUH UHDG\ IRU H[HFXWLRQ 7KH GLVDGYDQWDJH RI WKLV DSSURDFK LV WKDW D ODUJH QXPEHU RI ERXQG UXOHV PXVW EH JHQHUDWHG DQG VWRUHG DW FRPSLOH WLPH $OVR D FKDQJH LQ DQ H[SOLFLW RU SDUDPHWHUL]HG UXOH UHTXLUHV UHn FRPSLOLQJ DQG UHJHQHUDWLQJ DOO WKH FRUUHVSRQGLQJ ERXQG UXOHV ,Q )LJXUH ZH LOOXVWUDWH WKH VWDWLF DSSURDFK WR UXOH VWRUDJH DQG ELQGLQJ )LJXUH Df VKRZV KRZ HDFK FODVV REMHFW LV DVVRFLDWHG ZLWK D VHW RI ERXQG UXOHV DQG )LJXUH Ef VKRZV WKH SURFHVV RI UXOH ELQGLQJ DQG UXOH SURFHVVLQJ '\QDPLF DSSURDFK ,Q WKH G\QDPLF DSSURDFK D ODWH ELQGLQJ VWUDWHJ\ LV WDNHQ IRU ELQGLQJ UXOHV DQG UXOHV D[H VWRUHG LQ WKH PDQQHU WKH\ DUH VSHFLILHG 7KXV UXOHV D[H VWRUHG HLWKHU DV H[SOLFLW UXOHV RU DV SDUDPHWHUL]HG UXOHV $Q DGYDQWDJH RI WKLV DSSURDFK LV WKDW H[SOLFLW RU SDUDPHWHUL]HG UXOH DUH VWRUHG RQO\ RQFH DV SDUW RI WKH FODVVHV LQ ZKLFK WKH UXOHV D[H VSHFLILHG 7KLV UHVXOWV LQ D VPDOO QXPEHU RI UXOHV WKDW PXVW EH VWRUHG $OVR D FKDQJH LQ DQ H[SOLFLW RU SDUDPHWHUL]HG UXOH UHTXLUHV D FKDQJH LQ RQO\ RQH ORFDWLRQ WKH FODVV LQ ZKLFK LW LV VSHFLILHG $ NH\ GLVDGYDQWDJH RI WKLV DSSURDFK LV SRRU SHUIRUPDQFH VLQFH UXOH D[H ERXQG DW UXQWLPH

PAGE 186

Ef 5XOH 3URFHVVLQJ ZLWK 6WDWLF %LQGLQJ )LJXUH 6WDWLF $SSURDFK Df 5XOH 6WRUDJH Ef 5XOH 3URFHVVLQJ ZLWK 6WDWLF %LQGLQJ

PAGE 187

,Q )LJXUH ZH LOOXVWUDWH WKH G\QDPLF DSSURDFK WR UXOH VWRUDJH DQG ELQGLQJ )LJXUH Df VKRZV KRZ HDFK FODVV REMHFW LV DVVRFLDWHG ZLWK D VHW RI UXOHV ZLWK HDFK FODVV RQO\ VWRULQJ WKH H[SOLFLW RU SDUDPHWHUL]HG UXOHV VSHFLILHG LQ WKDW FODVV )LJXUH Ef VKRZV WKH SURFHVV RI UXOH ELQGLQJ DQG UXOH SURFHVVLQJ 1RWH WKDW WKH ERXQG UXOHV UHWXUQHG WR WKH UXOH SURFHVVRU DW UXOH SURFHVVLQJ WLPH IRU WKH UXOH EDVH UHSUHVHQWHG LQ )LJXUH Df D[H WKH VDPH DV WKH RQHV VKRZQ LQ )LJXUH Df 5HDOL]LQJ $VVRFLDWLRQ ([WHQVLELOLW\ ,Q WKLV VHFWLRQ ZH ZLOO VKRZ KRZ UXOHV FDQ EH XVHG WR DFKLHYH DVVRFLDWLRQ H[n WHQVLELOLW\ 7KH FRQFHSW XQGHUO\LQJ DVVRFLDWLRQ H[WHQVLELOLW\ LV WKDW WKH VHPDQWLFV RI HDFK DVVRFLDWLRQ W\SH LV UHSUHVHQWHG E\ D VHW RI UXOHV )RU H[DPSOH WKH VXSHUn FODVVVXEFODVV H[LVWHQFH VHPDQWLFV RI WKH JHQHUDOL]DWLRQ DVVRFLDWLRQ LV UHSUHVHQWHG E\ WKH SDUDPHWHUL]HG UXOH SSU SUHVHQWHG LQ 6HFWLRQ 7KXV HDFK DVVRFLDWLRQ W\SH FDQ EH DGGHG DV D EXLOGLQJ EORFN WKDW H[WHQGV WKH FRUH GDWD PRGHO ;.20f 7KH SURFHVV RI DGGLQJ D QHZ DVVRFLDWLRQ W\SH LQYROYHV WZR VWHSV )LUVW D VHW RI SD[DPHWHUL]HG UXOHV WKDW GHILQH WKH VHPDQWLFV RI WKH DVVRFLDWLRQ W\SH PXVW EH VSHFLILHG 6HFRQG WKH PRGHO PHWDFODVV V\VWHP PXVW EH VXLWDEO\ H[WHQGHG WR DFn FRPPRGDWH WKH VHPDQWLFV RI WKH QHZ DVVRFLDWLRQ W\SH :H QRWH WKDW VXFK WDVNV DUH WKH UHVSRQVLELOLW\ RI WKH .%& 7R LOOXVWUDWH WKHVH FRQFHSWV ZH QRZ XVH WKH ,QWHUDFWLRQ DVVRFLDWLRQ IURP 26$0r DV DQ H[DPSOH DVVRFLDWLRQ W\SH WKDW LV WR EH VXSSRUWHG 6SHFLI\LQJ 3DUDPHWHUL]HG 5XOHV 7KH VHPDQWLFV RI DQ ,DVVRFLDWLRQ FDQ EH VSHFLILHG DV D VHW RI FRQVWUDLQWV WKDW DSSO\ WR WKH FODVVHV LQYROYHG LQ DQ LQWHUDFWLRQ DVVRFLDWLRQ )RU H[DPSOH LQ DQ LQWHUDFWLRQ DVVRFLDWLRQ DQ REMHFW FDQ H[LVW LQ WKH GHILQLQJ FODVV RQO\ LI LW LV DVVRFLDWHG ZLWK REMHFWV LQ HDFK RI WKH FRQVWLWXHQW FODVVHV 7KLV FRQVWUDLQW FDQ EH FDSWXUHG E\

PAGE 188

H[SOLFLW DQG SDUDPHWHUL]HG UXOHV UHTXHVWV H[SOLFLW RU SDUDPHWHUL]HG UXOHV UHWXUQV ERXQG UXOHVn UHTXHVWV ERXQG UXOHV UHWXUQV H[SOLFLW RU SDUDPHWHUL]HG UXOHV '$7$ ',&7,21$5< $1' 0(7$02'(/ 0$1$*(0(17 02'8/( Ef 5XOH 3URFHVVLQJ ZLWK '\QDPLF %LQGLQJ )LJXUH '\QDPLF $SSURDFK Df 5XOH 6WRUDJH Ef 5XOH 3URFHVVLQJ ZLWK '\QDPLF %LQGLQJ

PAGE 189

WKH IROORZLQJ SDUDPHWHUL]HG UXOH ZKLFK DSSOLHV WR REMHFWV RI WKH GHILQLQJ FODVV RI WKH LQWHUDFWLRQ DVVRFLDWLRQ 58/( SU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW6(/)f $IWHU ,QVHUWOQVWDQFH6(/)ff ,) 6(/) 7+(1 6(/) r$1' FRQVWLWXHQW&ODVVHV2I6(/) DVVRFLDWLRQ7\SH f¯,f°f &RUUHFWLYHDFWLRQ 'HOHWHB2EMHFW6(/)f (1' ,Q WKH DERYH UXOH 6(/) UHSUHVHQWV WKH FODVV WR ZKLFK WKH UXOH DSSOLHV LH WKH GHILQLQJ FODVVf )XQFWLRQV VXFK DV FRQVWLWXHQW&ODVVHV2I4 DUH XVHG WR VSHFLI\ RWKHU FODVVHV WKDW DUH XVHG LQ WKH VSHFLILFDWLRQ RI WKH UXOH $Q\ RWKHU FRQVWUDLQWV WKDW DSSO\ WR WKH ,DVVRFLDWLRQ FDQ EH VLPLODUO\ VSHFLILHG XVLQJ SDUDPHWHUL]HG UXOHV ([WHQGLQJ WKH 0HWDFODVV 6\VWHP 7ZR VWHSV DUH LQYROYHG LQ WKH H[WHQVLRQ RI WKH PHWDFODVV V\VWHP WR VXSSRUW WKH QHZ DVVRFLDWLRQ W\SH ,Q WKH ILUVW VWHS WKH PHWDFODVV V\VWHP LV H[WHQGHG WR DGG WKH QHZ DVVRFLDWLRQ W\SH LWVHOI ,Q WKH VHFRQG VWHS WKH PHWDFODVV V\VWHP LV H[WHQGHG WR DGG WKH SDUDPHWHUL]HG UXOHV DQG WR SURYLGH D PHFKDQLVP IRU ELQGLQJ WKHVH UXOHV WR DSSOLFDWLRQ FODVVHV WKDW FRQWDLQ ,DVVRFLDWLRQV :H QRZ H[SODLQ WKH ILUVW VWHS RI WKH H[WHQVLRQ $ QHZ PHWDFODVV FDOOHG ,17(5n $&7,21 LV GHILQHG DV D VXEFODVV RI WKH PHWDFODVV $662&,$7,21 6LQFH LQVWDQFHV RI WKH FODVV $662&,$7,21 UHSUHVHQW DVVRFLDWLRQV LQVWDQFHV RI WKH FODVV ,17(5n $&7,21 UHSUHVHQW WKRVH DVVRFLDWLRQV ZKLFK DUH LQWHUDFWLRQ DVVRFLDWLRQV 7KLV LV VLPLODU WR WKH V\VWHPGHILQHG PHWDFODVVHV $**5(*$7,21 DQG *(1(5$/,=$n 7,21 7KLV LV LOOXVWUDWHG LQ )LJXUH 1RWH WKDW LQVWDQFHV RI FODVV &/$66 UHSUHVHQW FODVVHV (DFK FODVV KDV D VHW RI DVVRn FLDWLRQV DV UHSUHVHQWHG E\ WKH DWWULEXWH VHW 2I $VVRFLDWLRQV RI FODVV &/$66 LQ )LJXUH 6LQFH WKH FODVV $662&,$7,21 QRZ KDV D VXEFODVV FDOOHG ,17(5$&7,21 WKH

PAGE 190

6\VWHPGHILQHG PHWDFODVVHV )LJXUH ([WHQGLQJ WKH 0RGHO 0HWDFODVV 6\VWHP

PAGE 191

VHW2I$VVRFLDWLRQV DWWULEXWH FDQ FRQWDLQ DVVRFLDWLRQ REMHFWV ZKLFK UHSUHVHQW LQWHUDFn WLRQ DVVRFLDWLRQV 7KXV D FODVV VXFK DV $GYLVLQJ ZKLFK LV UHSUHVHQWHG DV DQ REMHFW LQ FODVV &/$66 ZLOO KDYH WKH FRUUHVSRQGLQJ LQWHUDFWLRQ DVVRFLDWLRQ REMHFWV LQ WKH VHW 2I $VVRFLDWLRQ DWWULEXWH $Q LPSRUWDQW FRQVHTXHQFH RI WKLV H[WHQVLRQ LV WKDW LW LV QRZ SRVVLEOH WR ZULWH DQ DFFHVV IXQFWLRQ XVLQJ WKHVH PHWDFODVVHV WR GHWHUPLQH WKH FRQVWLWXHQW FODVVHV RI WKH ,DVVRFLDWLRQ FRUUHVSRQGLQJ WR D JLYHQ GHILQLQJf FODVV 7KLV DOORZV WKH FRPSXWDWLRQ RI IXQFWLRQV VXFK DV FRQVWLWXHQW&ODVVHVRI4 IRU DQ\ FODVV KDYLQJ GLIIHUHQW W\SHV RI DVVRFLDWLRQV :H QRWH WKDW WKH ILUVW VWHS RI WKH H[WHQVLRQ LQYROYHV PHWDREMHFWV VXFK DV FODVVHV DQG DVVRFLDWLRQV DQG WKHLU PDQLSXODWLRQ 7KH VHFRQG VWHS RI WKH H[WHQVLRQ DIIHFWV QRW WKH PHWDREMHFWV EXW WKH REMHFWV RI DSSOLFDWLRQf FODVVHV ZKLFK FRQWDLQ ,DVVRFLDWLRQV 7KH VHFRQG VWHS RI WKH H[WHQVLRQ GHDOV ZLWK WKH PHFKDQLVP E\ ZKLFK SDUDPHWHUL]HG UXOHV FDQ EH ERXQG WR DQG LQYRNHG RQ WKH REMHFWV RI DSSOLFDWLRQf FODVVHV ZKLFK FRQWDLQ ,DVVRFLDWLRQV :H VKRZ KRZ FODVVHV VXEFODVVHV DQG LQKHULWDQFH FDQ SURYLGH D VXLWDEOH PHFKDQLVP IRU ELQGLQJ DQG LQYRNLQJ VXFK UXOHV ,Q JHQHUDO DQ\ DVVRFLDWLRQ LQYROYHV D GHILQLQJ FODVV DQG RQH RU PRUH FRQVWLWXHQW FODVVHV $V VXFK WKH FRQVWUDLQWV WKDW GHILQH WKH VHPDQWLFV RI DQ DVVRFLDWLRQ DSSO\ HLWKHU WR REMHFWV RI WKH GHILQLQJ FODVV RU REMHFWV RI WKH FRQVWLWXHQW FODVVHVf RU ERWK &OHDUO\ WKH SDUDPHWHUL]HG UXOHV VKRXOG EH VSHFLILHG WR DFFRPPRGDWH WKLV DVSHFW 7KXV IRU HDFK DVVRFLDWLRQ W\SH WZR FODVVHV PXVW EH GHILQHG DV VXEFODVVHV RI WKH FODVV (&/$66 2%-(&7 )RU ,QWHUDFWLRQ WZR FODVVHV (&/$66 2%-(&7 '&, DQG (&/$66 2%-(&7 &&, DUH GHILQHG DV VXEFODVVHV RI (&/$66 2%-(&7 7KH FODVV (&/$66 2%-(&7 '&, UHSUHVHQWV (FODVV REMHFWV ZKLFK EHORQJ WR D FODVV ZKLFK LV D 'HILQLQJ &ODVV IRU ,QWHUDFWLRQ '&,f 7KH FODVV (&/$66 2%-(&7 &&, UHSUHVHQWV (FODVV REMHFWV ZKLFK EHORQJ WR D FODVV ZKLFK LV D &RQVWLWXHQW &ODVV IRU ,QWHUDFWLRQ

PAGE 192

&&,f ,Q )LJXUH ZH VKRZ KRZ WKH PHWDFODVV V\VWHP LV H[WHQGHG ZLWK WKHVH WZR FODVVHV 7KH SDUDPHWHUL]HG UXOHV D[H QRZ VSHFLILHG LQ WKHVH FODVVHV )RU H[DPSOH WKH SDUDPHWHUL]HG UXOH SUHVHQWHG LQ 6HFWLRQ ZKLFK DSSOLHV WR GHILQLQJ FODVVHV IRU ,DVVRFLDWLRQV LV VSHFLILHG LQ WKH FODVV (&/$66 2%-(&7 '&, $Q\ FODVV ZKLFK LV D GHILQLQJ FODVV IRU DQ ,DVVRFLDWLRQ LV VSHFLILHG DV D VXEFODVV RI (&/$66 2%-(&7 '&, DQG LQKHULWV WKH DSSURSULDWH SDUDPHWHUL]HG UXOHV $ VLPLODU DSSURDFK DSSOLHV WR FRQVWLWXHQW FODVVHV &RQVLGHU WKH FODVV $GYLVLQJ VKRZQ LQ )LJXUH ZKLFK LV D GHILQLQJ FODVV IRU DQ ,DVVRFLDWLRQ ,QVWDQFHV RI FODVV $GYLVLQJ DUH (FODVV REMHFWV ZKLFK EHORQJ WR D FODVV ZKLFK LV D GHILQLQJ FODVV IRU DQ ,DVVRFLDWLRQ 7KXV FODVV $GYLVLQJ LV GHILQHG DV D VXEFODVV RI (&/$66 2%-(&7 '&, DV VKRZQ LQ )LJXUH &RQVHTXHQWO\ WKH SDUDPHWHUL]HG UXOH VKRZQ HDUOLHU LV LQKHULWHG WR FODVV $GYLVLQJ DQG WUDQVODWHV WR WKH IROORZLQJ ERXQG UXOH 58/( DEU 7ULJJHUFRQG$IWHU ,QVHUW2EMHFW$GYLVLQJf $IWHU ,QVHUWOQVWDQFH$GYLVLQJff ,) $GYLVLQJ 7+(1 $GYLVLQJ r$1' )DFXOW\ *UDGf &RUUHFWLYHDFWLRQ 'HOHWHB2EMHFW$GYLVLQJf (1' :H QRWH WKDW FODVVHV VXFK DV (&/$66 2%-(&7 '&, (&/$66 2%-(&7 &&, HWF DOORZ D FRPPRQ VHW RI SDUDPHWHUL]HG UXOHV WR EH VSHFLILHG RQFH LQ RUGHU WR GHILQH WKH VHPDQWLFV RI GLIIHUHQW DVVRFLDWLRQ W\SHV 6XEVHTXHQWO\ VXFK UXOHV FDQ LQKHULWHG DQG DSSOLHG WR DOO DSSOLFDWLRQ FODVVHV ZKLFK FRQWDLQ WKHVH DVVRFLDWLRQ W\SHV ,Q )LJXUH ZH LOOXVWUDWH KRZ VXFK PRGHO GHILQLQJ UXOHV PD\ EH VWRUHG )LJXUH Df VKRZV WKH VWDWLF DSSURDFK LQ ZKLFK WKH ERXQG UXOHV DUH VWRUHG ZLWK HDFK RI WKH FODVVHV WR ZKLFK WKH UXOHV DSSO\ )LJXUH Ef VKRZV WKH G\QDPLF DSSURDFK LQ ZKLFK WKH

PAGE 193

FODVV (&/$66 2%-(&7 '&, FODVV $GYLVLQJ 58/( ERXQG UXOHV WKDW GHILQH VHPDQWLFV RI WKH ,DVVRFLDWLRQ Df 5XOH 6WRUDJH IRU 6WDWLF $SSURDFK FODVV (&/$66 2%-(&7 '&, FODVV $GYLVLQJ Ef 5XOH 6WRUDJH IRU '\QDPLF $SSURDFK )LJXUH 6 WRULQJ 0RGHO 'HILQLQJ 5XOHV Df 5XOH 6WRUDJH IRU 6WDWLF $SSURDFK Ef 5XOH 6WRUDJH IRU '\QDPLF $SSURDFK

PAGE 194

SDUDPHWHUL]HG UXOHV DUH VWRUHG RQO\ RQFH ZLWK WKH PHWDFODVVHV ZKLFK VSHFLI\ WKH UXOHV DQG DUH ERXQG WR WKH DSSOLFDWLRQ FODVVHV GXULQJ UXOH SURFHVVLQJ WLPH )LJXUH LOOXVWUDWHV WKH FRQFHSWXDO ERXQGDULHV RI D FODVV V\VWHP 7KH V\VWHP GHILQHG PHWDFODVV V\VWHP RQ WKH OHIW RI )LJXUH LV WKH SDUW RI WKH FODVV V\VWHP ZKLFK LV GHYHORSHG E\ WKH GHYHORSHU RI WKH NHUQHO REMHFW PDQDJHPHQW V\VWHP DQG LV SURYLGHG WR WKH .%& 7KH H[WHQVLRQ RI WKH PHWDFODVV V\VWHP FDQ EH PDGH E\ WKH .%& EDVHG RQ WKH V\VWHPGHILQHG PHWDFODVV V\VWHP 7KLV LV VKRZQ LQ WKH PLGn GOH SDUW RI )LJXUH 7KH UHVXOWLQJ FODVV V\VWHP UHSUHVHQWV WKH FXVWRPL]HG GDWD PRGHO SURYLGHG WR WKH .QRZOHGJH %DVH $GPLQLVWUDWRU .%$f RU 'DWDEDVH $GPLQn LVWUDWRU '%$f WR GHYHORS WKH DSSOLFDWLRQ FODVV VWUXFWXUH IRU XVH E\ WKH DSSOLFDWLRQ XVHUV )LQDOO\ WKH UHVXOWLQJ DSSOLFDWLRQ FODVV V\VWHP LV PDGH DYDLODEOH IRU XVH WR WKH DSSOLFDWLRQ XVHUV 1RWH WKDW XQGHU QRUPDO FLUFXPVWDQFHV DQ DSSOLFDWLRQ XVHU FDQ DFFHVV DQG XVH WKH DSSOLFDWLRQ FODVV V\VWHP RQO\ EXW KDV QR f¯VFKHPD PRGLILFDWLRQ SULYLOHJHVf° 6LPLODUO\ DOWKRXJK WKH .%$ RU '%$ FDQ PRGLI\ WKH DSSOLFDWLRQ FODVV V\VWHP LH VFKHPD PRGLILFDWLRQf KHVKH GRHV QRW KDYH PRGLILFDWLRQ SULYLOHJHV RQ WKH H[WHQGHG PHWDn FODVV V\VWHP )LQDOO\ WKH .%& FDQ PRGLI\ WKH H[WHQGHG PHWDFODVV V\VWHP LH WR FKDQJH WKH DSSOLFDWLRQ GDWD PRGHOf EXW FDQQRW PRGLI\ WKH EDVLF NHUQHO PRGHO UHSUHVHQWHG E\ WKH V\VWHPGHILQHG PHWDFODVV V\VWHP

PAGE 195

&+$37(5 6800$5< $1' )8785( 5(6($5&+ 6XPPDU\ 7R VXPPDUL]H WKH UHVHDUFK SUHVHQWHG LQ WKLV GLVVHUWDWLRQ ZH KDYH LQYHVWLJDWHG VHYHUDO NH\ LVVXHV UHODWLQJ WR WKH GHYHORSPHQW RI QH[WJHQHUDWLRQ .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPV IRU VXSSRUWLQJ DGYDQFHG DSSOLFDWLRQ GRPDLQV $ NH\ FRQWULEXWLRQ RI WKLV GLVVHUWDWLRQ LV WKH FRQFHSW RI FRXSOLQJ DQ H[WHQVLEOH GDWD PRGHO ZLWK D FRUUHVSRQGLQJ H[WHQVLEOH V\VWHP DUFKLWHFWXUH IRU UHDOL]LQJ QH[W JHQHUDWLRQ .%06V $ IL[HG GDWD PRGHO UHVWULFWV WKH DELOLW\ RI WKH PRGHO WR PRGHO QXPHURXV IHDWXUHV RI FRPSOH[ DSSOLFDWLRQ GRPDLQV ,QVWHDG WKH XVH RI DQ H[WHQVLEOH GDWD PRGHO DOORZV WKH GDWD PRGHO WR EH WDLORUHG WR WKH QHHGV RI WKH DSSOLFDWLRQ GRPDLQ DQG QRW YLFH YHUVD ,Q WKLV FRQWH[W ZH KDYH SURSRVHG DQ H[WHQVLEOH GDWD PRGHO D GDWD PRGHO FRQWDLQLQJ D VHW RI EDVLF REMHFWRULHQWHG GDWD PRGHOLQJ FRQVWUXFWV SOXV WKH FDSDFLW\ WR DGG QHZ DQG DGYDQFHG GDWD PRGHOLQJ FRQVWUXFWV ,Q RUGHU WR DFKLHYH GDWD PRGHO H[WHQVLELOLW\ ZH KDYH SURSRVHG WHFKQLTXHV LQ ZKLFK WKH EDVLF GDWD PRGHO FRQVWUXFWV DUH UHIOH[LYHO\ PRGHOHG XVLQJ WKH GDWD PRGHO LWVHOI DQG VXEVHTXHQW H[WHQVLRQV DUH UHDOL]HG E\ PRGLI\LQJ WKLV UHIOH[LYH f¯PRGHO RI WKH PRGHOf° XVLQJ WKH VWUXFWXUDO DQG EHKDYLRUDO DEVWUDFWLRQV WKDW WKH EDVLF GDWD PRGHO LWVHOI SURYLGHV $ NH\ FRQFHSW XQGHUO\LQJ WKH H[WHQVLEOH GDWD PRGHO DSSURDFK LV WKH QRWLRQ RI D PRGHO PHWDDUFKLWHFWXUH ZKLFK LV FRPSRVHG RI PHWDREMHFWV 6XFK PHWDREMHFWV DUH REMHFWV WKDW PRGHO WKH GDWD PRGHO LWVHOI 7KXV GDWD PRGHO FRQVWUXFWV VXFK DV FODVVHV DVVRFLDWLRQV UXOHV PHWKRGV HWF DUH GHILQHG DQG PDQDJHG DV ILUVW FODVV

PAGE 196

REMHFWV 6XFK D PHWDDUFKLWHFWXUH WKHQ SURYLGHV D QDWXUDO EDVLV IRU WKH WKH GDWD GLFWLRQD[\ PRGXOH ZKLFK GHDOV ZLWK WKH PDQDJHPHQW RI PHWDLQIRUPDWLRQ RI WKH PRGHO V\VWHP DQG DSSOLFDWLRQ &RUUHVSRQGLQJ WR VXFK DQ H[WHQVLEOH GDWD PRGHO WKH XQGHUO\LQJ V\VWHP DUFKLn WHFWXUH LV DOVR GHVLJQHG WR EH H[WHQVLEOH 7R DFKLHYH H[WHQVLELOLW\ DW WKH V\VWHP DUFKLWHFWXUH OHYHO ZH KDYH SURSRVHG DQ RSHQ PRGXODU DQG OD\HUHG DSSURDFK IRU GHYHORSLQJ WKH V\VWHP DUFKLWHFWXUH 6LPLODU WR WKH WHFKQLTXH XVHG IRU PRGHO H[WHQn VLELOLW\ ZH GHYHORS D f¯PRGHO RI WKH V\VWHPf° 6\VWHP PRGXOHV ZKLFK KDYH RSHQ DQG ZHOOGHILQHG LQWHUIDFHV D[H PRGHOHG DV REMHFWV FODVVHV DVVRFLDWLRQV PHWKRGV DQG UXOHV XVLQJ WKH VDPH EDVLF GDWD PRGHO DQG WKH REMHFWRULHQWHG SDUDGLJP ([WHQVLRQV WR WKH V\VWHP DUFKLWHFWXUH D[H FDUULHG RXW E\ PRGLI\LQJ WKH VFKHPDWD FRUUHVSRQGLQJ WR YDULRXV PRGXOHV XVLQJ WKH VWUXFWXUDO DQG EHKDYLRUDO DEVWUDFWLRQV WKDW D[H SURn YLGHG E\ WKH EDVLF GDWD PRGHO 7KH QRWLRQ RI V\VWHP H[WHQVLELOLW\ LV GHPRQVWUDWHG XVLQJ PRGXOHV VXFK DV WKH REMHFW PDQDJHU TXHU\ SURFHVVRU UXOH SURFHVVRU DQG GDWD GLFWLRQDU\ 7KH IUDPHZRUN DQG DUFKLWHFWXUH RI WKH V\VWHP KDV EHHQ GHYHORSHG E\ WDNLQJ D PLGGOHRXW DSSURDFK $Q LQWHUPHGLDWH OD\HU QDPHO\ WKH NHUQHO REMHFW PDQDJHPHQW OD\HU KDV EHHQ GHYHORSHG WR VXSSRUW WKH VHW RI FRUH GDWD PRGHOLQJ FRQVWUXFWV ,VVXHV UHODWLQJ WR WKH PDQDJHPHQW RI NHUQHO REMHFWV WKDW LV REMHFWV GHVFULEHG E\ WKH FRUH H[WHQVLEOH GDWD PRGHOf KDYH EHHQ LQYHVWLJDWHG DV SDUW RI WKH V\VWHP DUFKLWHFWXUH RI WKLV LQWHUPHGLDWH OD\HU 7R VXSSRUW WKH PLGGOHRXW DSSURDFK WKH LQWHUPHGLDWH OD\HU KDV EHHQ GHOLEHUDWHO\ GHVLJQHG ZLWK D YLHZ WR VXSSRUW XSZDUG H[WHQVLRQV WKDW LV VXSSRUW XSSHU OD\HUVf DQG GRZQZDUG H[WHQVLRQV WKDW LV VXSSRUW ORZHU OD\HUVf RI WKH RYHUDOO V\VWHP DUFKLWHFWXUH 7KH TXHU\ SURFHVVRU ZKLFK LV GHYHORSHG DV DQ XSSHUOD\HU FOLHQW RI WKH .HUQHO 2EMHFW 0DQDJHPHQW 6\VWHP LOOXVWUDWHV WKH QRWLRQ RI OD\HULQJ DQG PRGXODULW\ ,Q RUGHU WR VXSSRUW DGYDQFHG DSSOLFDWLRQV EDVHG RQ WKH REMHFWRULHQWHG SDUDGLJP D

PAGE 197

QRYHO JUDSKEDVHG DSSURDFK WR TXHU\ SURFHVVLQJ IRU REMHFWRULHQWHG GDWDEDVHV KDV EHHQ SURSRVHG 7KH TXHU\ SURFHVVRU ZKLFK LPSOHPHQWV WKLV JUDSKEDVHG DSSURDFK LV LWVHOI GHYHORSHG XVLQJ RSHQ DQG PRGXODU V\VWHP FRPSRQHQWV VR DV WR EH H[WHQVLEOH 7ZR LPSRUWDQW IRUPV RI PRGHO H[WHQVLELOLW\ QDPHO\ FODVV DQG DVVRFLDWLRQ H[WHQn VLELOLW\ KDYH EHHQ VWXGLHG DV H[DPSOHV WKDW VHUYH WR LOOXVWUDWH WKH QRWLRQ RI GDWD PRGHO H[WHQVLELOLW\ 7R VXSSRUW WKH FRQFHSW RI DVVRFLDWLRQ H[WHQVLELOLW\ WKH QRWLRQ RI SDUDPHWHUL]HG UXOHV KDV EHHQ SURSRVHG 6XFK UXOHV ZKLFK DUH VSHFLILHG XVLQJ SDn UDPHWHUV DQG IXQFWLRQV FDQ EH XVHG WR VSHFLI\ LQ D JHQHULF PDQQHU WKH FRQVWUDLQWV DVVRFLDWHG ZLWK GLIIHUHQW W\SHV RI DVVRFLDWLRQV 7KH UXOHV FDQ WKHQ EH DSSOLHG WR DOO DSSOLFDWLRQf FODVVHV ZKLFK XVH WKH FRUUHVSRQGLQJ DVVRFLDWLRQ W\SH )XWXUH :RUN 2XU FXUUHQW VWXG\ UHSUHVHQWV DQ LQLWLDO DWWHPSW WRZDUGV SURYLGLQJ D VROXWLRQ IRU WKH FRPSOH[ DQG GHPDQGLQJ UHTXLUHPHQWV WKDW DGYDQFHG DSSOLFDWLRQ GRPDLQV SODFH XSRQ GDWD DQG NQRZOHGJH EDVH PDQDJHPHQW V\VWHPV $ NH\ FRQFHSW SURSRVHG LQ WKLV ZRUN KDV EHHQ WKH FRXSOLQJ RI DQ H[WHQVLEOH GDWD PRGHO ZLWK DQ H[WHQVLEOH V\VWHP DUFKLWHFWXUH 6HYHUDO LVVXHV UHODWLQJ WR VXFK D GDWD PRGHO DQG V\VWHP DUFKLWHFWXUH UHTXLUH IXUWKHU VWXG\ :H EULHIO\ GLVFXVV VRPH RI WKHVH LVVXHV )LUVW WKH XVH RI UXOHV DV D SRZHUIXO PHFKDQLVP IRU VSHFLI\LQJ WKH VHPDQWLFV RI GDWD PRGHO H[WHQVLRQV QHHGV WR EH H[SORUHG IXUWKHU 8QOLNH PHWKRGV GHFODUDWLYH UXOHV SURYLGH D PRUH FRQYHQLHQW PHFKDQLVP IRU VSHFLI\LQJ WKH FRQVWUDLQWV DQG RSn HUDWLRQDO VSHFLILFDWLRQV RI VSHFLDOSXUSRVH GDWD PRGHOLQJ FRQVWUXFWV &RQVHTXHQWO\ ZH HQYLVLRQ WKLV XVDJH RI UXOHV WR EH RQH RI WKH ILUVW XVHV RI WKH UXOH SURFHVVRU EHLQJ GHYHORSHG LQ WKH FXUUHQW .%06 SURWRW\SH 6HFRQG D GDWD PRGHO DQG V\VWHP DUFKLWHFWXUH HGLWRU PXVW EH GHYHORSHG DV D WRRO IRU HDV\ FXVWRPL]DWLRQ RI WKH GDWD PRGHO DQG WKH XQGHUO\LQJ V\VWHP DUFKLWHFn WXUH :KLOH LW LV SRVVLEOH WR H[WHQG WKH PRGHO DQG V\VWHP E\ GLUHFWO\ PRGLI\LQJ WKH

PAGE 198

VFKHPDWD FRUUHVSRQGLQJ WR WKH PRGHO DQG V\VWHP D EHWWHU DSSURDFK LV WR GHYHORS DQ LQWHOOLJHQW WRRO ZKLFK FDQ DVVLVW WKH .%& LQ PRGLI\LQJ DQG H[WHQGLQJ WKH V\VWHP 7KLUG H[WHQVLEOH V\VWHPV H[KLELW D FODVVLF WUDGHRII EHWZHHQ IXQFWLRQDOLW\ DQG SHUIRUPDQFH 7KH HPSKDVLV RQ JHQHULF PRGXOHV DQG SDUDPHWHUL]DWLRQ OHDGV WR EHWn WHU IXQFWLRQDOLW\ EXW GHFUHDVHG SHUIRUPDQFH ,Q JHQHUDO WKH SHUIRUPDQFH DVSHFWV RI H[WHQVLEOH V\VWHPV KDV EHHQ D ODUJHO\ LJQRUHG DUHD :H PDNH DQ LPSRUWDQW REVHUn YDWLRQ LQ WKLV UHJDUG 0RQROLWKLF V\VWHPV SURYLGH KLJKHU SHUIRUPDQFH E\ RSWLPL]LQJ WKH V\VWHP DV D ZKROH DOWKRXJK LQWHUQDO FRPSRQHQWV DUH XVXDOO\ IL[HG ,QVWHDG H[WHQVLEOH V\VWHPV PD\ EH DEOH WR H[SORLW WKH H[WHQVLELOLW\ IHDWXUH LWVHOI IRU EHWWHU SHUIRUPDQFH 6LQFH LQWHUQDO FRPSRQHQWV FDQ EH HDVLO\ PRGLILHG RU UHSODFHG LW PD\ EH SRVVLEOH WR RSWLPL]H WKH V\VWHP DV D ZKROH E\ PRGLI\LQJ RU VXEVWLWXWLQJ HDFK LQWHUQDO FRPSRQHQW RU PRGXOH EDVHG RQ VRPH SHUIRUPDQFH UHTXLUHPHQWV ,Q WKLV FDVH H[WHQVLELOLW\ LV XVHG QRW VLPSO\ WR VDWLVI\ DSSOLFDWLRQ GRPDLQ UHTXLUHPHQWV EXW WR VDWLVI\ SHUIRUPDQFH UHTXLUHPHQWV )RXUWK D PDWKHPDWLFDO PRGHO IRU PRGHO DQG V\VWHP UHIOH[LYLW\ PXVW EH GHYHOn RSHG 6XFK D PRGHO FDQ SURYLGH EHWWHU LQVLJKW LQWR WKH SURFHVV RI H[WHQGLQJ WKH GDWD PRGHO DQG V\VWHP DQG FDQ VHUYH DV D EDVLV IRU FKHFNLQJ FRQVLVWHQF\ LQ WKH H[WHQVLRQV WR WKH PRGHO DQG V\VWHP 'HYHORSLQJ VXFK D PDWKHPDWLFDO PRGHO LQYROYHV GHILQLQJ D PDWKHPDWLFDO QRWDWLRQ IRU UHSUHVHQWLQJ GDWD PRGHO DQG V\VWHP UHIOH[LYHO\ DQG D PDWKHPDWLFDO IRUPXODWLRQ RI WKH WUDQVIRUPDWLRQ SURFHVV LQYROYHG LQ H[WHQGLQJ WKH PRGHO DQG V\VWHP )LQDOO\ LQ WKH SURWRW\SH ZH KDYH GHYHORSHG IRU WHVWLQJ RXU FRQFHSWV WKH XQn GHUO\LQJ VWRUDJH OD\HU PXVW EH PDGH H[WHQVLEOH &XUUHQWO\ WKLV VWRUDJH OD\HU LV LPSOHPHQWHG XVLQJ 21726 D IL[HG DQG SURSULHWDU\ WKDW LV QRQRSHQf FRPSRQHQW 7R GHPRQVWUDWH SK\VLFDO H[WHQVLELOLW\ DW WKH VWRUDJH OD\HU D IXWXUH WDVN LV WR UHSODFH VXFK D VWRUDJH OD\HU ZLWK DQ H[WHQVLEOH VWRUDJH OD\HU ,Q DQ H[WHQVLEOH VWRUDJH OD\HU ILOHV EXIIHUV UHFRUGV HWF PXVW EH WUHDWHG DQG PDQLSXODWHG DV ILUVW FODVV REMHFWV

PAGE 199

7KXV WKH HQWLUH V\VWHP DW DOO OHYHOV LV PRGHOHG XVLQJ D XQLIRUP REMHFWRULHQWHG SDUDGLJP

PAGE 200

$33(1',; $ ',&7,21$5< $&&(66 )81&7,216 :H SUHVHQW EHORZ D VDPSOH VHW RI GLFWLRQDU\ DFFHVV IXQFWLRQV WR LOOXVWUDWH KRZ FODVVHV DQG DVVRFLDWLRQV DUH PDQLSXODWHG DW WKH PHWDOHYHO 7KHVH DFFHVV IXQFWLRQV DUH LOOXVWUDWHG XVLQJ D & OLNH V\QWD[ IRU WKH DUJXPHQWV SDVVHG DQG WKH W\SH RI WKH UHWXUQ YDOXH %RROHDQ H[LVWV&ODVVFKDUr FODVV1DPHf &KHFN LI D FODVV H[LVWV JLYHQ WKH FODVVQDPH FKDUr FODVV1DPHLQW FLGf *HW WKH FODVVQDPH JLYHQ WKH FODVV LGHQWLW\ FLGf &ODVVr JHW&ODVVLQW FLGf *HW WKH FODVV REMHFW JLYHQ WKH FODVV LGHQWLW\ &ODVVr JHW&ODVVFKDUr FODVV1DPHf *HW WKH FODVV REMHFW JLYHQ WKH FODVV QDPH LQW FODVVOGFKDUr FODVV1DPHf *HW WKH FODVV LGHQWLW\ FLGf JLYHQ WKH FODVV QDPH &ODVV/LVWr JHW6XSHU&ODVVHV2IFKDUr FODVV1DPHf *HW WKH OLVW RI VXSHUn FODVVHV RI D FODVV &ODVV/LVWr JHW6XE&ODVVHV2IFKDUr FODVV1DPHf *HW WKH OLVW RI VXEFODVVHV RI D FODVV $VVRF/LVWr JHW $VVRFLDWLRQV FKDUr FODVV1DPHf *HW WKH OLVW RI DVVRFLDWLRQV RI D FODVV &ODVV/LVWr JHW$86XSHU&ODVVHV2IFKDUr FODVV1DPHf *HW WKH OLVW RI DOO VXSHU FODVVHV LQ WKH FODVV KLHUDUFK\ RI D FODVV %RROHDQ LV $WWULEXWH FKDUr FODVV1DPH FKDUr DWWULEXWH1DPHf &KHFN LI D JLYHQ DWWULEXWH H[LVWV IRU D FODVV %RROHDQ LVOQKHULWHG$WWULEXWH FKDUr DWWUEXWH1DPH FKDUr FODVV1DPHf &KHFN LI D JLYHQ DWWULEXWH LV DQ LQKHULWHG DWWULEXWH RI D FODVV $VVRFLDWLRQr JHW$VVRFLDWLRQFKDUr FODVV1DPH FKDUr DVVRF1DPHf *HW $Vn VRFLDWLRQ REMHFW JLYHQ WKH FODVVQDPH DQG DVVRFLDWLRQ QDPH %RROHDQ H[LVWV$VVRFLDWLRQFKDUr FODVV1DPH FKDUr DVVRF1DPHf &KHFN LI DQ DVVRFLDWLRQ H[LVWV &ODVV7\SH JHW&ODVV7\SHFKDUr FODVV1DPHf *HW FODVV W\SH HJ (FODVV 'FODVVf RI D JLYHQ FODVV

PAGE 201

$VVRF7\SH JHW$VVRF7\SHFKDUr FODVV1DPH FKDUr DVVRF1DPHf *HW DVVRn FLDWLRQ W\SH HJ $JJUHJDWLRQf RI D JLYHQ DVVRFLDWLRQ FKDUr JHW$VVRFLDWHG&ODVV1DPHFKDUr GHI&ODVV1DPH FKDUr DVVRF1DPHf *HW QDPH RI WKH DVVRFLDWHG FODVV IRU D JLYHQ DVVRFLDWLRQ 2EMHFW7DEOHr JHW2EMHFW7DEOHFKDUr FODVV1DPHf *HW 2EMHFW 7DEOH RI D FODVV IURP GLVN YRLG SXW2EMHFW7DEOHFKDUr FODVV1DPHf 3XW 2EMHFW 7DEOH RI D FODVV WR GLVN FKDUr JHW $VVRF1DPH FKDUr FODVVO FKDUr FODVVf *HW GHIDXOW DVVRFLDWLRQ QDPH EHWZHHQ WZR FODVVHV

PAGE 202

$33(1',; % $/*25,7+06 )25 .(51(/ 2%-(&7 23(5$7256 $ORJULWOLPV IRU SURFHVVLQJ WKH NHUQHO REMHFW PDQLSXODWLRQ RSHUDWRUV DUH SUHVHQWHG EHORZ 7KHVH DOJRULWKPV DUH XVHG WR UHDOL]H WKH GLVWULEXWHG PRGHO RI VWRUDJH DQG WKH FRUUHVSRQGLQJ LQKHULWDQFH VWUDWHJLHV 7KH DOJRULWKPV DUH ZULWWHQ XVLQJ D & OLNH SVHXGRFRGH V\QWD[ DQG DOVR LOOXVWUDWH WKH PHVVDJHSDVVLQJ VHTXHQFHV %O &UHDWH &UHDWH2EMHFW FUHDWHB2EMHFWf %(*,1 ,'+DQGOHUr KG 2,' 2I 2M >KLGf§!&UHDWH2LGf@ UHWXUQ 2Mf (1' % ,QVHUW % ,QVHUW,QVWDQFH LQVHUW -QVWDQFH& 2M DUJOLVWff %(*,1 'LF+DQGOHUr KGLI 27+DQGOHUr KRW@ r &KHFN LI FODVV LV YDOLG DQG LI FODVV DOUHDG\ FRQWDLQV WKLV LQVWDQFH r ,) 127 >IFrF!LV&ODVV&Lf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) >KRWf§!LV,QVWDQFH2I&nL 2Mf@ 7+(1 UHWXUQ IDLOXUH ,QVWDQFH ([LVWVf r *HQHUDWH D QHZ VWRUDJH LQVWDQFH ZLWK LGHQWLW\ 2M LQ WKLV FODVV r 2%-(&7r 3I r 3RLQWHU WR REMHFW 2Mr 3M >&:QHZ 2Mf@ $RLf§« ,QVHUW (QWU\ 2M 3Mf? )25 S 72 >1R RI HOHPHQWV LQ DUJOLVWf@ %(*,1 $UJXPHQW>S@ >DUJOLVWff§!JHW(OHPHQWSf@ $S 9Yf? $WWULEXWH7\SH >KGLFf§!JHW$WWU7\SH $Sf`

PAGE 203

,) $WWULEXWH7\SH YDOXH DWWULEXWH 7+(1 VHW9DOXH$WWULEXWH2M $S 9Sf? ,) $WWULEXWH7\SH UHIHUHQFH DWWULEXWH 7+(1 %(*,1 &DL >KGLHA«JHW$VVRFLDWHG&ODVV& $Sf@ DVVRFLDWH 2M &D^ 9S $Sf (1' (1' 6XSHU&ODVV/LVW VFOLVWf >KLFf§}JHW6XSHU&ODVVHV2I&f@ )25 T 72 >1R RI HOHPHQWV LQ VFOLVWf@ %(*,1 D6XSHU&ODVV && >VFOLVWff§!JHW(OHPHQWTf@ DVVRFLDWH& 2M &F 2M f¯*f°f (1' UHWXUQ VXFFHVVf (1' % ,QVHUW2EMHFW LQVHUWB2EMHFW& 2M DUJOLVWff %(*,1 'LF+DQGOHUr KGLFn 27+DQGOHUr KRWf« %22/($1 IODJ r &KHFN LI FODVV LV YDOLG DQG LI FODVV DOUHDG\ FRQWDLQV WKLV LQVWDQFH r ,) 127 >IRH+V&ODVVIDf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) >KWf§«LV,QVWDQFH2I&n 2Mf? 7+(1 UHWXUQ IDLOXUH 2EMHFW ([LVWVf IODJ 5HFXUVLYH,QVHUW2EMHFW&M 2M DUJOLVWff UHWXUQ IODJf (1' $X[LOOLDUY )XQFWLRQ 5HFXUVLYHOQVHUW2ELHFW 7KLV LV DQ DX[LOOLDU\ IXQFWLRQ WKDW XVHV WDLOUHFXUVLRQ DQG QDYLJDWHV XS WKH FODVV KLn HUDUFK\ DGGLQJ LQVWDQFHV WR FODVVHV LQ WKH KLHUDUFK\ DV QHFHVVDU\ 5HFXUVLYH,QVHUW2EMHFW&n 2M DUJOLVWff %(*,1 'LF+DQGOHUr KLF 27+DQGOHUr KRWn %22/($1 IODJ r FRQGLWLRQV IRU WHUPLQDWLQJ UHFXUVLRQ r r QDYLJDWH XS WKH KLHUDUFK\ WLOO ZH ILQG DQ H[LVWLQJ LQVWDQFH r ,) >KWf§+V,QVWDQFH2A& 2Mf@

PAGE 204

7+(1 UHWXUQ VXFFHVVf r RU QDYLJDWH WLOO ZH UHDFK WKH URRW RI WKH KLHUDUFK\ r ,) &L 5RRW &ODVV RI +LHUDUFK\ 7+(1 UHWXUQ VXFFHVVf r 6HSDUDWH WKH DUJXPHQW OLVW LQWR GLUHFW DQG QRQGLUHFW DUJXPHQWV r 'LUHFW$UJ/LVW QXOO %DODQFH$UJ/LVW QXOO )25 S 72 >1R RI HOHPHQWV LQ DUJOLVWf@ %(*,1 $UJXPHQW>S@ >DUJOLVWff§!JHW(OHPHQWSf@ $393f@ ,) >LGLFGV'LUHFW$WWULEXWH & $Sf@ 7+(1 >'LUHFW$UJ/LVW f§!LQVHUW(OHPHQW$S 9Sff (/6( >%DODQFH$UJ/LVW f§!LQVHUW(OHPHQW$S WAff (1' r 6WDUW UHFXUVLYHO\ QDYLJDWLQJ XS WKH KLHUDUFK\ r 6XSHU&ODVV/LVW VFOLVWf >KGFJHW6XSHU&ODVVHV2I&nf@ )25 T 72 >1R RI HOHPHQWV LQ VFOLVWf@ %(*,1 D6XSHU&ODVV &VH >VFOLVWff§!JHW (OHPHQW Tf@ IODJ 5HFXUVLYH,QVHUW2EMHFW&n-& 2M %DODQFH$UJ/LVWff ,) IODJ VXFFHVV UHWXUQ IODJf (1' r LQVHUW DQ LQVWDQFH LQ WKH FODVV DV WKH UHFXUVLRQ XQUDYHOV r IODJ LQVHUWB,QVWDQFH& 2M 'LUHFW$UJ/LVWff UHWXUQ IODJf (1' % 8SGDWH % 8SGDWH,QVWDQFH XSGDWHB,QVWDQHH 2M DUJOLVWff %(*,1 'LF+DQGOHUr KGF 27+DQGOHUr KRL@ r &KHFN LI FODVV LV YDOLG DQG LI FODVV FRQWDLQV WKLV LQVWDQFH r ,) 127 >IFrF+V&ODVV&Lf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 >KRWf§!LV,QVWDQFH2I&n 2Mf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK ,QVWDQFHf r 8SGDWH WKH YDOXH DQG UHIHUHQFH DWWULEXWHV RI WKH LQVWDQFH r )25 S 72 >1R RI HOHPHQWV LQ DUJOLVWf@ %(*,1 $UJXPHQW>S@ >DUJOLVWff§!JHW(OHPHQWSf@ $S 9Sf? $WWULEXWH7\SH >KGL&f§!JHW$WWU7\SH&M $Sf@

PAGE 205

,) $WWULEXWH7\SH YDOXH DWWULEXWH 7+(1 XSGDWH9DOXH$WWULEXWH2M $S 9Sf ,) $WWULEXWH7\SH UHIHUHQFH DWWULEXWH 7+(1 %(*,1 *R}f§ >KGLFrJHW$VVRFLDWHG&ODVV&r $Sf@ DVVRFLDWHA 2M &DL 9S $Sf (1' (1' UHWXUQ VXFFHVVf (1' % 8SGDWH2ELHFW XSGDWHBEMHFW&W 2M DUJOLVWff %(*,1 'LF+DQGOHUr KGLF@ 27+DQGOHUr KRW? %22/($1 IODJ r &KHFN LI FODVV LV YDOLG DQG LI FODVV FRQWDLQV DQ LQVWDQFH RI WKLV REMHFW r ,) 127 >$GLF!LV&ODVV&f@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 !LV,QVWDQFH2I&n 2Mf@ 7+(1 UHWXUQ IDLOXUH 12 6XFK 2EMHFWf IODJ 5HFXUVLYH8SGDWH2EMHFW* 2M DUJOLVWff UHWXUQ IODJf (1' $X[LOLDU\ )XQFWLRQ 5HFXUVLYH8SGDWH2ELHFW 7KLV LV DQ DX[LOOLDU\ IXQFWLRQ WKDW XVHV WDLOUHFXUVLRQ DQG QDYLJDWHV XS WKH FODVV KLn HUDUFK\ XSGDWLQJ LQVWDQFHV RI FODVVHV LQ WKH KLHUDUFK\ DV QHFHVVDU\ 5HFXUVLYH8SGDWH2EMHFW& 2M DUJOLVWff %(*,1 'LF+DQGOHUr KGLF %22/($1 IODJ r WHUPLQDWH WKH UHFXUVLRQ LI ZH UHDFK WKH URRW RI WKH KLHUDUFK\ r ,) &L 5RRW &ODVV RI +LHUDUFK\ 7+(1 UHWXUQ VXFFHVVf r 6HSDUDWH WKH DUJXPHQW OLVW LQWR GLUHFW DQG QRQGLUHFW DUJXPHQWV r 'LUHFW$UJ/LVW QXOO %DODQFH$UJ/LVW QXOO )25 S 72 >1R RI HOHPHQWV LQ DUJOLVWf@ %(*,1 $UJXPHQW>S@ >^DUJOLV W ff§! JHW (OHPHQW Sf @ $393f? ,) >LGFf§QV'LUHFW$WWULEXWH & $Sf@

PAGE 206

7+(1 >'LUHFW$UJ/LVW f§GQVHUW (OHPHQW $S 9Sff (/6( >%DODQFH$UJ/LVW f§!LQVHUW(OHPHQW$S 9Sff (1' r 6WDUW UHFXUVLYHO\ QDYLJDWLQJ XS WKH KLHUDUFK\ r 6XSHU&ODVV/LVW VFOLVWf >KGLFf§!JHW6XSHU&ODVVHV2I&nf@ )25 T 72 >1R RI HOHPHQWV LQ VFOLVWf@ %(*,1 D6XSHU&ODVV && >VFOLVWff§«JHW(OHPHQWTf@ IODJ 5HFXUVLYH8SGDWH2EMHFW&DF 2M %DODQFH$UJ/LVWff ,) IODJ VXFFHVV UHWXUQ IODJf (1' r XSGDWHV WKH LQVWDQFH DV WKH WDLO UHFXUVLRQ XQUDYHOV r IODJ XSGDWHB,QVWDQFH& 2M 'LUHFW$UJ/LVWff UHWXUQ IODJf (1' % $VVRFLDWH DVVRFLDWH& 2M &N RLGOLVWf DVVRFQDPHff %(*,1 'LF+DQGOHUr KDF? 27+DQGOHUr KRW@ ,r &KHFN LI VSHFLILHG FODVV LQVWDQFH DQG DVVRFLDWLRQ DUH YDOLG r ,) 127 >LGFALV&ODVV&f@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 >Yf§}LV,QVWDQFH2I&n 2Mf` 7+(1 UHWXUQ IDLOXUH 1R 6XFK ,QVWDQFHf ,) &N\ >KLFf§!JHW$VVRFLDWHG&ODVV& DVVRFQDPHff@f 7+(1 UHWXUQ IDLOXUH 1R 6XFK $VVRFLDWLRQf r VHW UHIHUHQFHV IURP JLYHQ LQVWDQFH WR RWKHU LQVWDQFHV r DGG2EMHFW5HIHUHQFH& 2M &N RLGOLVWf DVVRFQDPHff r VHW LQYHUVH UHIHUHQFHV IURP RWKHU LQVWDQFHV WR JLYHQ LQVWDQFH r )25 S 72 >1R RI RLGV LQ RLGOLVWf@ %(*,1 2Y >RLGOLVWf f§}JHW (OHPHQW Sf@ ,QYHUVH$VVRF1DPH JHW,QYHUVH$VVRF&n &N DVVRFQDPHff DGG2EMHFW5HIHUHQFH&r 2S & 2M ,QYHUVH$VVRF1DPHf (1' (1'

PAGE 207

% 'LVVRFLDWH GLVVRFLDWHA 2M &N RLGOLVWf DVVRFQDPHff %(*,1 'LF+DQGOHUr KGLFn 27+DQGOHUr KRW r &KHFN LI VSHFLILHG FODVV LQVWDQFH DQG DVVRFLDWLRQ D[H YDOLG r ,) 127 >KGLFLV&?DVV&Lf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 >KRWf§«LV,QVWDQFH2I&n 2Mf? 7+(1 UHWXUQ IDLOXUH 1R 6XFK ,QVWDQFHf ,) &NL >KGLFf§«JHW$VVRFLDWHG&ODVV&n DVVRFQDPHff@f 7+(1 UHWXUQ IDLOXUH 1R 6XFK $VVRFLDWLRQf r UHPRYH UHIHUHQFHV IURP JLYHQ LQVWDQFH WR RWKHU LQVWDQFHV r UHPRYH2EMHFW5HIHUHQFH&n 2M &N RLGOLVWf DVVRFQDPHff r UHPRYH LQYHUVH UHIHUHQFHV IURP RWKHU LQVWDQFHV WR JLYHQ LQVWDQFH r )25 S 72 >1R RI RLGV LQ RLGOLVWf@ %(*,1 2S >RLGOLVWf f§! JHW (OHPHQW Sf @ ,QYHUVH$VVRF1DPH JHW,QYHUVH$VVRF& &N DVVRFQDPHff UHPRYHEMHFW5HIHUHQFH&IF 2S & 2M ,QYHUVH$VVRF1DPHf (1' (1' % 'HOHWH-QVWDQFH % 'HOHWH GHOHWH-QVWDQFH&n 2Mf %(*,1 'LF+DQGOHUr KGLF 27+DQGOHUr KRW r &KHFN LI FODVV LV YDOLG DQG LI FODVV GRHV FRQWDLQ WKLV LQVWDQFH r ,) 127 >GLFf§+V&ODVV&f@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 >KRWf§+V,QVWDQFH2I& 2Mf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK ,QVWDQFHf DVVRFOLVWf >KGFJHW $VVRF&nf@ )25 S 72 >1R RI HOHPHQWV LQ DVVRFOLVWf@ %(*,1 $VVRFLDWLRQIS@ >DVVRFOLVWff§!JHW(OHPHQWSf@ $S $VVRF1DPH >$GFf§JHW$VVRF1DPH$Sf@ &DL >KGLFf§!JHW$VVRFLDWHG&ODVV& $VVRF1DPHf@ GLVVRFLDWH&n 2M &DL f¯DOOf° $VVRF1DPHf (1'

PAGE 208

LR¯ f§« GHOHWH(OHPHQW&W 2Mf UHWXUQ VXFFHVVf (1' % 'HOHWHB2ELHFW GHOHWHB2EMHFW&n 2Mf %(*,1 'LF+DQGOHUr 27+DQGOHUr KRW %22/($1 IODJ r &KHFN LI FODVV LV YDOLG DQG LI FODVV GRHV FRQWDLQ WKLV LQVWDQFH r ,) 127 >KGLF!LV&ODVV&Lf` 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 >LR¯f§!LV,QVWDQFH2I& 2Mf? 7+(1 UHWXUQ IDLOXUH 1R 6XFK 2EMHFWf IODJ 5HFXUVLYH'HOHWH2EMHFW 2Mf UHWXUQ IODJf (1' $X[LOOLDUY )XQFWLRQ 5HFXUVLYH'HOHWH2ELHFW 7KLV LV DQ DX[LOOLDU\ IXQFWLRQ WKDW XVHV WDLOUHFXUVLRQ DQG QDYLJDWHV GRZQ WKH FODVV KLHUDUFK\ UHPRYLQJ LQVWDQFHV IURP FODVVHV LQ WKH KLHUDUFK\ DV QHFHVVDU\ 5HFXUVLYH'HOHWH2EMHFW&n 2Mf %(*,1 'LF+DQGOHUr 27+DQGOHUr KRW %22/($1 IODJ r FRQGLWLRQV IRU WHUPLQDWLQJ UHFXUVLRQ r r QDYLJDWH GRZQ WKH KLHUDUFK\ WLOO ZH GR QRW ILQG DQ LQVWDQFH r ,) 127 >KRWf§!LV,QVWDQFH2I&W 2Mf@ 7+(1 UHWXUQ VXFFHVVf r RU QDYLJDWH GRZQ WKH KLHUDUFK\ WLOO ZH UHDFK WKH OHDI RI WKH KLHUDUFK\ r ,) &L /HDI &ODVV RI +LHUDUFK\ 7+(1 UHWXUQ VXFFHVVf r 6WDUW UHFXUVLYHO\ QDYLJDWLQJ GRZQ WKH KLHUDUFK\ r 6XE&ODVV/LVW VFOLVWf «JHW6XE&ODVVHV2I&nf@ )25 T 72 >1R RI HOHPHQWV LQ VFOLVWf@ %(*,1 D6XE&ODVV &VF > V F OLVW ff§! JHW (OHPHQW Tf @ IODJ 5HFXUVLYH'HOHWHEMHFW&& 2Mf ,) IODJ VXFFHVV UHWXUQ IODJf (1'

PAGE 209

r GHOHWH DQ LQVWDQFH LQ WKH FODVV DV WKH UHFXUVLRQ XQUDYHOV r IODJ GHOHWH-QVWDQFH& 2Mf@ UHWXUQ IODJf (1' % 'HVWURY2ELHFW GHOHWHB2EMHFW & 2Mf %(*,1 'LF+DQGOHUr KDF@ 27+DQGOHUr KRW r &KHFN LI FODVV LV YDOLG DQG LI FODVV GRHV FRQWDLQ WKLV LQVWDQFH r ,) 127 >IFGWFf§«LV&ODVV&Lf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) 127 >KRWf§GV,QVWDQFH2I&L 2Mf? 7+(1 UHWXUQ IDLOXUH 1R 6XFK 2EMHFWf UFOLVWf >rGF!JHW$OO5RRW&ODVVHV&f@ )25 S 72 >1R RI HOHPHQWV LQ UFOLVWf@ %(*,1 5RRW&ODVV>S@ &L7Sf§ >UFOLVWff§YJHW (OHPHQW Sf@ GHOHWHB2EMHFW&nUS 2Mf (1' UHWXUQ VXFFHVVf (1' % 5HWULHYH % 5HWULHYH UHWULHYHA RLGOLVWf DUJOLVWff %(*,1 'LF+DQGOHUr K GLHM %22/($1 IODJ r &KHFN LI FODVV LV YDOLG r ,) 127 >$Ff§0V&ODVV&nLf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf 3DUWLDO2EMHFW/LVW SROLVWf QXOO )25 M 72 >1R RI HOHPHQWV LQ RLGOLVWf@ %(*,1 3DUWLDO2EMHFW r[ 3DUWLDO2EMHFW 32M [ f§PHZf SROLVWff§YDGG(OHPHQW 32Mf? (1' IODJ 5HFXUVLYH5HWULHYH&L DUJOLVWf SROLVWff

PAGE 210

,) IODJ VXFFHVVf 7+(1 UHWXUQ SROLVWff (1' $X[LOOLDUY )XQFWLRQ 5HFXUVLYH5HWULHYH 7KLV LV DQ DX[LOOLDU\ IXQFWLRQ WKDW XVHV UHFXUVLRQ DQG QDYLJDWHV XS WKH FODVV KLHUDUFK\ UHWULHYLQJ DQG DGGLQJ WKH VSHFLILHG DWWULEXWHV WR WKH SDUWLDO REMHFWV 5HFXUVLYH5HWULHYHA DUJOLVWf SROLVWff %(*,1 'LF+DQGOHUr %22/($1 IODJ r FRQGLWLRQV IRU WHUPLQDWLQJ UHFXUVLRQ r r QDYLJDWH XS WKH KLHUDUFK\ WLOO WKHUH DUH QR PRUH DWWULEXWHV WR UHWULHYH r ,) DUJOLVWf QXOO 7+(1 UHWXUQ VXFFHVVf r RU QDYLJDWH WLOO ZH UHDFK WKH URRW RI WKH KLHUDUFK\ r ,) &L 5RRW &ODVV RI +LHUDUFK\ 7+(1 UHWXUQ VXFFHVVf r 6HSDUDWH WKH DUJXPHQW OLVW LQWR GLUHFW DQG QRQGLUHFW DUJXPHQWV r 'LUHFW$UJ/LVW QXOO %DODQFH$UJ/LVW QXOO )25 S 72 >1R RI HOHPHQWV LQ DUJOLVWf@ %(*,1 $UJXPHQW>S@ > DUJOL VWf f§‘! JHW (OHPHQW Sf @ $S 9Sf? ,) >KGLFf§GV'LUHFW$WWULEXWH $Sf` 7+(1 >'LUHFW$UJ/LVW f§!LQVHUW(OHPHQW$S 9Sff (/6( >%DODQFH$UJ/LVW f§!LQVHUW(OHPHQW$S 9Sff (1' )25 M 72 >1R RI HOHPHQWV LQ SROLVWf@ %(*,1 3DUWLDO2EMHFW>M@ 32M? 7HPSRUDU\ 3DUWLDO 2EMHFW 32WHP3 5HWULHYH,QVWDQFH&n 2M 'LUHFW$UJ/LVWff 32Mf§ FRQFDWHQDWH32M 32WHPSf (1' r 6WDUW UHFXUVLYHO\ QDYLJDWLQJ XS WKH KLHUDUFK\ r 6XSHU&ODVV/LVW VFOLVWf >tGOF}JHW6XSHU&,DVVHVIf@ )25 T 72 >1R RI HOHPHQWV LQ VFOLVWf@ %(*,1 D6XSHU&ODVV &DF >VFOLVWf !JHW(OHPHQW Tf@ IODJ 5HFXUVLYH5HWULHYH&nDF %DODQFH$UJ/LVWf SROLVWff ,) IODJ VXFFHVV UHWXUQ IODJf (1' (1'

PAGE 211

$X[LOOLDUY )XQFWLRQ 5HWULHYHOQVWDQFH 7KLV LV DQ DX[LOOLDU\ IXQFWLRQ WKDW UHWULHYHV WKH VSHFLILHG DWWULEXWHV RI D VLQJOH LQn VWDQFH IURP D JLYHQ FODVV 5HWULHYH,QVWDQFH 2M DUJOLVWff %(*,1 3DUWLDO2EMHFW 32XPS r 5HWULHYH WKH VSHFLILHG YDOXH DWWULEXWHV RI WKH LQVWDQFH r )25 S 72 >1R RI HOHPHQWV LQ DUJOLVWf@ %(*,1 $WWULEXWH >S@ $S >DUJOLVWff§!JHW(OHPHQWSf@ 9DOXH >S@ 9Sf§ JHW 9DOXH $WWULEXWH 2M $Sf@ VHW9DOXH$WWULEXWH32WHPS $S 9Sf? (1' UHWXUQ 32WHPSf (1' % 6HOHFW VHOHFW VHOFRQGff %(*,1 'LF+DQGOHUr KDF@ 27+DQGOHUr KRW@ RLGOLVWf QXOO ,) >VHOFRQGf f¯DOOf°@ 7+(1 %(*,1 RLGOLVWf >KRWf§!JHW$,'Vf@ UHWXUQ RLGOLVWff (1' FRQGL ILUVW FODXVH LQ VHOFRQGf $L DWWULEXWH XVHG LQ FRQGL &L ORFDO FODVV RI DWWULEXWH $M VHOOLVWf /RFDO6HOHFWFRQGf RLGOLVWf VHOOLVWf )25 M 72 >1R RI FODXVHV LQ VHOFRQGf@ %(*,1 FRQGM MWK FODXVH LQ VHOFRQGf $M DWWULEXWH XVHG LQ FRQGL@ &L ORFDO FODVV RI DWWULEXWH $M@ VHOOLVWf /RFDO6HOHFWFRQGLf ,) >&21-81&7,21 EHWZHHQ FRQGM FRQGM@ 7+(1 RLGOLVWf RLGOLVWfQ VHOOLVWf ,) >',6-81&7,21 EHWZHHQ FRQGML FRQGM@ 7+(1 RLGOLVWf RLGOLVWf8 VHOOLVWf (1'

PAGE 212

UHWXUQ RLGOLVWff (1' $X[LOOLDUY )XQFWLRQ /RFDO6HOHFW 7KLV LV DQ DX[LOOLDU\ IXQFWLRQ WKDW VHOHFWV LQVWDQFHV RI D FODVV WKDW VDWLVI\ D VHOHFWLRQ FRQGLWLRQ SODFHG RQ GLUHFW RU ORFDO DWWULEXWHV RI D JLYHQ FODVV /RFDO6HOHFWe VHOFRQGff %(*,1 27+DQGOHUr KRW r 8VH LQGH[ LI DYDLODEOH RQ DWWULEXWHV VSHFLILHG LQ VHOHFWLRQ FRQGLWLRQ r $M DWWULEXWH XVHG LQ VHOFRQGf ,) H[LVWV,QGH[&n $Mf 7+(1 %(*,1 RLGOLVWf ,QGH[6HOHFW& $Mf@ UHWXUQ RLGOLVWff (1' RLGOLVWf QXOO DOORLGVf >KRWf§!JHW $,'Vf@ )25 S 72 >1R RI HOHPHQWV LQ DOORLGVf@ %(*,1 RLG >M@ 2M@ IODJ >DSSO\ VHOFRQGff§2M@ ,) IODJ VXFFHVVf 7+(1 >RLGOLVWff§«LQVHUW(OHPHQW2Mf@ (1' UHWXUQ RLGOLVWff (1' % 6WDU VWDU& RLGOLVWf &MW DVVRFQDPHff %(*,1 'LF+DQGOHUr KQF? 27+DQGOHUr KRW@ r &KHFN LI FODVV LV YDOLG r ,) 127 >tGLFf§}LV&ODVV&fM 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf r &KHFN LI FODVV LV YDOLG r ,) 127 >KGLFf§«LV&ODVV&nIFf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) &N>AGWFf§!JHW$VVRFLDWHG&ODVV&n DVVRFQDPHff@f 7+(1 UHWXUQ IDLOXUH 1R 6XFK $VVRFLDWLRQf ,) RLGOLVWf f¯DOOf° 7+(1 RLGOLVWf >KWf§«JHW$OO2,'V&Lf@

PAGE 213

2,'SDLU /LVW 2,'3DLUOLVWf )25 M 72 >1R RI RLGV LQ RLGOLVWf@ %(*,1 2M >RLGOLVWf f§}JHW(OHPHQW Mf@ RLGOLVWWHPS JHW5HIHUHQFH$WWULEXWH&rW2M DVVRFQDPHff ,) 127 RLGOLVWWHPS QXOOf 7+(1 )25 S 72 >1R RI HOHPHQWV LQ RLGOLVWWHPS@ %(*,1 2S >RLGOLVWWHPS f§«JHW(OHPHQWSf@ 2,'3DLUOLVWf f§!DGG(OHPHQW2¯ 3f (1' (1' UHWXUQ 2,'3DLUOLVWff (1' % 1RQ6WDU QRQ6WDU& RLGOLVWf &N DVVRFQDPHff %(*,1 'LF+DQGOHUr KGLFf¬ 27+DQGOHUr KW@ r &KHFN LI FODVV LV YDOLG r ,) 127 >IWGFf§+V&ODVV&fM 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf r &KHFN LI FODVV LV YDOLG r ,) 127 >IFrFrLV&ODVVIFf@ 7+(1 UHWXUQ IDLOXUH 1R 6XFK &ODVVf ,) &N>$GFf§JHW$VVRFLDWHG&ODVV& DVVRFQDPHff@f 7+(1 UHWXUQ IDLOXUH 1R 6XFK $VVRFLDWLRQf ,) RLGOLVWf f¯DOOf° 7+(1 RLGOLVWf >RWAJHW$,'V&nf@ RLGOLVWUHDXOW QXOO )25 M 72 >1R RI RLGV LQ RLGOLVWf@ %(*,1 2M >RLGOLVWff§«JHW(OHPHQW4f@ RLGOLVWWHPS JHW5HIHUHQFH$WWULEXWH2M DVVRFQDPHff ,) RLGOLVWWHPS QXOOf 7+(1 RLGOLVWUHDXOW f§«DGG(OHPHQW2Mf (1' UHWXUQ RLGOLVWUHDXOWf (1'

PAGE 214

$33(1',; & $/*25,7+06 )25 48(5< 352&(66,1* $OJRULWKPV IRU SURFHVVLQJ NH\ DVVRFLDWLRQ DOJHEUD RSHUDWRUV XVLQJ WKH DGMDFHQF\ PDWUL[ GDWD VWUXFWXUHV DUH SUHVHQWHG EHORZ 7KH DOJRULWKPV IRU WKH DVVRFLDWH DQG QRQDVVRFLDWH RSHUDWRUV KDYH EHHQ FDUHIXOO\ GHVLJQHG WR ILW LQ ZLWK WKH PRGHO DQG V\VWHP DQG XWLOL]H WKH FODVV LQGH[ SUHVHQWHG LQ &KDSWHU 7KH DOJRULWKPV IRU WKH XQLRQ DQG LQWHUVHFW RSHUDWRUV DUH VWUDLJKWIRUZDUG DQG QR RSWLPL]DWLRQ KDV EHHQ FDUULHG RXW ,Q SDUWLFXODU WKH DOJRULWKP IRU WKH LQWHUVHFW RSHUDWRU LV DQDORJRXV WR WKH QHVWHGORRS DOJRULWKP IRU WKH MRLQ RSHUDWRU LQ UHODWLRQDO V\VWHPV ,Q RUGHU WR DYRLG FRPSOH[LW\ WKH IROORZLQJ DOJRULWKPV DUH SUHVHQWHG DV DOJRULWKPLF VWHSV UDWKHU WKDQ DV SVHXGRFRGH &O $VVRFLDWH æ D æ >5&P &Qf? *LYHQ RF DWF*$0 RFLTWf ZKHUH D&*$0 &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI D ? ROLJWf§ ,QVWDQFH *UDSK 7DEOH RI D c 3FJDP 3LJWf ZKHUH ILF*$0f§ &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI c 3LJW ,QVWDQFH *UDSK 7DEOH RI c 6WHS *HQHUDWH &*$0 RI UHVXOW FJDP PHUJH ^ROFJDP 3FJDPf 6WHS &RQVWUXFW FODVV LQGH[ IRU D DFL FODVV LQGH[ RQ FODVV &P RI D E\ GHIDXOW &P LV WKH ULJKWPRVW FODVV LQ Df 6WHS &RQVWUXFW FODVV LQGH[ IRU c FL FODVV LQGH[ RQ FODVV &Q RI " E\ GHIDXOW &Q LV WKH OHIWPRVW FODVV LQ cf

PAGE 215

6WHS f« ,QYRNH REMHFW PDQDJHU &DOO VWDU RSHUDWLRQ RI REMHFW PDQDJHU ; DUUD\ RI RLGV RI &P LQ D HDVLO\ GHWHUPLQHG IURP FODVV LQGH[f U DUUD\ RI RLG SDLUV VWDUP &f± ; 5f 6WHS 0DUN 3KDVH ,WHUDWH RYHU D )RU HDFK HOHPHQW FUN LQ D 2QN RLG RI &Q LQ FUN ,I 2QN H[LVWV LQ WKH FODVV LQGH[ cFL WKHQ NHHS DN HOVH GHOHWH MN FU QHZ DUUD\ RI RLG SDLUV ZKHUH D 4FU 6WHS *HQHUDWH ,*7 RI UHVXOW ,WHUDWH RYHU D )RU HDFK HOHPHQW D LQ £ 2QL RLG RI &Q LQ FU 2PO RLG RI &P LQ r D URZ RI LJW FRQFDWHQDWH WKH URZ IURP FNJWFRQWDLQLQJ 2Pc DQG WKH URZ IURP cLJW FRQWDLQLQJ 2Qc ,*7 RI UHVXOW JW FJDP LJWf 6SHFLDO &DVHV &DVH LV D VLQJOH FODVV ,Q WKLV FDVH WKH DOJRULWKP UHPDLQV WKH VDPH H[FHSW WKDW VWHSV DQG DUH QRW QHHGHG DQG WKH UHVXOW JHQHUDWLRQ SKDVH LQYROYHV D FRQFDWHQDWLRQ EHWZHHQ URZV RI D MRWZLWK D VLQJOH DUUD\ RI FODVV &P &DVH D LV D VLQJOH FODVV 7KLV LV WKH VDPH DV FDVH ZLWK D DQG LQWHUFKDQJHG &DVH D DQG c DUH ERWK VLQJOH FODVVHV ,Q WKLV FDVH WKH DERYH DOJRULWKP GRHV QRW DSSO\ LQVWHDG WKH REMHFW PDQDJHU VWDU IXQFWLRQ LV FDOOHG GLUHFWO\

PAGE 216

& 1RQ$VVRFLDWHIf D?>5&P&Qf@ *LYHQ D RWF*$0 D LJWf ZKHUH tFJDP &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI D WrLJW ,QVWDQFH *UDSK 7DEOH RI D O6FJDP LJWf ZKHUH FJDP &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI LJW ,QVWDQFH *UDSK 7DEOH RI 6WHS *HQHUDWH &*$0 RI UHVXOW n&*$0f§ PHUJH RLFJDP FJDPf 6WHS &RQVWUXFW FODVV LQGH[ IRU D FHFL FODVV LQGH[ RQ FODVV &P RI D E\ GHIDXOW &P LV WKH ULJKWPRVW FODVV LQ Df 6WHS &RQVWUXFW FODVV LQGH[ IRU FL FODVV LQGH[ RQ FODVV &Q RI E\ GHIDXOW &Q LV WKH OHIWPRVW FODVV LQ f 6WHS ,QYRNH REMHFW PDQDJHU &DOO VWDU RSHUDWLRQ RI REMHFW PDQDJHU ; f§ DUUD\ RI RLGV RI &P LQ R HDVLO\ GHWHUPLQHG IURP FODVV LQGH[f D DUUD\ RI RLG SDLUV VWDU*P &Q ; 5f 6WHS 0DUN 3KDVH ,WHUDWH RYHU D )RU HDFK HOHPHQW UN LQ D 2PN RLG RI &P LQ DN 2QN RLG RI &Q LQ DN ,I 2PN H[LVWV LQ FODVV LQGH[ DFL WKHQ PDUN DV GHOHWH WKH HQWU\ LQ DFL FRUUHVSRQGLQJ WR 2PN ,I 2QN H[LVWV LQ FODVV LQGH[ FL WKHQ PDUN DV GHOHWH WKH HQWU\ LQ FL FRUUHVSRQGLQJ WR 2QN 6WHS *HQHUDWH ,*7 RI UHVXOW ,WHUDWH RYHU DFL )RU HDFK HOHPHQW DFL7 LQ DFL QRW PDUNHG DV GHOHWH URZV RI LJWf§ URZV IURP DcJW KDYLQJ DFLU DV LQGH[ HOHPHQW ,WHUDWH RYHU FL )RU HDFK HOHPHQW FL LQ "FQRW PDUNHG DV GHOHWH URZV RI LJW URZV IURP LJW KDYLQJ FL DV LQGH[ HOHPHQW

PAGE 217

,*7 RI UHVXOW JW ,&*$0L ,*7f & 8QLRQIf D *LYHQ D FWF*$0 RJWf ZKHUH R¯FJDPf§ &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI D LJWf§ ,QVWDQFH *UDSK 7DEOH RI D 3 3FJDP 3LJWf ZKHUH 3FJDP &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI c 3LJWf§ ,QVWDQFH *UDSK 7DEOH RI 3 6WHS *HQHUDWH &*$0 RI UHVXOW FJDP PHUJH FLFJDP 3F JDPf 6WHS *HQHUDWH ,*7 RI UHVXOW ,WHUDWH RYHU FFLJW )RU HDFK HOHPHQW D*7U LQ rLJW D URZ RI LJWf§ FRUUHVSRQGLQJ URZ IURP TcLJW ,WHUDWH RYHU 3LJW )RU HDFK HOHPHQW 3LJW P 3LJW D URZ RI LJW FRUUHVSRQGLQJ URZ IURP 3LJW ,*7 RI UHVXOW LJW ^L&*$0L LJWf & ,QWHUVHFWA}f D fµ ^:`3 *LYHQ R¯f§ R¯FJDP LJWf ZKHUH R¯FJDPf§ &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI D R¯ LJW ,QVWDQFH *UDSK 7DEOH RI D 3 3FJDP 3LJWf ZKHUH 3F JDPf§ &ODVV *UDSK $GMDFHQF\ 0DWUL[ RI 3 3LJWf§ ,QVWDQFH *UDSK 7DEOH RI 3 : ,QWHUVHFWLRQ SDWWHUQ 6WHS *HQHUDWH &*$0 RI UHVXOW FJDPf§ PHUJH R¯FJDP 3FJDPf

PAGE 218

6WHS *HQHUDWH ,*7 RI UHVXOW ,WHUDWH RYHU RFLJW DQG 3LJW )RU HDFK HOHPHQW DLDUU LQ rLJW )RU HDFK HOHPHQW JWr LQ LJW LI :U :D WKHQ D URZ RI MJW LQWHUVHFWLRQ RI RFLJWW DQG cJWr ,*7 RI UHVXOW LJW ^ F JDP ,LJWf

PAGE 219

5()(5(1&(6 >$%,@ >$%,@ >$%5@ >$*5@ >$+@ >$/$D@ >$/$E@ >$/%@ >$//@ >$1'@ >$67@ 6 $ELWHERXO 0 6FKROO * *DUGDULQ DQG ( 6LPRQ f¯7RZDUGV '%06V IRU VXSSRUWLQJ QHZ DSSOLFDWLRQVf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV .\RWR -DSDQ $XJ 6 $ELWHERXO DQG 5 +XOO f¯,)2 $ )RUPDO 6HPDQWLF 'DWDEDVH 0RGHOf° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R 5 $EULDO 'DWD 6HPDQWLFV 'DWD%DVH 0DQDJHPHQW 1RUWK+ROODQG $PVWHUGDP 5 $JUDZDO DQG 1 + *HKDQL f¯2'( 2EMHFW 'DWDEDVH DQG (QYLURQn PHQWf 7KH /DQJXDJH DQG WKH 'DWD 0RGHOf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD 3RUWODQG 25 0D\ $ 9 $KR ( +RSFURIW DQG ' 8OOPDQ 'DWD 6WUXFWXUHV DQG $OJRULWKPV $GGLVRQ :HVOH\ 5HDGLQJ 0$ $ 0 $ODVKTXU f¯$ 4XHU\ 0RGHO DQG 4XHU\ DQG .QRZOHGJH 'HILQLWLRQ /DQJXDJHV IRU 2EMHFW2ULHQWHG 'DWDEDVHVf° 3K' 'LVVHUWDWLRQ 'HSW RI (OHFWULFDO (QJLQHHULQJ 8QLY RI )ORULGD $ 0 $ODVKTXU 6 < : 6X DQG + /DP f¯24/ $ 4XHU\ /DQJXDJH IRU 0DQLSXODWLQJ 2EMHFWRULHQWHG 'DWDEDVHVf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV $PVWHUGDP +ROn ODQG $XJ $ $OEDQR / &DUGHOOL DQG 5 2UVLQL f¯*DOLOHR $ 6WURQJO\ 7\SHG ,Qn WHUDFWLYH &RQFHSWXDO /DQJXDJHf° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\Vn WHPV 9RO 1R ( $OOFKLQ $ 0 .HOOHU DQG * :LHGHUKROG f¯)/$6+ $ /DQJXDJH ,QGHSHQGHQW 3RUWDEOH )LOH $FFHVV 6\VWHPf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD 6DQWD 0RQLFD &$ 0D\ 7 $QGUHZV DQG & +DUULV f¯&RPELQLQJ /DQJXDJH DQG 'DWDEDVH $Gn YDQFHV LQ DQ 2EMHFWRULHQWHG 'HYHORSPHQW (QYLURQPHQWf° 3URFHHGLQJV RI $&0 2236/$ 2UODQGR )/ 2FW 0 $VWUDKDQ 0 : %ODVJHQ ' ' &KDPEHUOLQ . 3 (VZDUDQ 1 *UD\ 3 3 *ULIILWKV : ) .LQJ 5 $ /RULH 3 5 0F-RQHV : 0HKO * 5 3XW]ROX , / 7UDLJHU % : :DGH DQG 9 :DWVRQ f¯6\VWHP 5 $ 5HODWLRQDO $SSURDFK WR 'DWDEDVH 0DQDJHPHQWf° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R

PAGE 220

>$7.@ >%$1D@ >%$1E@ >%$1@ >%$7@ >%$7@ >%,5@ >%2%@ >%@ >%5@ >&$5@ >&$5D@ >&$5E@ >&+$@ 0 3 $WNLQVRQ ) %DQFLOKRQ ' 'H:LWW . 'LWWULFK ' 0DLHU DQG 6 =GRQLN f¯7KH 2EMHFW2ULHQWHG 'DWDEDVH 6\VWHP 0DQLIHVWRf° $OWDLU 7HFKQLFDO 5HSRUW 5RFTXHQFRXUW )UDQFH $XJ %DQHUMHH : .LP + .LP DQG + ) .RUWK f¯6HPDQWLFV DQG ,PSOHPHQWDWLRQ RI 6FKHPD (YROXWLRQ LQ 2EMHFWRULHQWHG 'DWDEDVHVf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQn DJHPHQW RI 'DWD 6DQ )UDQFLVFR &$ 0D\ %DQHUMHH + 7 &KRX ) *DU]D : .LP ' :RHON 1 %DOORX DQG + .LP f¯'DWD 0RGHO ,VVXHV IRU 2EMHFWRULHQWHG $SSOLFDWLRQVf° $&0 7UDQVDFWLRQV RQ 2IILFH ,QIRUPDWLRQ 6\VWHPV 9RO 1R %DQHUMHH : .LP DQG . & .LP f¯4XHULHV LQ 2EMHFW2ULHQWHG 'DWDEDVHVf° 3URFHHGLQJV RI WKH WK ,((( &RQIHUHQFH RQ 'DWD (QJLn QHHULQJ /RV $QJHOHV &$ )HE ' 6 %DWRU\ DQG : .LP f¯0RGHOLQJ &RQFHSWV IRU 9/6, &$' REMHFWV f° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R ' 6 %DWRU\ 5 %DUQHWW ) *DU]D . 3 6PLWK . 7VXNXGD % & 7ZLFKHOO DQG 7 ( :LVH f¯*(1(6,6 $Q ([WHQVLEOH 'DWDEDVH 0DQn DJHPHQW 6\VWHPf° ,((( 7UDQVDFWLRQV RQ 6RIWZDUH (QJLQHHULQJ 9RO 1R * %LUWZLVWOH 'DKO % 0\KUWDJ DQG . 1\JDDUG 6LPXOD %HJLQ $XHUEDFK 3UHVV 3KLODGHOSKLD 3$ ' * %REURZ DQG 0 6WHILN 7KH /RRSV 0DQXDO ;HUR[ 3DOR $OWR 5HVHDUFK &HQWHU 3$5&f 3DOR $OWR &$ * %RRFK f¯2EMHFW2ULHQWHG 'HYHORSPHQWf° ,((( 7UDQVDFWLRQV RQ 6RIWZDUH (QJLQHHULQJ 9RO 6( 1R 0 / %URGLH DQG 0 -DUNH f¯2Q ,QWHJUDWLQJ /RJLF 3URJUDPPLQJ DQG 'DWDEDVHVf° 3URFHHGLQJV RI WKH )LUVW ,QWHUQDWLRQDO :RUNVKRS RQ ([SHUW 'DWDEDVH 6\VWHPV .LZDK ,VODQG 6& 0 &DUH\ ' 'H:LWW DQG 6 / 9DQGHQEHUJ f¯$ 'DWD 0RGHO DQG 4XHU\ /DQJXDJH IRU (;2'86f° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD &KLFDJR ,/ -XQH 0 &DUH\ ' 'H:LWW ( 5LFKDUGVRQ DQG ( 6KHNLWD f¯2En MHFW DQG )LOH 0DQDJHPHQW LQ WKH (;2'86 ([WHQVLEOH 'DWDEDVH 6\Vn WHPf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV 7RN\R -DSDQ $XJ 0 &DUH\ ' 'H:LWW ' )UDQN * *UDHIH 0 0XUDOLNULVKQD ( 5LFKDUGVRQ DQG ( 6KHNLWD f¯7KH $UFKLWHFWXUH RI WKH ([Rn GXV ([WHQVLEOH '%06f° 3URFHHGLQJV RI WKH ,QWHUQDWLRQDO :RUNVKRS RQ 2EMHFW2ULHQWHG 'DWDEDVH 6\VWHPV 3DFLILF *URYH &$ 6HSW $ &KDQ 6 'DQEHUJ 6 )R[ : . /LQ $ 1RUL DQG ' 5LHV f¯6WRUDJH DQG $FFHVV 6WUXFWXUHV WR 6XSSRUW D 6HPDQWLF 'DWD 0RGHOf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV 6HSW

PAGE 221

>&+(@ >&+@ >&+8@ >&2'@ >&2,@ >&21@ >&23 @ >'$'@ >'(3@ >',7@ >',7@ >'6@ >),6@ >),6@ 3 3 &KHQ f¯7KH (QWLW\5HODWLRQVKLS 0RGHO 7RZDUGV D 8QLILHG 9LHZ RI 'DWDf° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R + 7 &KRX ' 'H:LWW 5 + .DW] DQG $ & .OXJ f¯'HVLJQ DQG ,PSOHPHQWDWLRQ RI WKH :LVFRQVLQ 6WRUDJH 6\VWHPf° 6RIWZDUH 3UDFWLFH DQG ([SHULHQFH 9RO 1R + 6 &KXDQJ f¯2SHUDWLRQDO 5XOH 3URFHVVLQJ LQ D 3URWRW\SH 26$0r .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPf° 06 WKHVLV 8QLYHUVLW\ RI )ORULGD ( ) &RGG f¯$ 5HODWLRQDO 0RGHO RI 'DWD IRU /DUJH 6KDUHG 'DWD %DQNVf° &RPPXQLFDWLRQV RI $&0 9RO 1R 3 &RLQWH f¯0HWDFODVVHV DUH )LUVW &ODVV WKH 2EM9/LVS 0RGHOf° 3URn FHHGLQJV RI $&0 2236/$ 2UODQGR )/ 2FW / / &RQVWDQWLQH DQG (
PAGE 222

>*$1@ >*2/@ >*82@ >*8@ >+$$@ >+$0@ >+8//@ >-$&@ >.(5@ >.(5@ >.+@ >.,&@ >.,0D@ >.,0@ RI WKH ,ULV '%06f° LQ 2EMHFW 2ULHQWHG &RQFHSWV 'DWDEDVHV DQG $Sn SOLFDWLRQV : .LP DQG )+ /RFKRYVN\ HGf $&0 3UHVV 1HZ
PAGE 223

>.,0E@ >.,0@ >/$:@ >/(&@ >/(&@ >/,1@ >/,6@ >/2+@ >/@ >/25@ >/8@ >0$(@ >0$,D@ >0$,E@ >0,7@ : .LP . & .LP DQG $ 'DOH f¯,QGH[LQJ 7HFKQLTXHV IRU 2EMHFW 2ULHQWHG 'DWDEDVHVf° LQ 2EMHFW2ULHQWHG &RQFHSWV 'DWDEDVHV DQG $Sn SOLFDWLRQV : .LP DQG ) /RFKRYVN\ HGf $GGLVRQ :HVOH\ 5HDGLQJ 0$ : .LP 1 %DOORX %DQHUMHH + 7 &KRX ) *DU]D DQG ' :RHON f¯,QWHJUDWLQJ DQ 2EMHFW 2ULHQWHG 3URJUDPPLQJ 6\VWHP ZLWK D 'DWDEDVH 6\VWHPf° 3URFHHGLQJV RI $&0 2236/$ 6DQ 'LHJR &$ 6HSW 6 ) /DZ f¯2EMHFWRULHQWHG 'HVLJQ DQG ,PSOHPHQWDWLRQ RI D .HUQHO 2EMHFW 0DQDJHUf° 06 7KHVLV 8QLYHUVLW\ RI )ORULGD & /HFOXVH 3 5LFKDUG DQG ) 9HOH] f¯2 DQ 2EMHFW 2ULHQWHG 'DWD 0RGHOf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD &KLFDJR ,/ -XQH & /HFOXVH DQG 3 5LFKDUG f¯7KH 2 'DWDEDVH 3URJUDPPLQJ /DQn JXDJHf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV $PVWHUGDP +ROODQG $XJ % /LQGVD\ 0F3KHUVRQ DQG + 3LUDKHVK f¯$ 'DWDEDVH 0DQDJHPHQW ([WHQVLRQ $UFKLWHFWXUHf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDn WLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD 6DQ )UDQFLVFR 0D\ % /LVNRY DQG *XWWDJ $EVWUDFWLRQ DQG 6SHFLILFDWLRQ LQ 3URJUDP 'HYHORSPHQW 7KH 0,7 3UHVV &DPEULGJH 0$ * /RKPDQ f¯*UDPPDUOLNH )XQFWLRQDO 5XOHV IRU 5HSUHVHQWLQJ 4XHU\ 2SWLPL]DWLRQ $OWHUQDWLYHVf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUn QDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD &KLFDJR ,/ -XQH 0 ( 6 /RRPLV f¯'DWD 0RGHOLQJ 7KH ,'(); 7HFKQLTXHf° ,((( &RPPXQLFDWLRQV 0DUFK 5 /RULH DQG : 3ORXIIH f¯&RPSOH[ 2EMHFWV DQG WKHLU XVH LQ 'HVLJQ 7UDQVDFWLRQV f° 3URFHHGLQJV RI WKH $&0 FRQIHUHQFH RQ 'DWDEDVHV IRU (QJLQHHULQJ $SSOLFDWLRQV 0D\ / /X f¯$ 4XHU\ 3URFHVVRU IRU DQ 2EMHFWRULHQWHG 4XHU\ /DQJXDJHf° 06 7KHVLV 8QLYHUVLW\ RI )ORULGD 3 0DHV f¯&RQFHSWV DQG ([SHULPHQWV LQ &RPSXWDWLRQDO 5HIOHFWLRQf° 3URFHHGLQJV RI $&0 2236/$ 2UODQGR )/ 2FW ' 0DLHU 6WHLQ $ 2WLV DQG $ 3XUG\ f¯'HYHORSPHQW RI DQ 2EMHFW 2ULHQWHG '%06f° 3URFHHGLQJV RI $&0 2236/$ 3RUWODQG 25 2FW ' 0DLHU DQG 6WHLQ f¯,QGH[LQJ LQ DQ 2EMHFWRULHQWHG '%06f° 3URn FHHGLQJV RI WKH ,QWHUQDWLRQDO :RUNVKRS RQ 2EMHFW2ULHQWHG 'DWDEDVH 6\VWHPV 3DFLILF *URYH &$ 6HSW 0 0LWFKHOO <
PAGE 224

>025@ >0217@ >217@ >3$8@ >3(&@ >385@ >5$6@ >5$6@ >52:@ >6&+@ >6&+@ >6&+@ >6(5@ 0 0RUJHQVWHUQ f¯7KH 5ROH RI &RQVWUDLQWV LQ 'DWDEDVHV ([SHUW 6\Vn WHPV DQG .QRZOHGJH 5HSUHVHQWDWLRQf° 3URFHHGLQJV RI WKH )LUVW ,QWHUn QDWLRQDO :RUNVKRS RQ ([SHUW 'DWDEDVH 6\VWHPV .LZDK ,VODQG 6& 0\ORSRORXV 3 $ %HUQVWHLQ DQG + . 7 :RQJ f¯$ /DQJXDJH )DFLOn LW\ IRU 'HVLJQLQJ 'DWDEDVH,QWHQVLYH $SSOLFDWLRQVf° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R 2QWRORJLF ,QF 9%$6( ,QWHJUDWHG 2EMHFW 'DWDEDVH 6\VWHP 'RFXn PHQWDWLRQ 9HUVLRQ 2QWRORJLF ,QF 21726 2EMHFW 'DWDEDVH 6\VWHP 'RFXPHQWDWLRQ 9HUVLRQ + % 3DXO + 6FKHFN 0 6FKROO * :HLNXP DQG 8 'HSSLVFK f¯$UFKLWHFWXUH DQG ,PSOHPHQWDWLRQ RI WKH 'DUPVWDGW 'DWDEDVH .HUQHO 6\VWHPf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD 6DQ )UDQFLVFR &$ 0D\ 3HFNKDP DQG ) 0DU\DQVNL f¯6HPDQWLF 'DWD 0RGHOVf° $&0 &RPn SXWLQJ 6XUYH\V 9RO 1R 6 3XUDQLN f¯$ 'DWD 'HILQLWLRQ /DQJXDJH IRU WKH 2EMHFWRULHQWHG 6Hn PDQWLF $VVRFLDWLRQ 0RGHO DQG $OJRULWKPV IRU ,QWHOOLJHQW 4XHU\ 3URn FHVVLQJf° 06 WKHVLV 8QLYHUVLW\ RI )ORULGD / 5DVFKLG f¯'HVLJQ DQG ,PSOHPHQWDWLRQ 7HFKQLTXHV IRU DQ ,QWHJUDWHG .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPf° 3K' 'LVVHUWDWLRQ 'HSW RI (OHFWULFDO (QJLQHHULQJ 8QLYHUVLW\ RI )ORULGD / 5DVFKLG DQG 6 < : 6X f¯$ 7UDQVDFWLRQV 2ULHQWHG 0HFKDQLVP WR &RQWURO 3URFHVVLQJ LQ D .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPf° 3URn FHHGLQJV RI WKH ,QWHUQDWLRQDO &RQIHUHQFH RQ ([SHUW 'DWDEDVH 6\VWHPV $SULO / 5RZH DQG 0 6WRQHEUDNHU f¯7KH 3267*5(6 'DWD 0RGHOf° 3URn FHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV %ULJKWRQ (QJODQG 6HSW + 6FKHN DQG 3 3LVWRU f¯'DWD 6WUXFWXUHV IRU DQ ,QWHJUDWHG 'DWDEDVH 0DQDJHPHQW DQG ,QIRUPDWLRQ 5HWULHYDO 6\VWHPf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV ' $ 6FKHQFN f¯,QIRUPDWLRQ 0RGHOLQJ /DQJXDJH (;35(66f° /DQn JXDJH 5HIHUHQFH 0DQXDO ,62 7&6&:* 1 0D\ 3 0 6FKZDU] : &KDQJH & )UH\WDJ * 0 /RKPDQ 0F3KHUn VRQ & 0RKDQ DQG + 3LUDKHVK f¯([WHQVLELOLW\ LQ WKH 6WDUEXUVW 'DWDn EDVH 6\VWHPf° 3URFHHGLQJV RI WKH ,QWHUQDWLRQDO :RUNVKRS RQ 2EMHFW 2ULHQWHG 'DWDEDVH 6\VWHPV 3DFLILF *URYH &$ 6HSW 6HUYLR /RJLF 'HYHORSPHQW &RUSRUDWLRQ 2SDO 3URJUDPPLQJ (QYLURQn PHQW 23(f 9HUVLRQ

PAGE 225

>6+,@ ' 6KLSPDQ f¯7KH )XQFWLRQDO 'DWD 0RGHO DQG WKH 'DWD /DQJXDJH '$3/(;f° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R >6+<@ < 0 6K\\ DQG 6 < : 6X f¯. $ 0XOWLSDUDGLJP .QRZOHGJH %DVH 3URJUDPPLQJ /DQJXDJH IRU $GYDQFHG 'DWDEDVHVf° 3URFHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHPHQW RI 'DWD 'HQYHU &2 0D\ >6,1@ 0 6LQJK f¯7UDQVDFWLRQ 2ULHQWHG 5XOH 3URFHVVLQJ LQ DQ 2EMHFWRULHQWHG .QRZOHGJH %DVH 0DQDJHPHQW 6\VWHPf° 06 WKHVLV 8QLYHUVLW\ RI )ORULGD >6.$@ $ 6NDUUD 6 =GRQLN DQG 6 5HLVV f¯$Q 2EMHFW 6HUYHU IRU DQ 2EMHFW 2ULHQWHG 'DWDEDVH 6\VWHPf° 3URFHHGLQJV RI WKH ,QWHUQDWLRQDO :RUNn VKRS RQ 2EMHFW2ULHQWHG 'DWDEDVH 6\VWHPV 3DFLILF *URYH &$ 6HSW >60,@ 6PLWK DQG & 6PLWK f¯'DWDEDVH $EVWUDFWLRQV $JJUHJDWLRQ DQG *HQHUDOL]DWLRQf° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R >67@ 0 6WRQHEUDNHU f¯7KH 3267*5(6 6WRUDJH 6\VWHPf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV %ULJKWRQ (QJODQG 6HSW >67@ 0 6WRQHEUDNHU DQG / $ 5RZH f¯7KH 'HVLJQ RI 3267*5(6f° 3URn FHHGLQJV RI WKH $&0 6,*02' ,QWHUQDWLRQDO &RQIHUHQFH RQ 0DQDJHn PHQW RI 'DWD :DVKLQJWRQ '& 0D\ >67@ 0 6WRQHEUDNHU ( :RQJ 3 .UHSSV DQG * +HOG f¯7KH 'HVLJQ DQG ,PSOHPHQWDWLRQ RI ,1*5(6f° $&0 7UDQVDFWLRQV RQ 'DWDEDVH 6\VWHPV 9RO 1R >675@ % 6WURXVWUXS 7KH & 3URJUDPPLQJ /DQJXDJH $GGLVRQ:HVOH\ 5HDGLQJ 0$ >68@ 6 < : 6X f¯6$0r $ 6HPDQWLF $VVRFLDWLRQ 0RGHO IRU &RUSRUDWH DQG 6FLHQWLILF6WDWLVWLFDO 'DWDEDVHf° -RXUQDO RI ,QIRUPDWLRQ 6FLHQFHV >68@ 6 < : 6X DQG $ $ODVKTXU f¯$ 3DWWHUQEDVHG &RQVWUDLQW 6SHFLILFDn WLRQ /DQJXDJH IRU 2EMHFWRULHQWHG 'DWDEDVHVf° 3URFHHGLQJV RI &203 &21 6SULQJ >68@ 6 < : 6X DQG / 5DVFKLG f¯,QFRUSRUDWLQJ .QRZOHGJH 5XOHV LQ D 6Hn PDQWLF 'DWD 0RGHO $Q $SSURDFK WR ,QWHJUDWHG .QRZOHGJH 0DQDJHn PHQWf° ,((( &RQIHUHQFH RQ $UWLILFLDO ,QWHOOLJHQFH $SSOLFDWLRQV 0LDPL )/ >68@ 6 < : 6X 0 *XR DQG + /DP f¯$VVRFLDWLRQ $OJHEUD $ 0DWKn HPDWLFDO )RXQGDWLRQ IRU 2EMHFW 2ULHQWHG 'DWDEDVHVf° 6XEPLWWHG IRU SXEOLFDWLRQ 'DWDEDVH 6\VWHPV 5 t ' &HQWHU 8QLYHUVLW\ RI )ORULGD

PAGE 226

>68@ >7+@ >9(/@ >9(5@ >;,$@ ><$6@ ><$6@ >=$1@ 6 < : 6X 9 .ULVKQDPXUWK\ DQG + /DP f¯$Q 2EMHFWRULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rff° LQ $, LQ ,QGXVWULDO (QJLQHHULQJ DQG 0DQXIDFWXULQJ 7KHRUHWLFDO ,VVXHV DQG $SSOLFDWLRQV 6 .XPDUD DQG 5 / .DVK\DS HGf $PHULFDQ ,QVWLWXWH RI ,QGXVWULDO (QJLQHHULQJ & 7KRPSVRQ ' :HOOV %ODNHOH\ 7 %DQQRQ &KHQ 6 )RUG 7 (NEHUJ $ *XSWD -RVHSK ( 3HUH] ' 6SDUDFLQ % 3HWHUVRQ 0 6KDGRZHQV & :DQJ DQG 6 7KDWWH f¯2SHQ $UFKLWHFWXUH IRU 2EMHFW RULHQWHG 'DWDEDVH 6\VWHPVf° 7HFK 5HSRUW ,QIRUPDWLRQ 7HFKn QRORJLHV /DERUDWRU\ 7H[DV ,QVWUXPHQWV 'DOODV 7; ) 9HOH] * %HUQDUG DQG 9 'DUQLV f¯7KH 2 2EMHFW 0DQDJHU $Q 2YHUYLHZf° 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO &RQIHUHQFH RQ 9HU\ /DUJH 'DWDEDVHV $PVWHUGDP +ROODQG $XJ * 0 $ 9HUKHLMHQ DQG 9DQ %HNNXP f¯1,$0 $Q ,QIRUPDWLRQ $QDO\VLV 0HWKRGf° LQ ,QIRUPDWLRQ 6\VWHPV 'HVLJQ 0HWKRGRORJLHV $ &RPSDUDWLYH 5HYLHZ 7: 2OOH +* 6RO DQG * 9HUULMQ6WXDUW HGf 1RUWK +ROODQG ' ;LD f¯7KH ,PSOHPHQWDWLRQ RI 26$0r .%06 3URWRW\SH LQ 9EDVHf° ,QWHUQDO 5HSRUW 'DWDEDVH 6\VWHPV 5HVHDUFK DQG 'HYHORSPHQW &HQWHU 8QLYHUVLW\ RI )ORULGD 5
PAGE 227

%,2*5$3+,&$/ 6.(7&+ 5DKLP
PAGE 228

, FHUWLI\ WKDW , KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ 6WDQOH\ < : 6UX\ &KDLUPDQ 3URIHVVRU RI (OHFWULFDO (QJLQHHULQJ , FHUWLI\ WKDW , KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH[LHJUHH RI 'RFWRU RI 3KLORVRSK\ +HUPDQ /DP &RFKDLUPDQ $VVRFLDWH 3URIHVVRU RI (OHFWULFDO (QJLQHHULQJ , FHUWLI\ WKDW , KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ \2O IIO9 0Q.EAf§‘! 6KDPNDQW % 1DYDWKH 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFHV , FHUWLI\ WKDW , KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'SFWRU RI 3KLORVRSK\ .GLWK / 'RW\ 3URIHVVRU RI (OHFWULFDO (QJLQHHULQJ , FHUWLI\ WKDW , KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ &0n 5LFKDUG 1HZPDQ:ROIH $VVLVWDQW 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFHV

PAGE 229

7KLV GLVVHUWDWLRQ ZDV VXEPLWWHG WR WKH *UDGXDWH )DFXOW\ RI WKH &ROOHJH RI (QJLQHHULQJ DQG WR WKH *UDGXDWH 6FKRRO DQG ZDV DFFHSWHG DV SDUWLDO IXOILOOPHQW RI WKH UHTXLUHPHQWV IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ 'HFHPEHU :LQIUHG 0 3KLOOLSV 'HDQ &ROOHJH RI (QJLQHHULQJ 0DGHO\Q 0 /RFNKDUW 'HDQ *UDGXDWH 6FKRRO


59
RULE fmJLOl
Trigger-cond(After InsertObject(Father), After InsertObject(Mother))
IF context Person Father
THEN Person Mother
Corrective-action Message (A father and mother cannot
be the same person)
END
The above state rule, which is invoked after an object is inserted in the class
Father or class Mother is used to specify the constraint that the same person cannot
be a father or mother. Thus, the IF part of the rule body of rule fm_101 identifies
association patterns corresponding to persons who are fathers, and the THEN part
specifies the constraint that these persons should not be mothers.
Operational rules
An operational rule is a rule that performs an operation if a particular state in
the knowledge base exists when the rule is triggered. Although an operational rule
can serve to correct undesirable states that exist in the knowledge base by specifying
corrective actions which enable the knowledge base to return to a consistent state,
in general, any operation can be triggered. The IF clause of the rule body contains
an OQL Context Expression that specifies a particular state in terms of certain
association patterns that must exist. The THEN clause contains operations that
must be triggered when the IF part is satisfied. An example operational is now
described:
RULE s.121
Trigger-cond(After DeleteObject(Teacher),
After DeleteObject(Course), After DeleteObject(Location))
IF context Section !OR (Teacher, Course, Location)
THEN DeleteObject(Section)
END
The above operational rule, which is invoked after an object is deleted from the
class Teacher, class Course or class Location, is used to enforce the constraint that


95
been retrieved from disk) or determine the disk address (Idp2) of 2 and bring it in
to memory.
In this technique, the storage level view of object references supports the notion
of data independence for object references, since objects are not required to know
the address formats used by the underlying system. In order to support the notion
of layering, such data independence is necessary. For this reason, we will adopt this
technique of identity references.
We now describe how we use this technique to achieve object references in our
approach. In Figure 6.5, we illustrate this storage strategy for object references for
1:1 and l:n references in our approach.
When access to the referenced object is required, we use a simple lookup operator
(#) to return the virtual memory pointer (this lookup is initially done only once).
The lookup operator(#) provides transparent object access: if the object is already
present in main memory, the corresponding virtual memory pointer is returned,
otherwise the object is retrieved from disk, and the virtual memory pointer returned.
The application deals only with identity and memory pointers. It never sees the disk
pointers, and thus does not have to keep track of disk pointers. This technique is
illustrated below using C++ like code;
I ID x; /* x represents an iid */
OBJECT* y; /* y represents a virtual memory pointer to any object */
x = select (Person, ssn = 111222333);
/* assign x to the iid of a given person */
y = #x ;
/* assign y to the virtual memory pointer of x */


ACKNOWLEDGMENTS
I wish to thank the following people for their contributions throughout the du
ration of my graduate studies. My sincere appreciation goes out to Dr. Stanley Su
for giving me the opportunity to work in the challenging area of object-oriented and
extensible knowledge base management systems. Without his thought-provoking
guidance, inspiring technical discussions, and steadfast support this work could not
have been realized. I am deeply grateful to Dr. Herman Lam, the co-chairman of
my supervisory committee, for valuable technical guidance, for continuous encour
agement and thought-provoking suggestions, and for always being there. I thank
Dr. Sham Navathe for fruitful technical discussions and for access to his personal
library. I would like to thank Dr. Keith Doty and Dr. Richard Newmann-Wolfe for
their time and for agreeing to serve on my supervisory committee. I also wish to
thank Dr. Sharma Chakravarthy for valuable discussions on various technical issues.
My special thanks go to Sharon Grant whose help has been simply immense. On
a personal note, I thank all my friends, too numerous to list, for making my stay
in Gainesville a pleasant and memorable one. I take this opportunity to thank Dr.
Tom Bullock for being my mentor at the beginning of my stay in Gainesville. My
heartfelt gratitude goes out to my family for always being there when I needed them,
especially my brother, Iqbal, for his financial help and for being an inspiring force
in my life. Finally, I wish to thank Mohini for so gracefully putting up with all the
ups and downs of the last few years.
iv


APPENDIX B
ALGORITHMS FOR KERNEL OBJECT OPERATORS
Alogritlims for processing the kernel object manipulation operators are presented
below. These algorithms are used to realize the distributed model of storage, and
the corresponding inheritance strategies. The algorithms are written using a C++
like pseudo-code syntax, and also illustrate the message-passing sequences.
B.l Create
Create-Object
create_Object();
BEGIN
IDHandler* h,d;
OID Of
Oj= [hid>CreateOid()];
return (Oj);
END
B.2 Insert
B.2.1 Insert-Instance
insert Jnstance(C,-, Oj, (arg-list));
BEGIN
DicHandler* hdif
OTHandler* hot]
/* Check if class is valid and if class already contains this instance */
IF NOT [fc*-c->isClass(C,i)]
THEN return (failure: No Such Class);
IF [hot>isInstanceOf(C'i, Oj)]
THEN return (failure: Instance Exists);
/* Generate a new storage instance with identity Oj in this class */
OBJECT* Pf /* Pointer to object Oj*/
Pj= [CWnew (Oj)];
Aoi Insert Entry (Oj, Pj)\
FOR p = 1 TO [No of elements in (arg-list)]
BEGIN
Argument[p] = [(arg-list)>getElement(p)] = (Ap, Vv)\
AttributeType = [hdic>getAttrType(0,-, Ap)}-,
191


167
associations are defined as the defining class and the associated classes as the
constituent classes.
Interaction association (I)
This is an association in which the interaction or relationship between objects of
two or more constituent classes is itself treated as an E-class object belonging to the
defining class. The nature of this association implies an referential constraint: an
object belonging to a class having an I-association, that is, the object that represents
the relationship, can exist only if the objects belonging to the constituent classes
exist. This association can also specify a cardinality constraint by specifying the
mapping between the constituent classes as l.T, l:n, n.T, or m:n. In Figure 8.1,
we show part of an example schema which contains an example I-association. This
schema represents a modification of the schema shown previously in Figure 4.2.
The class Advising models the advising relationship between faculty members and
graduate students. Thus, an object belonging to the class Advising exists only by
virtue of its relationships to objects in the classes Faculty and Grad. The aggregation
association for the class Advising is used to model a descriptive attribute, startDate.
This attribute (startDate) models some data which describes the relationship itself.
Composition association C1
This is an association in which the entire time-varying set of objects of each
constituent class is grouped together as a single E-class object (of the defining class).
Aggregation associations can then be specified for the defining class to describe the
properties of objects of the defining class. In Figure 8.2, we show an example of a
C-association, in which the class Partlnfo has a C-association with classes MechPart
and ElectPart. The attribute AvgWeight is used to describe the average weights of
the entire MechPart class and ElectPart class.


214
[SHI81] D. Shipman, The Functional Data Model and the Data Language
DAPLEX, ACM Transactions on Database Systems, Vol. 6, No. 1,
1981.
[SHY91] Y. M. Shyy, and S. Y. W. Su, K: A Multi-paradigm Knowledge
Base Programming Language for Advanced Databases, Proceedings of
the ACM SIGMOD International Conference on Management of Data,
Denver, CO, May 1991.
[SIN90] M. Singh, Transaction Oriented Rule Processing in an Object-oriented
Knowledge Base Management System, M.S. thesis, University of
Florida, 1990.
[SKA86] A. Skarra, S. Zdonik, and S. Reiss, An Object Server for an Object
Oriented Database System, Proceedings of the International Work
shop on Object-Oriented Database Systems, Pacific Grove, CA, Sept.,
1986.
[SMI77] J. Smith, and C. Smith, Database Abstractions: Aggregation and
Generalization, ACM Transactions on Database Systems, Vol. 2, No.
2, 1977.
[ST087] M. Stonebraker, The POSTGRES Storage System, Proceedings of
the 13th International Conference on Very Large Databases, Brighton,
England, Sept., 1987.
[ST086] M. Stonebraker, and L. A. Rowe, The Design of POSTGRES, Pro
ceedings of the ACM SIGMOD International Conference on Manage
ment of Data, Washington, DC, May, 1986.
[ST076] M. Stonebraker, E. Wong, P. Krepps, and G. Held, The Design and
Implementation of INGRES, ACM Transactions on Database Systems,
Vol. 1, No. 3, 1976.
[STR86] B. Stroustrup, The C++ Programming Language, Addison-Wesley,
Reading, MA, 1986.
[SU83] S. Y. W. Su, SAM*: A Semantic Association Model for Corporate
and Scientific/Statistical Database, Journal of Information Sciences,
29, 1983.
[SU91] S. Y. W. Su, and A. Alashqur, A Pattern-based Constraint Specifica
tion Language for Object-oriented Databases, Proceedings of COMP-
CON, Spring 1991.
[SU85] S. Y. W. Su, and L. Raschid, Incorporating Knowledge Rules in a Se
mantic Data Model: An Approach to Integrated Knowledge Manage
ment, IEEE Conference on Artificial Intelligence Applications, Miami,
FL, 1985.
[SU90] S. Y. W. Su, M. Guo, and H. Lam, Association Algebra: A Math
ematical Foundation for Object Oriented Databases, Submitted for
publication, Database Systems R &: D Center, University of Florida,
1990.


158
The implication at the THEN node produces a derived subdatabase using the
subdatabase corresponding to the IF clause of the rule. The CGAM and IGT cor
responding to the subdatabase derived by the rule are shown in Figure 7.15. These
data structures correspond to the Intensional Pattern and extensional diagram for
the derived subdatabase, shown previously in Figure 4.6. Thus, using this rule it is
possible to infer that object instance (f5, flO) of the class Father are associated with
object instances (p3, p7) of the class Person through a derived association called
grandfather.
F P
0109
F
P
f5
p3
flO
P7
Figure 7.15: Graph Representation of a Subdatabase Derived by a Rule
The CGAM supports such derived associations by the use of special codes in the
elements of the adjacency matrix to indicate derived associations. For the example
corresponding to the above rule, element X(f,p) of the CGAM contains the code 0109
where the 9 indicates a derived association or relationship (described previously in
Section 7.3) .
7.6 Implementation of Query Processor
7.6.1 System and Module Configuration
The system and module configuration of the query processor as a layer on top
of the Kernel Object Management System (ROMS) is shown in Figure 7.16. This


15
or mechanism by which extensibility is providedit is the language that is used by
the DBC or DBI for customizing the system. In order to provide extensibility, an
extensible library of type independent access methods is provided and a rule based
query optimizer and compiler has also been proposed. More recntly, an effort is
underway [CAR88] to incorporate an extensible data model on top of the existing
storage system. In Exodus, the initial focus has been mostly on physical extensibility.
Logical extensibility has been limited to features such as abstract data types, and
an extensible query optimizer. Data model extensions have not been investigated.
Genesis [BAT88] is designed as a modular system which relies on database com
ponents whose interfaces have been standardized in such a manner that they become
interchangeable. The concept of rapidly configuring a storage architecture by writing
a storage architecture specification program has been proposed. The system focuses
mainly on physical extensibility and is based on a model called the Unifying Model
(a variant of the network model). The storage components of a DBMS are considered
to be building blocks or modules that realize files (set of records), linksets (links be
tween records), and elementary transformations (conceptual to internal mappings).
A rigorous notion of data definition mappings and operation mappings from a logical
to a physical level is presented. Storage architectures are considered to be compo
sitions of such building blocks, and reconfiguration is carried out by synthesizing a
storage architecture using pre-existing blocks from an extensive library.
Postgres [ST086, ST087] is an extensible system which adds extensibility to the
relational data model. It is based on the relational model, with the stated goal of
making minimal changes to the relational model. It extends the relational model, at
the logical level, with the notions of user-defined ADTs. Thus, the logical extensibil
ity issues addressed are the definition and use of ADTs, and user defined operations
within the context of the relational data model. At the physical level, Postgres con
siders the addition and extension of access methods. Postgres supports Postquel (an


52
Query Language (QL) component. This language component must be declar
ative, provide set-oriented access, and provide an appropriate execution model
and concepts for query processing and object manipulation.
4. KBPL: A Knowledge Base Programming Language (KBPL) component that
is used for coding the methods of a given class. A KBPL must be compu
tationally complete (that is, possess the full capabilities of a general-purpose
programming language), facilitate integrated access to persistent objects, and
provide an appropriate model of execution (preferably, object-oriented). It is
also possible for the first three language components described above to be
incorporated into a single KBPL, thus providing an integrated language to
specify and process classes, rules, methods, and persistent objects.
An important issue is that these languages or language components be designed
to be compatible with and complementary to one another, and to support the struc
tural and behavioral abstractions of the data model. We note that it is possible to
design these four language components as individual languages or as a single inte
grated language, as long as the same functionality is achieved. In 0-0 programming
languages such as Smalltalk [GOL83] or C++ [STR86], the language represents an
integration of data definition and programming language components, with class def
inition being carried out separately from method implementation. Such languages
lack a data manipulation or query language component since the languages do not
support persistent objects, and a rule language component is not provided since the
languages do not support rules. In Database Programming Languages (DBPLs) such
as Opal [SER87] and Gallileo [ALB85], the programming language component is in
tegrated with a data manipulation component to process persistent objects. Such
languages do not support rules and lack the ability to specify declarative queries due
to the absence of a query language component.


204
Step 4 Invoke object manager
Call star operation of object manager
X = array of oids of Cm in a (easily determined from class index)
Step 5: Mark Phase
Iterate over a
For each element crk in a
Onk = oid of Cn in crk
If Onk exists in the class index ¡3ci
then keep ak
else delete cr = new array of oid pairs where a Qcr
Step 6: Generate IGT of result
Iterate over a
For each element a1 in
Oni = oid of Cn in cr1
Oml = oid of Cm in <7*
a row of 7igt= concatenate the row from ck/gtcontaining Om¡
and the row from ¡8igt containing On¡
IGT of result = 7/gt
7= (7cgam, 1igt)
Special Cases
Case 1: /5 is a single class. In this case, the algorithm remains the same except that
steps 3 and 5 are not needed and the result generation phase involves a concatenation
between rows of a jotwith a single array of class Cm.
Case 2: a is a single class. This is the same as case 1, with a and /3 interchanged.
Case 3: a and ¡3 are both single classes. In this case, the above algorithm does not
apply: instead, the object manager star function is called directly.


32
generically model functionally distinct system components (modules) in various lay
ers resulting in a system meta-architecture schemaa set of (system) classes which
axe used to describe and implement the software architecture of the system. To illus
trate this concept, Figure 3.5 shows a high-level (not detailed) schema of the model
of the system. Functional extensions are carried out through appropriate modifica
tions to the sub-schema corresponding to specific functional modules by using data
types, association types, methods, and rules. In this dissertation, we will illustrate
this approach using three important system modules, namely, a Kernel Object Man
ager, a Query/Rule Processor, and a Meta-model/Meta-information Management
Module. However, the same approach can be used in developing other modules such
as Storage Managers, Transaction Managers, etc.
Each chapter of this dissertation deals with some aspect of the extensible data
model and the open, modular and layered framework and architecture for next-gen
eration KBMSs.
The first feature of our approach is defining an extensible Kernel Object Model
(XKOM) to serve as a basis for the approach. Chapter 4 describes the extensible
Kernel Object Model (XKOM). We identify a set of basic or generalized data model
structural abstractions which include the generic notions of object, instance, class,
identity, and association. XKOM also provides behavioral abstractions in the form
of rules and methods. The specification of high-level declarative rules are included
as part of class definition. This allows for an integrated approach to knowledge
management. Another important aspect of the approach which is related to the
data model, namely, Model Reflexivity is also described in this chapter.
The class system that results from reflexively modeling the data model also
serves as a natural basis for managing meta-information. Chapter 5 describes the
use of this class system in the management of meta-information. In the approach
we propose for managing meta-information, an important feature is that data and


201
return( (oid-list));
END
Auxilliarv Function: LocalSelect
This is an auxilliary function that selects instances of a class that satisfy a selection
condition placed on direct or local attributes of a given class.
LocalSelect(£7,-, (sel-cond));
BEGIN
OTHandler* hot;
/* Use index if available on attributes specified in selection condition */
Aj = attribute used in (sel-cond);
IF existsIndex(C,', Aj)
THEN
BEGIN
(oid-list)= IndexSelect(C,-, Aj)]
return ((oid-list));
END
(oid-list) = null
(all-oids) = [hot>get A110IDs((7,)];
FOR p = 1 TO [No of elements in (all-oids)]
BEGIN
oid [j] = Oj]
flag = [apply (sel-cond)+Oj];
IF (flag = success)
THEN [(oid-list)insertElement(Oj)];
END
return ((oid-list));
END
B.5.3 Star
star(C, (oid-list), Cjt, (assoc-name));
BEGIN
DicHandler* hnc\
OTHandler* hot]
/* Check if class is valid */
IF NOT [/&dicisClass(C)j
THEN return (failure: No Such Class);
/* Check if class is valid */
IF NOT [hdicisClass(C'fc)]
THEN return (failure: No Such Class);
IF (Ck[^dtc>getAssociatedClass(C',-, (assoc-name))])
THEN return (failure: No Such Association);
IF (oid-list) = all
THEN (oid-list) = [h0tgetAllOIDs(Ci)];


127
Management System (KOMS). The other four operators (Associate, NonAssociate,
A-Union, and A-Intersect) are very important for generating the association pat
terns for query processing: algorithms for these operators and their implementation
are an integral part of the design and implementation of the query processor. Using
these four operators it is possible to compute a wide range of different queries. The
remaining operators are not often used in query processing. Rather, these remaining
operators together with the other operators collectively serve as a complete set of
algebra operators that define the formal and theoretical aspects of the algebra.
Association algebra operators
We briefly describe the semantic interpretation of four operators (Associate,
NonAssociate, A-Union, and A-Intersect) which will be used later in the query pro
cessing techniques. For complete details of all operators, the interested reader is
referred to [GUO90]. In describing these operators, an association-set, denoted by
a Greek letter (a, /3,7), represents a set of association patterns without duplicates.
An individual pattern belonging to the association set a, say the ith pattern, will be
denoted by a,-. All examples used below refer to the database schema and extension
shown in Figure 4.2 and Figure 4.3 of Chapter 4 respectively.
Associate M
The Associate operator is a binary operator which constructs an association-set
of complex patterns by concatenating the patterns of two operand association-sets
( result association-set, 7 = a*[R(Cm,Cn)}f3
The result of an Associate operator is an association-set (7) of result patterns con
taining no duplicates. Each result pattern is the concatenation of two patterns (one
from each operand association-set) if an object instance in the first pattern is asso
ciated (in the original database) with an object instance in the second pattern. The


182
class ECLASS
OBJECT DCI
class Advising
RULE
bound rules
that define
semantics
of the
I-association
(a) Rule Storage for Static Approach
class ECLASS
OBJECT DCI
class Advising
(b) Rule Storage for Dynamic Approach
Figure 8.7: S toring Model Defining Rules
(a) Rule Storage for Static Approach;
(b) Rule Storage for Dynamic Approach


147
correspond to those examples described in Section 7.2, and shown in Figure 7.1.
Each association set is shown as a Class Graph Adjacency Matrix (CGAM) and an
Instance Graph Table (IGT). We note that for a subdatabase or association set which
is composed of instances from a single class, a CGAM is not required. Instead, a
single column of instance identifiers is used to represent such a one-class association
set.
7.4.3 Algorithms for Algebraic Query Operators
In Appendix C, we present algorithms corresponding to the implementation of
the algebraic operators. These algorithms axe based on the adjacency-matrix rep
resentation of association-sets described in the previous section, and also utilize the
class index described previously.
7.4.4 Processing Query Execution Plans
Corresponding to each query, a Query Execution Plan (QEP) is generated. A
QEP is a tree whose nodes consist of algebraic operators together with the operands,
which must be executed in order for the query to be processed. The computation of
a query follows a two phase strategy;
Phase 1: Establishment of a subdatabase context
In the first phase, the establishment of a context or subdatabase is carried out,
in which objects and associations specified by the query are filtered out of the
database. It is this phase that involves the generation of appropriate instance
graphs.
Phase 2: Invocation of methods
Once a subdatabase is established, methods (e.g., PrintSchedule, Update) can
be invoked by passing messages to objects identified in the subdatabase.


BIOGRAPHICAL SKETCH
Rahim Yaseen was born in Colombo, Sri Lanka. He received his undergradu
ate degree in electrical engineering from the University of Moratuwa, Sri Lanka,
with First Class Honours in May 1983. Since August 1984, he has been pursuing
graduate studies at the University of Florida. In May 1986, he was awarded the
Master of Engineering degree in electrical engineering, specializing in control sys
tems and computer architecture. Subsequently, the author enrolled in the Ph.D.
program in electrical engineering at the University of Florida, and joined the Data
base Systems Research and Development Center, University of Florida, as a research
assistant to carry out research in the area of database systems. In July 1991, he
joined Harris Corporation, Florida, and is presently working on real-time distributed
heterogeneous database systems. The author expects to complete his Ph.D. in De
cember 1991. His current interests include extensible and object-oriented database
and knowledge base systems, structural and computational reflexivity in database
systems, and real-time distributed heterogeneous database systems.
216


72
are then defined for this new class to enforce the semantics of the new association
type.


OID-pair List = (OIDPair-list);
FOR j = 1 TO [No of oids in (oid-list)]
BEGIN
Oj= [(oid-list) getElement (j)];
oidlisttemp = getReferenceAttribute(C*t-,Oj, (assoc-name))
IF NOT (oidlisttemp = null)
THEN
FOR p = 1 TO [No of elements in oidlisttemp]
BEGIN
Op = [oidlisttemp getElement(p)];
(OIDPair-list) >addElement(O-, 0P);
END
END
return ((OIDPair-list));
END
B.5.4 NonStar
nonStar(C, (oid-list), Ck, (assoc-name));
BEGIN
DicHandler* hdic,
OTHandler* h0t]
/* Check if class is valid */
IF NOT [ftd,-cHsClass(C,-)j
THEN return (failure: No Such Class);
/* Check if class is valid */
IF NOT [fc*-c-*isClass((7fc)]
THEN return (failure: No Such Class);
IF (Ck[Ad.-c+getAssociatedClass(C,-, (assoc-name))])
THEN return (failure: No Such Association);
IF (oid-list) = all
THEN (oid-list) = [ot^getA110IDs(C',)];
oidlistreault = null;
FOR j = 1 TO [No of oids in (oid-list)]
BEGIN
Oj= [(oid-list)getElementQ)];
oidlisttemp = getReferenceAttribute((7,-,Oj, (assoc-name))
IF (oidlisttemp = null)
THEN oidlistreault addElement(Oj);
END
return (oidlistreault);
END


101
efficient support of complex objects, and supports applications where instances may
need to be grouped based on data model semantics such as aggregation or general
ization hierarchies. A large, linear address space (a secondary heap) can be used
to achieve such a clustering strategy.
The clustering mechanisms described above must be provided within a single en
vironment. In Figure 6.7, we illustrate how the notions of a homogeneous clustering
of several instances from one class, and the notion of a heterogeneous clustering of
several instances from various classes can be accommodated in a single multi-file en
vironment. The Object Tables provide a clean mechanism whereby object instances
can be easily moved around on disk thereby enabling clustering and re-clustering.
To support various types of objects, it is important that an underlying storage sys
tem be able to provide the necessary facilities (such as file organizations and access
methods) to achieve such clustering.
6.3 Processing Kernel Objects
In database applications, as evidenced by the nature of database query languages,
a key requirement is set-oriented processing. As such, KOMS provides a well-defined
and generic interface to clients in the upper layers in the form of a set of kernel
object operations. These basic, semantically meaningful, and set-oriented operators
are based on the small set of core object model constructs that comprise XKOM,
and are used to perform inserts, updates, deletes and retrievals on kernel objects.
In KOMS, the interface serves as access methods which (1) are at the class level
(operations involve the set of objects belonging to a single class), (2) at most, re
quire a single scan, and (3) are set-oriented. We expect operations that span multiple
classes to be carried out by access methods in the clients of KOMS. The implemen
tation of the interface uses the underlying model of storage objects described in
Section 6.2, and has been carried out with a view towards extensibility, i.e., the


F_1 M P_1
1112
0000
0000
0000
mi
mi
0000
0000
1112
1112
F
P
F 1
M
P 1
f5
pl5
fl5
A
p3
flO
p55
A
m55
p7
M
a =
p i
1112
0000
0000
mi
0000
1112
F
P
M
P 1
flO
p55
m55
P7
FI PI
F_1
P_1
a =
1112
* 1 father_of) \J\Jmother_of)
F 1
P 1
132
p58
f32
p24
f5
pl5
fl5
p3
flO
p55
F
P
F_1
p_i
F
1112
0000
0000
P
mi
0000
F_1
1112
P_1
F
p
F 1
P 1
f5
pl5
fl5
p3
M
P_1
Â¥ =
F
P
\L =
M
P 1
1112
M
P 1
m55
P7
1112
|¡¡|||
F
P
f32
p58
f32
p24
f5
pl5
fl5
p3
flO
p55
Figure 7.14: Processing of rules--an example deductive rule
Ol


2
mapped to a corresponding database. A database which corresponds to a real-world
application captures some specific semantics of the application as accurately and
completely as possible. The term mini-world or Universe of Discourse is used to
refer to the real-world corresponding to the application. As Dittrich points out, two
classes of semantics can be distinguished. The first class of semantics, which we shall
denote by S, is the semantics of the mini-world itself. That is, the semantics of the
application in the real-world. The second class of semantics, which we shall denote
by S, represents the semantics of the mini-world as captured in the corresponding
database. That is, the semantics of the application as captured in the database.
In order to capture or express the mini-world semantics, a mechanism for ab
straction and representation is needed. A data model represents such an abstraction
and representation mechanism. Thus, S depends on the data model used to capture
the semantics of the application. Usually S < S, since the imperfect nature of data
modeling constructs implies that all the required semantics of a mini-world can
not be precisely abstracted and represented in the database. Thus, a semantic gap
(S S) always exists due to the difference between these two classes of semantics.
The semantics not captured by a data model, that is (S S), must be provided by
an application program and/or by an implicit interpretation on the part of end-users
that semantics S imply semantics S. As application domains become increasingly
complex, the semantic gap widens and complicated application programs are needed
to capture those semantics that the data model is unable to capture. Clearly, the
semantic gap cannot be totally eliminated since this would require data models to be
perfect. In view of this, an important issue is to define a suitable framework for data
modeling (that is, a data model) for supporting advanced and complex application
domains such that the semantic gap is minimized.
To address this issue, we enumerate two key factors that contribute towards an
increased semantic gap when using existing data models. First, the data model


78
model. In our case, the C++ programming language [STR86] is used to perform
bootstrapping.
5.2.2 Parameterization
An important effect of using the set of meta-classes to represent meta-information
is the ability to achieve parameterization. Parameterization refers to specification
and manipulation of modeling constructs such as classes and associations as parame
ters or variables. Thus, we support the notion of class as a parameter and association
as a parameter. A parameter or variable which represents a class or association ob
ject can be assigned, passed as an argument or have a message passed to it. This
property of parameterization is used to access and manipulate meta-information,
and is illustrated using some examples.
In the first example, we illustrate how all classes in the system and all associations
in the system can be accessed as objects.
IID x; /* x represents an IID object */
IID y; /* y represents an IID object */
IID-ARRAY r; /* r represents an array of IIDs */
IID-ARRAY s; /* s represents an array of IIDs */
ECLASS* p; /* p represents a pointer to an E-class object */
ECLASS* q; /* q represents a pointer to an E-class object */
/* Assign to x the E-class instance representing class CLASS. That is, x is now
the iid of an instance of E-CLASS representing the class CLASS object */
x = select( "ECLASS, dassName= CLASS);
/* Assign to y the E-class instance representing class ASSOCIATION. That is, y is
now the iid of an instance of E-CLASS representing the class ASSOCIATION object */
y = select("ECLASS, associationName="ASSOCIATION);
/* p is the virtual memory pointer to the E-class instance of class CLASS object */
p = #x;
/* Get virtual pointer to the E-class instance of class ASSOCIATION object */
q = #y;
/* r now represents the set of all classes in the system */


This dissertation was submitted to the Graduate Faculty of the College
of Engineering and to the Graduate School and was accepted as partial
fulfillment of the requirements for the degree of Doctor of Philosophy.
December 1991
Winfred M. Phillips
Dean, College of Engineering
Madelyn M. Lockhart
Dean, Graduate School


CHAPTER 8
USING RULES TO ACHIEVE MODEL EXTENSIBILITY
In this chapter, we illustrate how rules are used to realize model extensibility.
Specifically, we use concepts presented in previous chapters to demonstrate the no
tion of association extensibility by using the Object-oriented Semantic Association
Model (OSAM*) as a target data model.
This chapter is organized as follows. In Section 8.1, we briefly describe the notion
of different types of associations in OSAM*. In Section 8.2, we present some issues
relating to the specification, binding, and processing of rules. Finally, in Section 8.3,
we show how the meta-class system is extended to realize association extensibility.
8.1 The Object-oriented Semantic Association Model (OSAM*l
The Object-oriented Semantic Association Model (OSAM*) is a semantic data
model which provides a rich set of association types and data constructors to model
the complex data structures and semantic relationships found in many advanced ap
plications. OSAM*s expressive power is enhanced by adopting an object-oriented
paradigm. It includes all the core concepts presented in Chapter 4 and also, be
havioral abstractions such as methods and rules. To illustrate the notion of model
extensibility, we use OSAM* as a target data model and extend XKOM to support
some key data modeling constructs of OSAM*.
A key feature of OSAM* is the notion of semantic association types. Five as
sociation types are provided; Aggregation (A), Generalization (G), Interaction (I),
Composition (C), and Cross-product (X). The notion of Aggregation and General
ization axe the same as that defined for XKOM. We now briefly describe the other
association types. In the description that follows, we will refer to the class on which
166


B.3.4 Dissociate
dissociate^;, Oj, Ck, (oid-list), (assoc-name));
BEGIN
DicHandler* hdic',
OTHandler* hot;
/* Check if specified class, instance, and association axe valid */
IF NOT [hdic-+isC\ass(Ci)]
THEN return (failure: No Such Class);
IF NOT [hotisInstanceOf(C',-, Oj)\
THEN return (failure: No Such Instance);
IF (Cki=- [hdicgetAssociatedClass(C';, (assoc-name))])
THEN return (failure: No Such Association);
/* remove references from given instance to other instances */
removeObjectReference(C',-, Oj, Ck, (oid-list), (assoc-name));
/* remove inverse references from other instances to given instance */
FOR p = 1 TO [No of oids in (oid-list)]
BEGIN
Op= [(oid-list) > get Element (p) ];
InverseAssocName = getInverseAssoc(C, Ck, (assoc-name));
remove0bjectReference(C7fc, Op, C,, Oj, InverseAssocName);
END
END
B.4.1 DeleteJnstance
B.4 Delete
deleteJnstance(C',-, Oj);
BEGIN
DicHandler* hdic;
OTHandler* hot;
/* Check if class is valid and if class does contain this instance */
IF NOT [dicHsClass(C,)]
THEN return (failure: No Such Class);
IF NOT [hotHsInstanceOf(C, Oj)]
THEN return (failure: No Such Instance);
(assoc-list) = [hd,c-+get Assoc(C',)];
FOR p = 1 TO [No of elements in (assoc-list)]
BEGIN
Associationfp] = [(assoc-list)>getElement(p)] = Ap;
AssocName = [Ad,c+getAssocName(Ap)];
Cai= [hdic>getAssociatedClass(C, AssocName)];
dissociate(C',-, Oj, Cai, all, AssocName);
END


71
relationship with other objects. The object defining the interaction cannot exist
unless all the objects (from the constituent classes) participating in the relationship
exist.
Uses or message-passing association
An important association that we propose for achieving a higher form of abstrac
tion in software engineering is the notion of the Uses or Message-passing association.
In this dissertation, we will use this association type extensively in modeling system
software.
The Uses or Message-passing association is a form of functional aggregation (in
contrast to structural aggregation), in which messages can flow from the defining
class to the constituent classes. The association models the relationship among
classes in which one class (the defining class) invokes methods in another class by
sending messages to objects of the constituent class/es. An object involved in a
Uses relationship may play a role as an actor object which sends messages to other
objects, as a server object which receives messages from other objects, or as both
actor and server.
Achieving association extensibility
To achieve the concept of association extensibility, we start by illustrating how
the model of the model is used to support the existing association types. In Figure
/
4.7, class AGGREGATION and class GENERALIZATION which are sub-classed
from class ASSOCIATION model the aggregation and generalization associations
respectively. If a new association type is to be added, a new class corresponding to
this association type is defined as a sub-class of ASSOCIATION, similar to the exist
ing association types. If an existing association type is to be refined or constrained,
a new class corresponding to the new association type is defined as a sub-class of the
class corresponding to the association type that is being refined. Methods and rules


102

Figure 6.7: Homogeneous and Heterogeneous clustering of objects


171
in Figure 8.1. Suppose there is a constraint that if an RA exists, then he/she must
also have an advisor. This constraint is specified in the class RA using the following
explicit rule.
RULE ra-er801
Trigger-cond(After InsertObject(RA), After Insertlnstance(RA),
After DeleteObject(Advising))
IF context RA
THEN RA Grad Advising
Corrective-action Delete_Object (RA)
END
Since the explicit rule is specified for class RA, the bound rule that applies to
class RA is the same as the explicit rule.
Explicit rules specified in a given class are inherited by sub-classes of that class.
When an explicit rule is inherited, the bound rule for the sub-class which inherits
the rule is different from the explicit rule itself. In this case, the binding process
involves modification of the (inherited) explicit rule for use by the appropriate sub
class. Such a bound rule is expressed in terms of the sub-class which inherits the rule
and the corresponding associations. For example, suppose there is a constraint that
every advanced graduate student must have an advisor, then the following explicit
rule is specified in class Grad.
RULE g-er802
Trigger-cond(After InsertObject(Grad), After Insertlnstance(Grad),
After DeleteObject(Advising),
After Update(Grad.classification))
IF context Grad[classification > 7]
THEN Grad Advising
Corrective-action Message (Advanced graduate students must
be assigned an advisor)
END
If the above explicit rule is to be applied to class Grad, then the bound rule is
the same as the explicit rule. However, when the above explicit rule is inherited
from class Grad to class TA and applied to class TA, then the following bound rule
must be generated.


19
Some systems such as Vbase [ONT88] merely provide an SQL interface, while sys
tems such as Iris [FIS87] provide an object version of SQL (OSQL). Systems using
QUEL-based languages, such as Postgres [ST086, ROW87] and Exodus [CAR88]
use an extended dot operator to perform various types of joins. Some of these sys
tems including [DAD86] use relations or nested relations as a basis. Using data
structures such as nested relations can result in a semantic mismatch between the
object-oriented data model and the relational data model. /
Other systems, such as ODE [AGR89], Gallileo [ALB85], and OPAL [SER87],
have taken the approach of providing query capabilities through the use of Database
Programming Languages (DBPLs). Such DBPLs lack a declarative set-oriented
query capability and manipulate objects singly using programming language con
structs. Accordingly, a query result containing objects and associations that span
across many classes cannot be represented except as a user-defined program struc
ture.
Another technique used for query processing in object-oriented databases is to
express the results of query as objects from a single class (the anchor or target
class). Objects from other classes connected to the Anchor, may then be further
accessed via navigational operators (e.g., a dot operator) on the Anchor Class. For
this category, a single set of objects (or oids) is sufficient to serve as an internal
structure for computing queries. However, this is restrictive, since only a given class
of queries can be computed. In particular, queries that return objects from multiple
classes in their results are excluded. Examples of systems which use this technique
include Orion [BAN88], Daplex [SHI81], and GEM [ZAN83].
Kim [KIM89a] proposes a technique in which a new class is created to hold the
results of a query. For example, a join between two objects from two different
classes produces a third object of a newly created class. In this case, the system


180
setOfAssociations attribute can contain association objects which represent interac
tion associations. Thus, a class such as Advising, which is represented as an object
in class CLASS, will have the corresponding interaction association objects in the
set Of Association attribute.
An important consequence of this extension is that it is now possible to write an
access function using these meta-classes to determine the constituent classes of the
I-association corresponding to a given (defining) class. This allows the computation
of functions such as constituentClassesofQ for any class having different types of
associations. We note that the first step of the extension involves meta-objects such
as classes and associations, and their manipulation.
The second step of the extension affects not the meta-objects, but the objects of
(application) classes which contain I-associations. The second step of the extension
deals with the mechanism by which parameterized rules can be bound to and invoked
on the objects of (application) classes which contain I-associations. We show how
classes, sub-classes and inheritance can provide a suitable mechanism for binding
and invoking such rules.
In general, any association involves a defining class and one or more constituent
classes. As such, the constraints that define the semantics of an association apply
either to objects of the defining class or objects of the constituent class(es) or both.
Clearly, the parameterized rules should be specified to accommodate this aspect.
Thus, for each association type, two classes must be defined as sub-classes of the
class ECLASS OBJECT. For Interaction, two classes ECLASS OBJECT DCI and
ECLASS OBJECT CCI are defined as sub-classes of ECLASS OBJECT. The class
ECLASS OBJECT DCI represents E-class objects which belong to a class which is
a Defining Class for Interaction (DCI). The class ECLASS OBJECT CCI represents
E-class objects which belong to a class which is a Constituent Class for Interaction


xml record header identifier oai:www.uflib.ufl.edu.ufdc:UF0008218000001datestamp 2009-01-20setSpec [UFDC_OAI_SET]metadata oai_dc:dc xmlns:oai_dc http:www.openarchives.orgOAI2.0oai_dc xmlns:dc http:purl.orgdcelements1.1 xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.openarchives.orgOAI2.0oai_dc.xsd dc:title extensible data model and extensible system architecture for building advanced knowledge base management systems dc:creator Yaseen, Rahim Mohamed.dc:publisher Yaseen, Rahim Mohameddc:date 1991dc:type Bookdc:identifier http://www.uflib.ufl.edu/ufdc/?b=UF00082180&v=0000125764302 (oclc)001722550 (alephbibnum)dc:source University of Florida


16
extended query language), complex objects, triggers, alerters and inferencing. The
basic extensibility mechanism is ADTs.
Starburst [SCH86, LIN87] is a system being built as a successor to System R
[AST76]. It is based on the relational data model and addresses extensions within
the relational model. Starburst proposes two notions of extensibility: user-defined
extensions and data management extensions. User-defined extensions (logical ex
tensibility, in our terminology) are considered as support for user-defined ADTs
and functions as fields of database records. Data Management Extensions (physical
extensibility, in our terminology) are considered as support for alternate implemen
tations of database storage and access paths. Starburst considers two forms of Data
Management Extensions: storage methods and attachments. Storage methods deal
with alternate ways (e.g., sequential, B-tree, foreign files at a remote site) of storing
relations and provide a well-defined set of operations such as delete, insert, update.
Attachments axe used to define and implement access paths, integrity constraints,
and triggers. Example of attachment types include B-tree indices, hash tables, etc.
Attachments, like storage methods, provide a well-defined set of operations. Unlike
storage methods, attachments are invoked as side effects of modification operations
on relations. The attachment concept provides a more general concept than merely
the concept of extensible access paths. Currently, a query language, rule-based opti
mizer, and query re-write mechanism is under development [LOH88, HAA89]. Like
Postgres, Starburst provides extensibility within the framework of the relational data
model.
The Darmstadt Kernel System [PAU87] is an extensible, multi-layer system
which aims to support advanced application domains by developing a common kernel
DBMS, and allowing application specific layers to be defined on top of this kernel.
The kernel is a layer that supports the storage level functionalities of the system.


17
Extensibility is achieved by using the common kernel for all applications and ex
tending the kernel through the use of application-specific layers on top of the kernel.
Thus, the concept of extensibility is add-on-top extensibility, with the lower layers
being largely fixed. This implies that physical extensibility or extensions to the lower
layers cannot be easily carried out. At the upper (logical) layers, the system does
not support the concept of tailoring a data model to different applications. Instead,
the system supports some forms of logical extensibility such as user-defined ADTs
and complex objects.
TIs Open OODB [TH089] represents a combination of the object-oriented ap
proach and the extensible system approach. This approach aims to build an object-
oriented database system using an open, modular and extensible architecture. The
system has adopted the C++ data model as a reference model due to the widespread
use of the C++ language. It does not support the concept of data model extensions.
Open OODB supports the concept of system extensibility by the use of an open
and modular approach. An attempt is made to identify orthogonal functionalities
and develop a set of generalized modules for object-oriented database systems cor
responding to such functionalities. The modules themselves are not extensible. The
approach proposed to achieve extensibility is applicable both at logical and physical
levels. The goals of this approach parallel the goals that this dissertation seeks to
achieve. However, in our approach, we propose an integrated and unified approach
to achieve concepts of model extensibility and system extensibility by reflexively
modeling data model components and system components (modules) as objects and
classes using the object-oriented paradigm.
2.2 Object Management Techniques
Techniques for the management of objects are important to the development of
any KBMS. Many object managers such as WiSS [CH085], Observer [SKA86], Exo
dus [CAR86a], and O2 [VEL89] have been proposed. Many of these so-called object


173
In the above rule, SELF is an unbound variable that represents the class to which
the rule applies. Functions such as superclassesOf() are used to specify other classes
that are used in the specification of the rule. If the parameterized rule is specified in
class Person, then it is applicable to class Person and it can also be inherited from
class Person to all sub-classes of class Person.
We now illustrate the concept of inherited parameterized rules. Consider for
example, the application of the above parameterized rule to the class TA. The bound
rule that must be generated when the above parameterized rule is applied to class
TA is shown below.
RULE ta-br803
Trigger-cond(After InsertObject(TA), After Insertlnstance(TA))
IF TA
THEN TA *AND (Teacher, Grad)
Corrective-action Message(For an object to exist in a
class, it must also exist in all super classes)
END
For parameterized rules, the binding process is responsible for binding the pa
rameters and functions specified in the parameterized rule to appropriate classes and
associations. Such a binding process is necessary for parameterized rules that are
specified in a given class and for parameterized rules that are inherited to a sub-class
of the class in which the rule is specified. We note that in the process of inheritance,
the parameterized rule does not change or bind. Thus, for parameterized rules that
are inherited, the correct sequence for applying the rule is (a) inherit the rule to
a particular sub-class, and (b) bind the rule for that sub-class. For parameterized
rules that are specified and applied in a given class, only the binding process [step
(b)] is needed to bind the rule for that class. For both these cases, we refer to this
binding process as parameterized rule binding.
We note that in the above example, we have specified a branch operator (by
using *AND) for the fork class (SELF). It is implicitly assumed that if the fork class


51
components that are needed to specify and process the behavioral as well as struc
tural semantics of a class. We will use rules and methods to illustrate behavioral
semantics in the context of persistent data (object instances) based on the example
schema of Figure 4.2.
In this discussion, we shall focus on the notion of behavioral and structural
abstractions using one or more language components to specify and process such ab
stractions. For the sake of completeness, we will also consider language components,
such as query languages, which are used for object retrieval and manipulation. The
specifications of such languages axe outside the scope of this dissertation, and any
language that supports these concepts can be used. For XKOM, we will adapt lan
guage components from previous and on-going research [ALA89a, ALA89b, DS088,
PUR88, SHY91, SU91] of the Database Systems Research and Development Center,
University of Florida.
The language components that are needed axe enumerated below;
1. KDL: A Knowledge Definition Language (analogous to a DDL Data Defi
nition Language) component which is used to specify class definitions, define
class hierarchies, and knowledge schemata in the data model. Integral to this
notion of a KDL component is the notion of a Knowledge or Data Dictionary
used to maintain meta-information. As part of knowledge definition, a rule
specification language component is also needed.
2. RSL: A Rule Specification Language component that is used to specify the
knowledge rules associated with instances and classes. The rule language com
ponent must be declarative, and expressive enough for specifying a variety of
semantic constraints.
3. KML: A Knowledge Manipulation Language component that is used to manip
ulate the persistent objects in the knowledge base. The KML must include a


172
RULE ta-br802
Trigger-cond(After InsertObject(TA), After Insertlnstance(TA),
After DeleteObject(Advising),
After Update(TA.classification))
IF context TA Grad [classification > 7]
THEN TA Grad Advising
Corrective-action Message (Advanced graduate students must
be assigned an advisor)
END
For explicit rules, the binding process is responsible for binding the classes and
associations specified in an inherited explicit rule to the appropriate values for the
sub-class that inherits the rule. Thus, for explicit rules that are inherited, the correct
sequence of applying the rules is (a) inherit the rule to a particular sub-class, and
(b) bind the rule for that sub-class. We refer to this binding process as explicit rule
binding.
Parameterized rules
A parameterized rule is a powerful mechanism by which rules are generically
specified in terms of parameters which are either variables or functions. If a parame
terized rule is specified for a given class, it is applicable to that class or any sub-class
of that class. We now illustrate this concept of parameterized rules.
Consider the constraints that apply to classes in a generalization hierarchy. For
an object to exist in a particular class of a generalization hierarchy, it must exist
in all superclasses of that class. This constraint can be captured by the following
parameterized rule.
RULE p-pr803
Trigger-cond(After InsertObject(SELF), After Insertlnstance(SELF))
IF SELF
THEN SELF *AND superclasses Of (SELF)
Corrective-action Message(For an object to exist in a
class, it must also exist in all super classes)
END


138
Matrix (IGAM) described previously. Thus, the set of extensional patterns can be
easily represented using this approach. Figure 7.5 shows the Class Graph Adjacency
Matrix (CGAM), and the Instance Graph Table (IGT) for the 3-dimensional matrix
representation of Figure 7.3.
Class Graph Adjacency
Matrix (CGAM1
Cl C2 C3 C4
Cl
C2
C3
C4
1
0
0
1
1
0
Instance Graph Table (IGT)
Cl
C2
C3
C4
c61
s51
t32
145
c38
s33
t32
134
c38
s33
t58
134
Cl= COURSE
C2 = SECTION
C3 = TEACHER
C4= LOCATION
Figure 7.5: An optimized data structure for representing a set of association patterns
In the equivalent representation, the storage complexity is 0(n2 + nm). If m is
large compared to n, (this is true for set-oriented queries which process many in
stances of a small number of classes), then the complexity approaches 0(nm), which
is the storage complexity of a linked list approach. Thus, we conclude that for repre
senting sets of graphs or networks having the same or homogeneous interconnection
structure, linked list structures are not suitable. Instead, a variation of adjacency
matrix structures provide an excellent representational scheme.
Class graph adjacency matrix (CGAM)
The information represented in the CGAM is extended to represent additional
semantic information. Instead of simply representing adjacency information, the
elements of the CGAM represent meta-information pertaining to the edge (asso
ciation) such as the association type, operations specified, user-defined association
types (edges), derived associations, etc.


106
it enforces the partitioning of the object along class boundaries.) Unlike
insert_Object, the argument list cannot specify any inherited attributes.
The operation inserts instance into the Object Table segment of the given
class, sets the value fields of the instance, sets the association attributes,
and finally, inserts the instance in the database.
3. insert-Object ((class), (oid), (arg-list))
Returns: success/failure.
Description: Inserts an instance of an object, having oid (oid), into the class
(class), and corresponding instances into all appropriate classes in the
superclass hierarchy of the class (class). The argument list specifies at
tributes as (name-value) pairs, containing both association and value at
tributes. Inherited attributes may also be specified. This operation is
used when inserting an object for the first time in a class hierarchy or
lattice, and when inserting an existing object in another branch or in a
lower level of the class hierarchy. Starting with the given class (class), the
operation recursively navigates up each super-class hierarchy, in a depth
first fashion, until it reaches the root class of the hierarchy or classes that
contains an instance of the given object (oid). It then invokes the in
sert .Instance operation for each class in the hierarchy, beginning from the
top level reached down to the given class. The algorithm corresponding
to this operation implements the partitioning of the structural properties
of an object along class boundaries.
Category =&3: Update
4. update-instance ((class), (oid), (arg-list))
Returns: success/failure.


which axe expressible by rules and methods. Data model extensions are realized by
using a novel technique called model reflexivity. In model reflexivity, the data model
(XKOM) is used to reflexively model itself, resulting in a model of the data model.
Extensions axe achieved by modifying or extending this model of the model using
the structural and behavioral abstractions provided by the data model. In particular,
we use knowledge rules as a powerful and declarative means of specifying data model
extensions.
The extensible system architecture is realized by using an open, modular, and
layered framework coupled with a reflexive approach to system design and imple
mentation. A middle-out approach is used in the layered architecture where the data
model (XKOM) serves as a basis for developing an intermediate level of abstraction.
The architecture can then be (a) upwardly extended to support appropriate high-
level, end-user, data modeling constructs for diverse application domains, and (b)
downwardly extended to different physical data organizations, access paths, pro
cessing strategies and storage sub-systems. The object-oriented paradigm is used
to model functionally distinct system components in various layers, resulting in a
model of the system. Functional extensions are then carried out by appropriate
modifications to the sub-schema corresponding to specific functional modules.
To illustrate the extensible approach to data modeling and system architecture,
several model and system components including a kernel object manager, a data
dictionary module, and a query processor have been implemented. The kernel object
manager corresponds to an implementation of the data model (XKOM). The data
dictionary module manages the meta-data of the model and the system. The query
processor uses a pattern-based approach for formulating queries. A novel graph-
based technique using an adjacency-matrix data structure for processing such queries
is also described.
xi


108
7. dissociate ((classl), (oid), (class2), (oid-list), (assoc-name))
Returns: success/failure.
Description: Dissociates (unlinks) the association that exists between the in
stance of object (oid) in class (classl) to the instances of objects (oid-list)
of class (class2). The (assoc-name) specifies the name of the schema level
association from (classl) to (class2). The dissociate operator ensures that
when objects axe dissociated, the binaxy, two-way (inverse) association be
tween objects is updated accordingly.
Category #4: Delete
8. delete-instance ((class), (oid))
Returns: success/failure.
Description: Deletes the instance corresponding to the object (oid) in the class
(class). The operation removes all references to this object instance from
other object instances, by using the dissociate operator. The entry cor-
1
responding to this instance in the object table segment of the given class
is removed, and the instance is finally removed from the class and the
database itself.
9. delete-Object ((class), (oid))
Returns: success/failure.
Description: Deletes all instances of a given object (oid) from the subclass
hierarchy of the given class (class). This operation is used to remove
all instances of an object starting at a specified level and below in the
class hierarchy. If an object has a single root class, and this operation


121
operators to produce a new result. Second, the result of a query can be saved as a
view definition and manipulated in the same manner as the original database.
For the relational data model, query languages such as SQL, and the relational
algebra satisfy the closure property. Similarly, it is desirable that query languages
and algebras proposed for object-oriented data models satisfy the closure property.
An Object-oriented Query Language (OQL) [ALA89a, ALA89b] and an Association
Algebra [GUO90, GU091], developed at the University of Florida, maintain the
closure property for object-oriented databases. In this query language and algebra,
the result of a query is treated as a sub-database which is structured using the same
model as the original database against which the query is issued. Previously, in
Chapter 4, we introduced this query language as a language component of XKOM.
7.1.2 Pattern-based Query Formulation
For object-oriented databases, the query language should be pattern-based [ALA89b]
as opposed to attribute-based query languages for the relational data model. A
pattern-based approach allows user to conveniently express the query by specifying
patterns of object association as search conditions for accessing data. The search
condition is specified as complex patterns of object classes and their associations; the
objects satisfying these patterns are retrieved and further operated upon by system
or user-defined operations. In contrast, queries in the relational model are speci
fied as a value-based match on specified attributes. Since the relational data model
maintains relationships or associations among tuples by attribute contents, such re
lationships have to be specified in queries using the join operator and computed
during the processing of the join operator by content matching.
7.1.3 Using Graphs as a Basis
In order to effectively compute queries, it is important to provide a powerful
and formal data structure to serve as a basis for query processing. For example,


9
of database systems. In view of this, we investigate a generalized graph-based ap
proach to query processing for object-oriented databases using adjacency matrix
data structures.
This dissertation is organized as follows. In Chapter 2, a survey of relevant
literature pertaining to several areas that have a bearing on this research is pre
sented. Among areas surveyed are DBMS architectures, object management tech
niques, techniques for query processing in object-oriented databases, methodologies
for software development, and meta-level and reflexive architectures. Chapter 3
presents an overview of the approach that this dissertation proposes for developing
advanced KBMSs. In Chapter 4, the extensible Kernel Object Model (XKOM)
having the properties of generality, extensibility and reflexivity is presented. The
management of meta-information using a reflexive model of XKOM as a basis is
the focus of Chapter 5. In Chapter 6, we study the management of kernel objects:
objects which are defined using XKOM as a model of abstraction. Conceptual and
implementation issues relating to query and rule processing in our KBMS architec
ture are addressed in Chapter 7. Chapter 8 presents further details on achieving
data model extensions in the light of the work presented in the previous chapters.
To demonstrate the proposed notions of extensibility, the Object-oriented Seman
tic Association Model (OSAM*) [SU89] is used as an example end-user target data
model. Finally, Chapter 9 summarizes the research presented in this dissertation,
presents a conclusion on the results achieved, and suggests some areas for future
research.


159
USER INTERFACES
INTERFACE
GRAPHIC
TEXTUAL
APPLICATION
INTERFACE
INTERFACE
PROGRAM
QUERY PROCESSOR
dictionary access
functions
high level operations
KERNEL OBJECT MANAGEME1
'fT LAYER
INTERFACE
"get/put"
interface
STORAGE LAYER
Figure 7.16: Layer and Module Configuration of the Query Processor


CHAPTER 2
A SURVEY OF RELATED WORK
In this chapter, we present a survey of several topics which are related to the re
search presented in this dissertation. The topics surveyed include different categories
of KBMS and DBMS architectures, object management techniques, query processing
techniques for object-oriented databases, methodologies for software development,
and meta-level and reflexive architectures.
2.1 KBMS and DBMS Architectures
In this section, we begin with a retrospective on early database system architec
tures which axe the forerunners of current system architectures. Then, we focus on
current approaches for supporting advanced application domains: object-oriented
database system architectures and extensible database system architectures.
2.1.1 Traditional DBMS Architectures
In the early stages of database system development, system architectures were
not well-defined, and database software consisted mostly of system code developed
by system programmers.
With the advent of the relational data model [COD70], two well-designed data
base system architectures emerged, namely INGRES [ST076] and System R [AST76].
In particular, System R proposed a two-level architecture consisting of a Relational
Data System (RDS) and a Relational Storage System (RSS) having well-defined
interfaces called the Relational Data Interface (RDI) and the Relational Storage In
terface (RSI), respectively. The separation of logical and physical database aspects
10


41
Thus, CR(Ok) = {Jlki
=i
where Ok is a kernel object
Xki is an instance of Ok in class i
p is the number of classes to which Ok belongs
This partitioned or distributed view of objects and object instances will dictate
the mechanisms and strategies used for supporting the notions of generalization
and inheritance. Such issues relating to the implementation of kernel objects and
instances are addressed in Chapter 6.
4.2.2 Identity
XKOM incorporates a strong notion of identity, based on tagged surrogates for
system-named objects. We propose the use of system-defined surrogates which can
enforce both the immutability and uniqueness requirements of identity. Since we are
taking a layered approach, the use of surrogates rather than (logical) disk addresses
serves to insulate the upper layers from having to know the address formats used by
lower layers (e.g., storage managers), thus providing data independence.
object identity (oid): a unique k bit integer assigned to each system-named object
class identity (cid): a unique k bit integer assigned to each class in the system, that
is, the object identifier of the system-named class object
instance identity (iid): a (k+k) bit integer used to identify the instantiation of a
specific object in a particular class
Thus, instance identity (iid) = (cid) (oid)
Finally, we note that identity itself is a self-named object since identity is repre
sented as a particular value. Thus, different and extensible formats for identity can
be realized by using different domains of values for identity. These issues relating to
the implementation of identity are addressed in Chapter 6.


System-defined
meta-classes
Figure 8.6: Extending the Model Meta-class System


145
a
T S
1112
T
S
t32
s51
t32
s33
t21
s23
tS5
s49
* (S,C)
c
c61
c38
c82
c84
Y
T S C
1112
0000
1112
T
S
C
t32
s51
c61
t32
s33
c38
t21
s23
c82
T TEACHER
S = SECTION C COURSE
(a) Example of Associate Operator
P
TA
T
S
c
TA
1111
S
1112
T
C
TA
T
ta24
t24
ta74
t74
ta75
t75
TAs TA
T = TEACHER
S
C
s51
c61
s33
c38
sl8
c81
s23
c82
sl9
c43
S SECTION
C COURSE
Y
TA
TA
T
S
C
1111
0000
0000
1022
0000
1112
TA
T
S
C
ta74
t74
A
A
ta75
t75
A
A
A
A
s51
c61
A
A
s33
c38
A
A
sl8
c81
A
A
s23
c82
(b) Example of NonAssociate Operator
Figure 7.9: Processing algebra operators using the graph representation
a) Example of Associate Operator, b) Example of NonAssociate Operator,
c) Example of A-Union Operator, d) Example of A-Intersect Operator


22
by that possibly affecting) its own computation. The paper also defines structural
reflection or self-representation as the property of a system which incorporates struc
tures representing (aspects of) itself. The paper also identifies various issues that
a language interpreter must address in order to achieve the concept of reflexivity.
A uniform and reflexive definition for a system supporting ObjVlisp is described in
[COI87]. This system investigates the use of meta-classes, and studies the transi
tions from uniform representations to reflexive representations, and the use of such
properties for extensibility. An ObjVlisp Model is developed using classes and ob
jects at a meta-level and operational semantics are expressed in Lisp. In [KIC91], an
approach to programming using meta-objects is presented. Meta-objects axe used
to provide the ability to extend the behavior and implementation of the language.
The approach is verified using meta-objects in the Common Lisp Object System
(CLOS).
In the approaches mentioned above, reflexivity is addressed in the context of
programming languages, with emphasis on the effect of computational reflection on
language interpreters. In contrast, reflexivity in the context of database systems has
not been a well-studied area. In this research, we explore the concept of reflexivity in
database systems with emphasis on using reflexivity as a basis for achieving extensi
bility. Instead of focusing on computational reflexivity and language interpreters, we
initially deal with structural reflexivity or self-representation in database systems.


185
objects. Such a meta-architecture then provides a natural basis for the the data-
dictionaxy module which deals with the management of meta-information of the
model, system and application.
Corresponding to such an extensible data model, the underlying system archi
tecture is also designed to be extensible. To achieve extensibility at the system
architecture level, we have proposed an open, modular, and layered approach for
developing the system architecture. Similar to the technique used for model exten
sibility, we develop a model of the system. System modules which have open and
well-defined interfaces axe modeled as objects, classes, associations, methods, and
rules using the same basic data model and the object-oriented paradigm. Extensions
to the system architecture axe carried out by modifying the schemata corresponding
to various modules using the structural and behavioral abstractions that axe pro
vided by the basic data model. The notion of system extensibility is demonstrated
using modules such as the object manager, query processor, rule processor, and data
dictionary.
The framework and architecture of the system has been developed by taking a
middle-out approach. An intermediate layer, namely the kernel object management
layer, has been developed to support the set of core data modeling constructs. Issues
relating to the management of kernel objects (that is, objects described by the core
extensible data model) have been investigated as part of the system architecture of
this intermediate layer. To support the middle-out approach, the intermediate layer
has been deliberately designed with a view to support upward extensions (that is,
support upper layers) and downward extensions (that is, support lower layers) of
the overall system architecture.
The query processor, which is developed as an upper-layer client of the Kernel
Object Management System, illustrates the notion of layering and modularity. In
order to support advanced applications based on the object-oriented paradigm, a


86
class. Thus, for example, the same teacher object has a representation (instance)
in the Teacher class and a representation (instance) in the Person class, as well. A
dotted line in Figure 6.1(b) shows that they represent the same object.
The main advantage of SSM is that since all the attributes (direct and inherited)
are clustered together, creation, update, and deletion of objects is straightforward
and efficient. For retrieving all attributes of a given object, this approach is fast. In
SSM, a main disadvantage is that scan-based access is inefficient, and indexing can be
complicated. For example, retrieving all persons whose age > 50, is not very efficient.
This requires scanning all objects in the class Person, and scanning all objects in all
subclasses of Person. Similarly, indexing becomes complicated, requiring strategies
such as class hierarchy indexes [KIM89b, MAI86b]. A more serious shortcoming is
the inability to represent an object that spans more than one branch of a hierarchy.
For example, the case where a person is a parent and a teacher cannot be handled.
For DSM, the main advantages are faster access for scan based access such as se
lection, and the ability to represent the instantiation of an object across many classes
(including the case where the object spans more than one branch of the generaliza
tion hierarchy). Both these factors are important in database applications, and thus
we opted for using DSM. The main disadvantage in DSM is the added complexity
and overhead in creating, updating, and deleting an object that is partitioned. Also,
retrieving all attributes of a single object involves accessing all instances of the ob
ject resulting in an increased cost of access. The cost of inserts, updates, deletes,
and accessing all attributes of a single object is higher than SSM, but can be reduced
by clustering together all instances of an object.
The DSM approach also allows for more flexible clustering options since it allows
instances to be clustered on a class basis (all instances of a class clustered together) or
on a class hierarchy basis (all distributed instances of an object clustered together).
In SSM, the latter technique is built in, and cannot be changed.


OBJECT
G
co
Figure 3.4: Class System for "Model of the Model" (top level view with no details)


165
The ContextSubTreeHandler class then executes the context sub-tree by calling
upon various modules and coordinating their execution. The ContextSubTreeHan
dler calls upon the ContextHandler for the actual computation of the algebraic oper
ators such as Associate, NonAssociate, A-Union, and A-Intersect. This is illustrated
below.
ContextHandler *hl;
NCIassContext *a;
NCIassContext */?;
NCIassContext *7;
/* invoke the algebraic operators */
7 = hi > A-Union(at ¡3);
The actual computation of the algebraic operators is done by methods defined for
class NCIassContext; such methods correspond to algebraic operators such as Asso
ciate, NonAssociate, A-Intersect, and A-Union. The structure of the class NCIass
Context is defined so as to represent the adjacency-matrix data structures that we
have proposed. We note that the methods corresponding to the association algebra
operators, defined for class NCIassContext, incorporate the algorithms shown in Ap
pendix C. When needed, such methods call upon the object manager by using the
interface provided by KOMS.


35
this kernel object management system are used to illustrate the concept of modeling
the software components of the system architecture. The implementation of the
kernel object management system is also described.
An important feature of a next-generation KBMS is the capability to specify and
process high-level declarative queries and rules. This aspect is the focus of Chapter
7. A generalized approach to query processing for object-oriented databases using
adjacency matrix data structures is used. The approach is based on the concept
that query processing in object-oriented databases involves the manipulation and
processing of large sets of instance graphs or patterns. A representation scheme using
adjacency-matrix-based data structures is proposed and algorithms for manipulating
sets of graphs are also investigated. A classification of query types using graphs as a
basis is exploited to generate and execute query execution plans (QEPs). The same
technique of modeling software components of the system architecture is also used
in the case of the query processor and illustrates the feasibility of our approach for
an extensible system architecture. The implementation of a query processor based
on these concepts is described.
Chapter 8 provides a further study on Model Extensibility. Two important forms
of model extensibility, namely class extensibility and association extensibility are
investigated. Class extensibility relates to the ability to define different types of
classes, that is, different types of objects. For example, a particular application
domain or data model may require the notion of design objects having certain specific
characteristics or semantics. Association extensibility relates to the ability to define
different type of associations or relationships among object classes. In this case
too, a particular application domain or data model may require the notion of a
specialized association or relationship such as Interaction [SU89]. To illustrate these
concepts, we use the Object-oriented Semantic Association Model (OSAM*) [SU89]
as an end-user target model at the logical level.


48
on such a set of binary associations. For example, a particular course must be taught
by a teacher at a location (class-room). Such a relationship is representative of a
typical class scheduling process in a university environment.
4.3.2 Database Extension
A database extension is represented as a network of associated object instances.
We use a graphical/visual representation called an Object Diagram to depict the
database extension. A dot in an object diagram denotes an object instance identified
by its unique IID, and a solid edge between instances indicates an object reference.
An oval containing a set of dots is used to illustrate a set (or subset) of instances from
a given class. In Figure 4.3, we illustrate an example object diagram corresponding
to part of the database schema of Figure 4.2. Note that in an object diagram, we do
not distinguish between the types of links or object references between objects since
the S-diagram captures this aspect through relationships or associations at the class
level. However, for the sake of clarity, we use a dotted edge between instances of the
class Person and instances of the class Father in Figure 4.3 to distinguish between the
two different associations among the Person and Father classes. The dotted line is
used to indicate the father-of association. Similarly, a dotted line between instances
of class Person and instances of class Mother indicates the mother-of association.
For simplicity, we will use lower case alphabetic letters taken from the name of
the class to indicate class identity, and integers to indicate object identity. Thus, an
instance is represented by a dot having an alpha-numeric instance identifier.
We see that instance s33 in class Section is associated with instances t32 and t58
in class Teacher, instance 134 in class Location, and instance c38 in class Course.
This represents the fact that a section (s33) corresponding to a course (c38) is taught
by teachers (t32, t58). To illustrate a G-association, we observe that instance p32
in class Person represents a person who is a father and a teacher. Thus, there are
corresponding instances (f32, t32) in class Father, and in class Teacher respectively.


104
6.3.2 Value-based Access
In object-oriented databases it is also necessary to perform value-based processing
on descriptive data attributes or value fields of objects. This includes processing of
complex data types such as matrices.
Consider the following query;
Teacher[select cond] Course
This query illustrates a combination of value-based access and association-based
access. It computes all instances in the class Teacher satisfying a selection condition
(placed on the value fields of teacher instances) which are associated with instances
of class Course. The value-based access refers to the ability to determine which
instances of the class Teacher satisfy the value-based selection condition. If the
condition is [age = 35], a point access is desired and a scan may be necessary if there
is no index on age. If the condition is [age > 35], a paxtial scan may be required.
For more complex selection conditions such as [age > 35 AND degree = uPh.D"],
an index (if available) must be considered or full scans must be performed. Thus,
direct access, partial scans or full scans are needed to support value-based processing.
Traditional notions of indexing and sorting can be used.
6.3.3 Kernel Object Manipulation Operators
Based on the model of storage for instances presented in the previous section,
KOMS defines a set of basic kernel object manipulation operators having the follow
ing semantics.
1. operations for object and instance manipulation: creation (insertion), retrieval,
and deletion of instances and objects.
2. operations on value attributes: retrieval, update, and selection on value at
tributes of object instances.


174
has only one branch (in which case the function returns only one superclass), then
the branch (*AND) reduces to the operator.
8.2.2 Rule Storage and Binding Strategies
The storage of rules is closely inter-related to the strategy used for binding rules.
We identify two approaches for rule storage and binding: the static approach and
the dynamic approach.
Static approach
In the static approach, an early binding strategy is taken for binding rules and
thus, all rules axe internally stored as bound rules and as part of each class that they
apply to. A key advantage of this approach is better performance since no run-time
binding is necessary as the bound rules are ready for execution. The disadvantage
of this approach is that a large number of bound rules must be generated and stored
at compile time. Also, a change in an explicit or parameterized rule requires re
compiling and re-generating all the corresponding bound rules.
In Figure 8.4, we illustrate the static approach to rule storage and binding. Figure
8.4(a) shows how each class object is associated with a set of bound rules, and Figure
8.4(b) shows the process of rule binding and rule processing.
Dynamic approach
In the dynamic approach, a late binding strategy is taken for binding rules and
rules axe stored in the manner they are specified. Thus, rules axe stored either
as explicit rules or as parameterized rules. An advantage of this approach is that
explicit or parameterized rule are stored only once as part of the classes in which
the rules axe specified. This results in a small number of rules that must be stored.
Also, a change in an explicit or parameterized rule requires a change in only one
location; the class in which it is specified. A key disadvantage of this approach is
poor performance since rule axe bound at run-time.


43
class. Multiple aggregation associations are generally used to describe/characterize
a class in terms of its associations with other classes. Consequently, an instance
of the defining class consists of the instances or references to the instances of some
constituent classes. Aggregation associations between an E-class and one or more
D-classes axe used to describe the descriptive attributes of the E-class. An aggre
gation association may have a cardinality constraint which specifies the mapping
relationship between objects of the defining class and the constituent class to be 1:1,
l:n, n:l, or n:m.
Issues and details relating to the implementation of associations are described in
Chapter 6.
4.2.4 Class Definition
Based on the above description of the data model, we now specify the structure
of a class in XKOM. A class consists of a specification and an implementation. In
addition, E-classes may have a set of persistent instances associated with a class.
In Figure 4.1, we show a template representing the specification of a class in
XKOM. Each class specifies a system-wide unique class name, a class type, a set of
associations, a set of methods, and a set of rules.
The class type is specified as E-class, D-class or any other user-defined class
type. A variable in the form of a character string is used to specify the class type.
This allows the parameterization of class types since no changes need be made in
the DDL (Data Definition Language) when a new user-defined class type is added.
The associations section of the class specification serves to define the set of struc
tural associations for the class. Each association type is specified as generalization,
aggregation or any other user-defined association type. Corresponding to each as
sociation type, the class specifies the set of associations of that type. For each
association of that type, an association name and the domain corresponding to the
constituent class/es for the association are specified. The complete set of structural


81
/* Get virtual pointer to the E-dass instance of class TA object */
P = #x;
/* r now represents the set of all instance of class TA */
r = p * getSetOflnstances();
In the second example, we illustrate how the superclasses of an application class
can be accessed. First, all the associations of the class are accessed and then, the
superclass (generalization) association is singled out.
IID x; /* x represents an IID object */
CLASS* y; /* y represents a pointer to a class object */
IID p; /* p represents an IID object */
ASSOCIATION* q; /* q represents a pointer to an association object */
IID-ARRAY z; /* z represents an array of IIDs */
/* Assign to x the class object representing class TA */
/* x is now the iid of the Class TA object */
x = select("CLASS", name=,'TA);
/* Get virtual pointer to class TA object */
y = #x;
/* Get all associations of class TA */
z = y ¡ getSetOfAssociations();
/* Iterate this set of associations to determine the superclass association */
FOR each element in AssociationSet (z)
BEGIN
p = [z getNextElement()]
q = #p;
IF [q >getAssocType() = superclass"]
return q
END
5.4 Dictionary Access Functions
Due to the reflexive nature of the approach we propose, the model of the model
is realized through a series of incremental steps or extensions. Accordingly, the
dictionary access functions axe extended or added to, as necessary. In Appendix A,


61
mothers are determined through the father.of or mother.of association to the class
Person. Thus, a new association has been derived between the class Father and the
class Person, where the new association represents the Grandfather relationship.
In Figure 4.5, the extensional diagram showing the derivation of associations
based on the IF part of the rule is shown (the dotted line indicates the derived
associations or links). The corresponding intensional and extensional patterns for
the derived subdatabase are shown in Figure 4.6. Unlike logic based languages, the
emphasis here is on set-oriented deductive rules.
Figure 4.5: An extensional diagram showing the derivation of associations
4.6 Model Extensibility
In this section, we present techniques which allow the data model (XKOM) to be
extended to cater to various application domains. First, we use the data model to


45
associations of a class is the sum of associations of various association types. Simi
lar to class type, a variable in the form of a character string is used to specify the
association type. In this case too, this parameterization of association types ensures
that no changes are necessary in the DDL when a new user-defined association is
added.
The method section of the class specification serves to define the set of methods
applicable to the objects of that class, and the rule section serves to define the set
of rules applicable to the objects of that class.
The implementation of a class refers to the creation and processing of objects cor
responding to the class, and the implementation of the methods and rules applicable
to the objects of that class.
4.3 An Example Database
We illustrate the object-oriented view of an example database as modeled by
XKOM. This object-oriented view of a database can be viewed at two levels. First,
the database schema presents a class level view of the database. Second, the exten-
sional view of the database which represents an object or instance level view of the
database.
4.3.1 Database Schema
A database schema is represented as a network of associated (inter-related)
classes. We use a graphical/visual representation called Semantic diagrams (or
S-diagrams) [SU89] to depict a database schema. In S-diagrams, classes are rep
resented as nodes and associations axe represented as links between these nodes.

The S-diagram corresponding to an example database is shown in Figure 4.2.
E-classes are shown as rectangular nodes with the name of the class within the
node, and D-classes are shown as circular nodes with the name alongside or below
the node. A semantic association is represented as an outgoing edge from a defining


65
meta-class CLASS is an important meta-class since its specification defines the struc
tural properties of a class in the data model, and its implementation defined in terms
of methods and rules realizes the behavioral properties of a class in the data model.
Thus, modifying the specification and implementation of this class changes the se
mantics of a class in the data model.
In XKOM, the definition of a class includes a class name, a set of associations,
a set of methods, and a set of rules. Corresponding to this concept of a class in
XKOM, the class CLASS is defined to have the following attributes: classID, class-
Name, setOfAssociations, setOfRules, and setOfMethods. The set of associations as
sociated with a class includes GENERALIZATION associations, AGGREGATION
associations or any other type of association that may be defined. In its core or
kernel form, XKOM supports two types of classes: D-classes and E-classes. Thus, a
class object may represent an E-class or D-class. Corresponding to this concept, the
class CLASS is sub-classed into class E-CLASS and class D-CLASS. Class E-CLASS
represents those class objects that are E-classes, and class D-CLASS represents those
class objects that are D-classes.
Similar to class CLASS, class ASSOCIATION represents associations or relation
ships between classes as objects. Such association objects may include relationships
such as generalization, aggregation or any other types of associations. Since asso
ciation objects are system-named objects, the class ASSOCIATION is subclassed
from class E-CLASS OBJECT. The meta-class ASSOCIATION is an important
meta-class since its specification defines the structural and behavioral properties
of a relationship or association in the data model, and its implementation realizes
these properties. Thus, modifying the specification and implementation of this class
changes the semantics of an association in the data model.
In XKOM, the definition of an association includes an association name, a defin
ing class (the class that defines the relationship), and one or more constituent classes


181
(CCI). In Figure 8.6, we show how the meta-class system is extended with these two
classes.
The parameterized rules axe now specified in these classes. For example, the
parameterized rule presented in Section 8.3.1 which applies to defining classes for
I-associations is specified in the class ECLASS OBJECT DCI. Any class which is a
defining class for an I-association is specified as a sub-class of ECLASS OBJECT
DCI, and inherits the appropriate parameterized rules. A similar approach applies
to constituent classes.
Consider the class Advising, shown in Figure 8.1, which is a defining class for
an I-association. Instances of class Advising are E-class objects which belong to a
class which is a defining class for an I-association. Thus, class Advising is defined
as a sub-class of ECLASS OBJECT DCI as shown in Figure 8.6. Consequently, the
parameterized rule shown earlier is inherited to class Advising and translates to the
following bound rule.
RULE a-br850
Trigger-cond(After InsertObject(Advising),
After Insertlnstance(Advising))
IF Advising
THEN Advising *AND (Faculty, Grad)
Corrective-action Delete_Object(Advising)
END
We note that classes such as ECLASS OBJECT DCI, ECLASS OBJECT CCI,
etc., allow a common set of parameterized rules to be specified once in order to define
the semantics of different association types. Subsequently, such rules can inherited
and applied to all application classes which contain these association types. In Figure
8.7, we illustrate how such model defining rules may be stored. Figure 8.7(a) shows
the static approach in which the bound rules are stored with each of the classes
to which the rules apply. Figure 8.7(b) shows the dynamic approach in which the


To the memory of my father
And to my mother, Jubeda,
for being so courageous in life


118
objects, and the actual method is implemented in the classes that comprise the
module. This illustrates the Uses relationship between component classes of the
module. The Interface class, in effect plays the role of a message controller, and
directs messages appropriately. This is illustrated (using C++ like code) below:
DicHandler::getAIISuperClassesOf(char* classname){
IfD x;
CLASS* y;
KernelObjectHandler *hl;
/* unpack argument into appropriate objects */
x = hi select("CLASS", classname);
/* x is now the iid of the class whose name is the string variable */
/* get virtual pointer to the class object */
y = #x;
/* send message to appropriate object */
y* getAIISuperClassesOf();
}
The actual computation of the result is done by the function getAHSuperClass-
tsOfQ in the meta-class CLASS.
As a final example, we illustrate the use of the KernelObjectHandler class. This
class represents an interface consisting of the kernel object manipulation operations
described in Section 6.3. Clients of the KOMS invoke these operations as follows;
I ID-ARRAY x;
KernelObjectHandler *hl;
x = hi - select(TEACHER", age > 30);
The handler or interface class then follows the same procedure as described
above for the DicHandler. Note that in the above implementation of the getAll-
SuperClasses, we used the select procedure without a handler as a simplification for
explanation purposes.
6.4.4 System Extensibility
All the modules in the implementation of KOMS have been designed and imple
mented in the manner described above. Consequently, each module can be extended


AN EXTENSIBLE DATA MODEL AND EXTENSIBLE
SYSTEM ARCHITECTURE FOR BUILDING ADVANCED KNOWLEDGE
BASE MANAGEMENT SYSTEMS
By
RAHIM MOHAMED YASEEN
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1991


150
LEGEND
T a TEACHER
S SECTION
C COURSE
UPD: indicates Update operation
SEL: indicates Select operation
O indicates association-set
indicates CLASS from
DATABASE
O indicates OPERATION
NODE
T S C
1112
0000
1112
T
S
C
t32
s51
c61
t32
s33
c38
t21
s23
c82
Figure 7.10: Processing a query having Associate operators


77
Figure 5.1: Meta-classes as object instances


178
the following parameterized rule which applies to objects of the defining class of the
interaction association.
RULE pr850
Trigger-cond(After InsertObject(SELF), After Insertlnstance(SELF))
IF SELF
THEN SELF *AND
constituentClassesOf(SELF, associationType= I)
Corrective-action Delete_Object(SELF)
END
In the above rule, SELF represents the class to which the rule applies (i.e., the
defining class). Functions such as constituentClassesOfQ are used to specify other
classes that are used in the specification of the rule. Any other constraints that
apply to the I-association can be similarly specified using parameterized rules.
8.3.2 Extending the Meta-class System
Two steps are involved in the extension of the meta-class system to support the
new association type. In the first step, the meta-class system is extended to add the
new association type itself. In the second step, the meta-class system is extended to
add the parameterized rules and to provide a mechanism for binding these rules to
application classes that contain I-associations.
We now explain the first step of the extension. A new meta-class called INTER
ACTION is defined as a sub-class of the meta-class ASSOCIATION. Since instances
of the class ASSOCIATION represent associations, instances of the class INTER
ACTION represent those associations which are interaction associations. This is
similar to the system-defined meta-classes AGGREGATION and GENERALIZA
TION. This is illustrated in Figure 8.6.
Note that instances of class CLASS represent classes. Each class has a set of asso
ciations, as represented by the attribute, set Of Associations, of class CLASS in Figure
8.6. Since the class ASSOCIATION now has a sub-class called INTERACTION, the


170
parameterized rule: a rule which is specified for a given class and is defined in terms
of parameters. These parameters include variables which represent classes and
associations, and functions defined over such variables.
Before an explicit or parameterized rule which applies to a given class can be
processed, a binding process may be necessary in which the rule is bound or modified
so that the rule is expressed in terms of classes and associations that are appropriate
for the given class. For explicit rules, the binding process may involve modification
of the rule to be applied to other classes (e.g., sub-classes). For parameterized rules,
the binding process involves assigning appropriate classes and associations to the
variables specified in rules and evaluating the functions specified in the rule.
The concept of a bound rule is introduced to represent the output of the binding
process. Thus, a bound rule is a rule in which all the specified classes, associations,
variables, and functions are bound to their final values. We note that a bound
rule, unlike explicit or parameterized rules, is not externally specified. Rather, it is
internally generated, and represents an internal mechanism for rule processing. We
now describe rule binding and processing strategies. In the examples that follow, we
shall use the following naming conventions for a rule: the rule-id is represented as
an integer, the rule-id is tagged with a token er, pr to indicate the type of rule, and
an optional tag will be used to indicate the class in which the rule is specified. For
convenience and uniformity, a bound rule will be indicated by a rule-id tagged with
the token br, and an optional tag will be used to indicate the class to which the rule
is bound.
Explicit rules
In order to execute an explicit rule, the corresponding bound rule must be gener
ated. For an explicit rule that is specified in a particular class, the bound rule that
applies to that class is the same as the explicit rule. Consider the schema shown


80
/* Get all associations of class CLASS */
z = y -> getSetOfAssociations();
In this example, the association objects associated with the class CLASS object
are retrieved. In the first step, the instance identifier of the class CLASS object is
looked up (using a select operator). Then, a lookup operator (#) is used to map from
the instance identifier (IID) to a virtual memory pointer (y). The virtual memory
pointer (y) now points to the class CLASS object. The IIDs of the association
objects associated with the class CLASS object (represented by z) are now accessed
by sending an appropriate message of class CLASS to the class CLASS object (y).
The approach and techniques described above to achieve parameterization can be
extended to rules and methods. Thus, rule and method objects can be parameterized
and manipulated in a manner similar to classes and associations.
5.3 Application Meta-information
The meta-information that relates to an application is manipulated in exactly
the same manner as the meta-information that relates to the model itself. The same
technique and approach described above is used. However, instead of manipulating
classes and associations that belong to the data model, we manipulate classes and as
sociations that belong to the application. We illustrate our approach to management
of application meta-information using the following examples.
In the first example, we illustrate how the set of all instances of an application
class can be accessed. This is the mechanism by which the extension of a class is
stored and accessed.
IID x; /* x represents an IID object */
IID-ARRAY r; /* r represents an array of IIDs */
ECLASS* p; /* p represents a pointer to an E-class object */
/* Assign to x the E-class instance representing class TA. That is, x is now
the ¡id of an instance of E-CLASS representing the class TA object */
x = select("ECLASS", className=,TA");


136
the sepaxate linked lists that constitute the set of patterns. For example, in the
linked list approach it is not easily possible (compared to the adjacency matrix
approach) to determine all object instances from a given class present in a set of
instance graphs or patterns.
Figure 7.4: Linked list structures for representing a set of association patterns
7.3.3 An Optimized Data Structure
The 3-dimensional adjacency matrix representation has one major shortcoming-
-it requires 0(n2m) storage compared to 0(nm) storage for representations such
as linked lists. To reduce this significant storage requirement, we now propose an
optimization based on the following observations;
1. the 3-dimensional matrix is usually very sparse since the degree of connectivity
at each node is not very high
2. all extensional patterns usually possess a similar (homogeneous) interconnec
tion structure: an interconnection structure that corresponds to the intensional
pattern specified in the query. Thus, all IGAMs have 0s and ls in the corre
sponding positions. Only the diagonal elements, which represent the objects


14
Physical extensibility refers to extensions to the lower (physical) layers of a sys
tem architecture, and include extensions such as different data organizations,
file structures, access paths, and other storage related aspects.
We note that data model extensibility and logical extensibility are two distinct
concepts: the former is an abstract concept related to data modeling and the lat
ter is a physical concept related to a system architecture. To support data model
extensibility, an underlying system architecture must possess logical extensibility.
The reverse is not always true since a system can possess some forms of logical
extensibility in the context of a fixed data model (e.g., the relational model).
While traditional DBMSs cater to two kinds of users, namely, Database Admin
istrators (DBAs) and end-users, it has been proposed in [BAT88, CAR86b] that
extensible systems require a third kind of user: a DBMS Implementor (DBI) or
DBMS Customizer (DBC). The DBI or DBC is a highly skilled professional, whose
task is loosely defined to be that of customizing or configuring an extensible system
to meet the requirements of specific application domains.
The extensible system approach is characterized by (a) the data model used
as a basis and the degree to which data model extensibility is provided, (b) the
mechanisms proposed for extensibility, and (c) the various forms and level of logi
cal/physical extensibility supported by the system. We now analyze several existing
extensible systems in the context of the above criteria.
Exodus [CAR86a, CAR86b] is designed around a toolkit approach, in which
kernel DBMS facilities and a set of software tools for semi-automatic generation of
application-specific DBMSs are provided. It builds upon a fixed storage manager
which uses a kernel model of unstructured and untyped objects represented as byte
sequences. The kernel does not support any features present in object-oriented data
models. At the logical level, Exodus provides for application specific Abstract Data
Types (ADTs). A programming language called E (an extension of C) is the tool


124
instance graphs play an important role in determining a basis for query processing
in object-oriented databases. Internally, queries must be processed by manipulating
sets of instance graphs. Each instance graph contains object instances as nodes, and
object references as edges. Query processing is achieved by starting with a set of
one node sub-graphs, and progressively generating a set of other sub-graphs until the
final set of graphs (having as many nodes as there are object classes in the query) is
reached. By taking a graph-based approach, it is possible to maintain the property
of closure not only at the final stage of the query but also at all intermediate stages
during query processing.
When addressing representational issues for the set of graphs that are to be
processed in order to compute a query, the following considerations apply:
Organization of the original database: The original database is structured and orga
nized in a manner that accommodates storage and access on secondary storage
devices such as magnetic disks. Large databases are usually decomposed and
stored in organizations such as files and records. For example, in relational
databases, the data is not stored in one large universal relation but rather is
decomposed into many smaller and normalized relations when stored on disk.
In object-oriented databases too, the original database may be visualized as
one giant network of objects. However, such a view is not suitable for organiza
tion on secondary storage. Instead, the database is decomposed and stored as
individual objects and instances. This may be viewed as a node representation
of graphs in which a graph is decomposed into individual nodes and each node
stores adjacency information regarding all the nodes it is connected to. In the
approach we propose, objects in the original database are represented using
the Distributed Model of Storage (DSM) described in Chapter 6.


7.4.2 Processing Algebraic Query Operators 143
7.4.3 Algorithms for Algebraic Query Operators 147
7.4.4 Processing Query Execution Plans 147
7.5 Extending the Graph-based Approach to Rule Processing 154
7.5.1 Rule Trees 154
7.5.2 Deriving New Associations 156
7.6 Implementation of Query Processor 158
7.6.1 System and Module Configuration 158
7.6.2 Class System 162
8 USING RULES TO ACHIEVE MODEL EXTENSIBILITY 166
8.1 The Object-oriented Semantic Association Model (OSAM*) 166
8.2 Specification and Processing of Rules 169
8.2.1 Rule Types 169
8.2.2 Rule Storage and Binding Strategies 174
8.3 Realizing Association Extensibility 176
8.3.1 Specifying Parameterized Rules 176
8.3.2 Extending the Meta-class System 178
9 SUMMARY AND FUTURE RESEARCH 184
9.1 Summary 184
9.2 Future Work 186
A DICTIONARY ACCESS FUNCTIONS 189
B ALGORITHMS FOR KERNEL OBJECT OPERATORS 191
B.l Create 191
B.2 Insert 191
B.2.1 Insert-Instance 191
B.2.2 Insert-Object 192
B.3 Update 193
B.3.1 Update-Instance 193
B.3.2 Update_Object 194
B.3.3 Associate 195
B.3.4 Dissociate 196
B.4 Delete 196
B.4.1 Delete-Instance 196
B.4.2 Delete-Object 197
B.4.3 Destroy_Object 198
B.5 Retrieve 198
B.5.1 Retrieve 198
B.5.2 Select 200
B.5.3 Star 201
B.5.4 NonStar 202
C ALGORITHMS FOR QUERY PROCESSING 203
C.l Associate () 203
C.2 NonAssociate(l) 205
C.3 Union(+) 206
viii


87
6.2.2 Logical Storage Structure of an Instance
Based on the Distributed Model of Storage (DSM), we now investigate the storage
representation of a generic instance. In object-oriented data models, various types
of objects such as complex/composite objects, structured objects, and large/small
unstructured objects have been identified and studied. The proposed storage repre
sentation must encompass these various types of objects. To do so, we present below
a discussion on the characteristics of various types of objects, and how they can be
supported in a single and integrated storage representation.
1. Structured Objects: These objects are regular objects recognized by most
object-oriented data models. Such objects have a regular structure described
by the class that they belong to, and can be typically considered as objects
described in terms of other objects. The structural characteristic of this type
of object is that the object usually contains two components. First, it contains
descriptive data, which are data values embedded directly in fields of the
storage object, and are usually expressed using data types such as character,
integer, string or other complex data types. Second, it contains an object refer
ence component (association data), which represents object references (links)
between this object and other objects. A key operational characteristic for this
kind of object is set-oriented processing.
2. Large/Small unstructured objects: These objects are objects having a struc
ture which is typically expressed as a sequence of uninterpreted bytes: its size
can range from 1 KByte to 100+ MBytes. A key characteristic of the large
unstructured objects is the need to uniformly and independently access and
manipulate parts of such large objects. Examples of such storage objects are


215
[SU89]
[TH089]
[VEL89]
[VER82]
[XIA89]
[YAS90]
[YAS91]
[ZAN83]
S. Y. W. Su, V. Krishnamurthy, and H. Lam, An Object-oriented
Semantic Association Model (OSAM*) in AI in Industrial Engineering
and Manufacturing: Theoretical Issues and Applications, S. Kumara
and R. L. Kashyap (ed.), American Institute of Industrial Engineering,
1989.
C. Thompson, D. Wells, J. Blakeley, T. Bannon, J. Chen, S. Ford, T.
Ekberg, A. Gupta, J. Joseph, E. Perez, D. Sparacin, B. Peterson, M.
Shadowens, C. Wang, and S. Thatte, Open Architecture for Object-
oriented Database Systems, Tech. Report 89-12-01, Information Tech
nologies Laboratory, Texas Instruments, Dallas, TX, 1989.
F. Velez, G. Bernard, and V. Darnis, The O2 Object Manager, An
Overview, Proceedings of the 15th International Conference on Very
Large Databases, Amsterdam, Holland, Aug., 1989.
G. M. A. Verheijen, and J. Van Bekkum, NIAM: An Information
Analysis Method, in Information Systems Design Methodologies: A
Comparative Review, T.W. Olle, H.G. Sol, and G. Verrijn-Stuart (ed.),
North Holland, 1982.
D. Xia, The Implementation of OSAM* KBMS Prototype in Vbase,
Internal Report, Database Systems Research and Development Center,
University of Florida, 1989.
R. Yaseen, XOOKS: An Extensible Object Oriented Kernel System,
Ph.D proposal, Database Systems Research and Development Center,
University of Florida, May, 1990.
R. Yaseen, S. Y. W. Su, and H. Lam, An Extensible Kernel Object
Management System, Proceedings of ACM OOPSLA, Phoenix, AZ,
Oct., 1991.
C. Zaniolo, The Database Language GEM, Proceedings of the ACM
SIGMOD International Conference on Management of Data, San Jose,
CA, May, 1983.


76
We illustrate this concept by using an important bootstrap class, the meta-class
CLASS, as an example. To bootstrap the meta-class CLASS, the meta-class CLASS
must be first defined, and the first object that must be instantiated in this class
is the object that represents the meta-class CLASS itself. This object is the first
class in the system and is also the first object of the first class. For the sake of
clarity, we will term this first object as CLASS-object. The CLASS-object is the
only object in the system whose object-id is identical to the class-id of the class
it belongs to. The instance-id is thus a concatenation of two 32 bit integers, both
of which have the same value. In the model of the model, the attribute called
SetOflnstances defined for E-CLASS, represents the fact that all E-classes have an
extension. The meta-class CLASS is also an E-class, since instances of class CLASS
represent system-named objects. Hence, CLASS-object must also be instantiated
into the meta-class E-CLASS. The extension of the meta-class CLASS is represented
by the setOflnstanees attribute of the instance in E-CLASS corresponding to the
CLASS-object. Thus, if we iterate the extension of the meta-class CLASS, we would
get all classes in the system.
The bootstrap process proceeds by setting up the class hierarchy that defines
the model, setting up the first object of class CLASS, and then, instantiating meta
classes such as CLASS, ASSOCIATION, etc., with all necessary objects that describe
the model itself (that is, classes and associations that describe the model). In Figure
5.1, we show some objects and meta-classes that represent model meta-information
after the bootstrap process is completed. Once the bootstrap process is completed,
the model and system objects have been created and the model is ready for use by
an application.
Within the context of reflexivity, we also use the term bootstrap in the sense
that another model or system must be used to generate the first version of the target


pattern id
(offset in IGT)
T
S
L
#1
t32
s51
145
#2
t32
s33
134
#3
t27
s62
169
#4
t74
s86
173
#5
t75
s71
169
#6
t58
s33
134
Instance Graph Table (IGT)
L
Offset in IGT
134
#2, #6
145
#1
169
#3, #5
173
#4
Class Index for class Location
Figure 7.8: A Class Index for Sets of Association Patterns


Ill
6.3.4 Algorithms for Processing Kernel Object Manipulation Operators
In Appendix B, we present algorithms corresponding to the set of kernel object
manipulation operators described above. We note that for navigating class hier
archies, these algorithms make extensive use of tail-recursion and depth-first tree
search techniques.
6.4 Implementation of the Kernel Object Management System
6.4.1 System and Module Configuration
The system configuration of ROMS as a layer on top of a storage management
layer is shown in Figure 6.8, with the module configuration of ROMS shown as co
operating modules within this layer. Components of ROMS have been implemented
in C++, and use the persistent facilities provided by ONTOS in the underlying stor
age layer. Details of this implementation can be found in [LAW91]. We now present
a brief description of the components that constitute the system configuration of
ROMS.
Rernel object manipulation module
This module represents the system components that implement the set of kernel
object manipulation operators. Structures, access methods and algorithms for this
purpose axe encoded here. The module enforces the partitioning of an object along
class boundaries, and also implements the inheritance strategy corresponding to the
Distributed Model of Storage (DSM).
Meta model and data dictionary module
This module manages the model meta-schema and the data dictionary compo
nents of the ROMS. Classes that describe the model and modify the model semantics
are defined and implemented in this module. The module also implements the data


5
overcome the fixed nature of existing data models so that many diverse application
domains may be supported. An extensible data model approach allows the semantic
gap to be reduced since the data model can be tailored to a specific application
rather than forcing an application to use a specific data model.
We now analyze system architecture considerations for next-generation KBMSs.
A KBMS represents the implementation or realization of a specific data or knowl
edge model. Initially, many eaxly data models served as conceptual database design
and modeling tools in various application domains. The maturing of these appli
cation domains resulted in an increasing need for developing KBMSs or DBMSs
corresponding to the various data models so that databases or knowledge bases cor
responding to these applications could be realized. Several approaches have been
suggested [ABI86, AGR89, ALB85, ONT88, BAN87a, BAN87b, COP84, DAD86,
MAI86a, FIS87, SER87, SKA86].
One approach is to build layers of software on top of existing traditional DBMSs
to implement the semantics of a particular data model. While this approach enables
the use of existing DBMSs, the large semantic mismatch between the semantics of
advanced data models and that of the underlying database engine entails the devel
opment of extensive layers of system software to perform numerous mappings which
axe typically complex, cumbersome, and inefficient. An additional disadvantage of
this approach is that the monolithic nature of traditional DBMS architectures is not
conducive to functional extensions. A second approach is to develop a dedicated
system for each advanced data model and for the corresponding application domain.
While this approach would eliminate any semantic mismatch and provide high per
formance, it is not feasible due to the excessive monetary costs and development
time it would entail. The two solutions enumerated above represent two extremes
in the solution space of the problem. In pursuit of a reasonable middle ground, two


139
Each element X(i,j) of the CGAM consists of a 4-tuple [a, b,c,d\. This 4-tuple
represents a set of extensible codes as follows:
a is a one bit code (0 or 1). 0 signifies that there is no association between class C¡
and class Cj at the schema level. 1 signifies that such an association exists.
6 is a one bit code (0 or 1). 0 signifies that there is no association at the instance
level between instances of class C{ and instances of class Cj. 1 signifies that
such an association exists.
c is an integer (0 ... 9) used to indicate the operation specified in the query between
class Ci and class Cj. 0 indicates no operation, 1 indicates *, 2 indicates !, and
the others are user definable or reserved for future use.
d is an integer (0 ... 9) used to specify the type of association between classes C{
and Cj of the query. 0 indicates no association, 1 indicates Generalization, 2
indicates Aggregation, 3-7 are user definable, 8 indicates an explicit join over
domain compatible attributes, and 9 indicates a derived association.
Normalized instance graphs
To allow for less-complex algorithms for processing queries, the proposed data
structure uses the concept of of a normalized extensional association pattern. That
is, a given pattern can have only one object instance from a corresponding class. In
terms of instance graphs, this implies that each node of a single instance graph can
contain only one instance from the corresponding class. In Figure 7.6, we illustrate
the notion of normalized patterns and the corresponding graph-based representation.
Unnormalized association patterns can be normalized easily and efficiently, at
the expense of additional storage space. Re-creating an unnormalized association
pattern from normalized patterns is somewhat tediousit is expected that at the
end of a query, such a process is either not necessary (if the result is not stored)


122
flat relational tables are used as the basis for query processing in relational DBMSs.
Intermediate/final results of set-oriented queries axe represented as relations, and are
generated by the use of algebraic operations such as select, project, and join. Such
data structures ensure that the closure property is maintained. Similarly, for object-
oriented database management systems, it is necessary to define appropriate and
formal data structures to serve as a basis for processing set-oriented queries. Such
data structures are considered appropriate if they maintain the closure property.
As discussed in Chapter 2, a shortcoming of existing approaches to query process
ing in object-oriented databases is the absence of an appropriate and formal structure
to serve as a basis for query processing. In several query languages and process
ing techniques which have been proposed for o-o database systems [SHI81, ZAN83,
MAI86a, ST086, ONT88, ROW87, BAN88, CAR88, KIM89a], an appropriate and
formal structure for use as a basis for query processing has not been clearly defined.
Some systems such as Vbase [ONT88], Iris [FIS87], Postgres [ST086, ROW87], and
Exodus [CAR88] have taken the approach of combining relational query process
ing structures and techniques with object-oriented databases. Using data structures
such as nested relations can result in semantic mismatch problems and violation of
the closure property. Other systems such as ODE [AGR89], Gallileo [ALB85], and
OPAL[SER87] have taken the approach of providing query capabilities through the
use of Database Programming Languages (DBPLs). Such DBPLs lack a set-oriented
query capability and manipulate objects singly using programming language con
structs. Accordingly, a query result containing objects and associations that span
across many classes cannot be specified. Another approach, used in systems such
as Orion [BAN88, KIM89a], GEM [ZAN83], and DAPLEX [SHI81] is to use ob
jects from one class (the target or anchor class) as a basis and navigate along the
class hierarchy rooted at that class to process a query. Thus, the result represents


192
IF AttributeType = value attribute
THEN setValueAttribute(Oj, Ap, Vp)\
IF AttributeType = reference attribute
THEN
BEGIN
Cai= [hdie^getAssociatedClass(C, Ap)];
associate(0,-, Oj, Ca{, Vp, Ap);
END
END
SuperClassList = (sc-list)= [hicgetSuperClassesOf(C,)];
FOR q = 1 TO [No of elements in (sc-list)]
BEGIN
aSuperClass = C3C= [(sc-list)>getElement(q)];
associate(C,-, Oj, C3c, Oj, G);
END
return (success);
END
B.2.2 Insert-Object
insert_Object(C,-, Oj, (arg-list));
BEGIN
DicHandler* hdic',
OTHandler* hot,
BOOLEAN flag;
/* Check if class is valid and if class already contains this instance */
IF NOT [foe-HsClassfa-)]
THEN return (failure: No Such Class);
IF [h0tisInstanceOf(C', Oj)\
THEN return (failure: Object Exists);
flag = RecursiveInsertObject(Cj, Oj, (arg-list));
return (flag);
END
Auxilliarv Function: RecursivelnsertObiect
This is an auxilliary function that uses tail-recursion and navigates up the class hi
erarchy adding instances to classes in the hierarchy as necessary.
RecursiveInsertObject(C',-, Oj, (arg-list));
BEGIN
DicHandler* hic,
OTHandler* hot',
BOOLEAN flag;
/* conditions for terminating recursion */
/* navigate up the hierarchy till we find an existing instance */
IF [h0tHsInstanceO^C,-, Oj)]


154
CONTEXT Teacher Section *AND (Location [capacity > 60],
Course [course# < 5000]
SELECT Teacherfname]
Display
This query illustrates a branching association pattern based on an AND condi
tion at the fork class. This branching association pattern is decomposed into an
association algebra expression as follows.
Teacher Section AN D(Location, Course)
= (Teacher Section Location) (Teacher Section Course)
Based on this decomposition, the corresponding query execution plan is shown
in Figure 7.13. It illustrates the use of the A-Intersect operator. The A-Intersect
operator in this query corresponds to the example illustrated previously in Figure
7.9(d). Again, we note that fi = Teacher Section, is not computed twice. Rather,
the same result (/z) is shared by the two branches of the query tree.
7.5 Extending the Graph-based Approach to Rule Processing
In order to apply the graph-based approach to the execution of rules, we introduce
the concept of rule treesan extension of query trees. The following sections describe
rule trees and the application of the graph-based approach for processing rules to
derive new associations.
7.5.1 Rule Trees
In order to support processing of rules on set-oriented data in object-oriented
databases, the query tree structure is modified to realize a rule tree by the incor
poration of three decision making nodes; an IF node, a THEN node, and an ELSE
node. Once a rule is triggered, a rule tree containing such IF, THEN, ELSE nodes
corresponding to IF, THEN, ELSE clauses of a rule is executed. Such a rule tree
can accommodate the various types of rules described previously in Chapter 4.


30
"real world"
model
abstract specification
and implementation
of "real world"
Figure 3.3: Applying data modeling techniques for model and system specification


SECTION
TEACHER
COURSE
LOCATION
(a) A single association pattern
Cl
Q2
03
C4
Cl
c61
1
0
0
C2
1
s51
1
1
C3
0
1
62
0
C4
0
1
0
145
Cl 3 COURSE
C2= SECTION
C3= TEACHER
C4= LOCATION
(b) The Instance Graph Adjacency Matrix (IGAM)
Figure 7.2: The Instance Graph Adjacency Matrix (IGAM) for
representing an association pattern
a) A single association pattern;
b) The Instance Graph Adjacency Matrix (IGAM)


152
LEOEND
TA = TA
T = TEACHER
S SECTION
C COURSE
DIS: indicates Display operation
RET: indicates Retrieve operation
SEL: indicates Select operation
O indicates association-set
indicates CLASS from
DATABASE
indicates OPERATION
NODE
TA T S C
mi
0000
0000
1022
0000
1112
TA
T
s
C
ta74
t74
A
A
ta75
t75
A
A
A
A
s51
c61
A
A
s33
c38
A
A
sl8
c81
A
A
s23
c82
TA
a =
c38
c61
c81
c82
c43
c84
c85
TA
T
a =
\L =
Figure 7.11: Processing a query having a NonAssociate operator


APPENDIX C
ALGORITHMS FOR QUERY PROCESSING
Algorithms for processing key association algebra operators using the adjacency-
matrix data structures are presented below. The algorithms for the associate and
non-associate operators have been carefully designed to fit in with the model and
system, and utilize the class index presented in Chapter 7. The algorithms for
the union and intersect operators are straightforward and no optimization has been
carried out. In particular, the algorithm for the intersect operator is analogous to
the nested-loop algorithm for the join operator in relational systems. In order to
avoid complexity, the following algorithms are presented as algorithmic steps rather
than as pseudo-code.
C.l Associate (!
7 = a [R(Cm, Cn)\/3
Given:
oc= (atcGAM, ociqt) where
aCGAM= Class Graph Adjacency Matrix of a
\ oligt Instance Graph Table of a
¡3= (Pcgam, Pigt) where
ficGAM Class Graph Adjacency Matrix of ¡3
Pigt= Instance Graph Table of ¡3
Step 1: Generate CGAM of result
1cgam= merge {olcgam, Pcgam)
Step 2: Construct class index for a
aci= class index on class Cm of a
(by default, Cm is the right-most class in a)
Step 3: Construct class index for ¡3
(3ci= class index on class Cn of /?
(by default, Cn is the left-most class in ¡3)
203


20
must address the issue of defining precisely the semantics of the newly created class
and object.
2.4 Methodologies for Software Development
In this section, we review design methodologies that apply to the development
of database system software since our approach emphasizes that the system soft
ware itself must be developed in an extensible manner in order to realize system
extensibility.
Early approaches to software development were largely ad-hoc processes under
going many iterations of informal design, coding, and testing. A more methodical
approach to software development was introduced through the concept of structured
methods. Examples of structured methods or structured design include Structured
Design [CON79], Structured System Analysis [GAN79], and Jackson System De
velopment [JAC83]. In the structured method or structured design approach, the
system is designed from a functional viewpoint. First, a high-level view of the sys
tem is developed, and then, using functional decomposition, this view is decomposed
into a more detail design in a step-wise manner.
More recently, the object-oriented paradigm having several desirable features
such as encapsulation, data abstraction, and information hiding, has been proposed
as a methodology for software design. In this approach, the system is viewed as a
collection of objects rather than a collection of functions. Here, messages which axe
passed from one object to another take the place of functions. Each object has a
set of operations which axe invoked through messages. Liskov and Guttag [LIS86],
present a comprehensive approach to data and function abstraction, and a guide to
program development using such abstractions.
Booch [B0086] focuses on the design of software systems using object-oriented
development. Booch describes a system structuring technique based on an object-
oriented decomposition using data or functional abstractions and decompositions.


SOURCE
(KERNEL)
KBMS
TASK
| KBMS Customizer (KBC) ¡
customizes Kernel KBMS 1
! to produce a Target KBMS 1
TARGET
KBMS
TASK
* KBMS Administrator (KBA)
J implements a given application
^ on the target KBMS
APPLICATION
(TARGET)
KNOWLEDGE
BASE
KERNEL/
KBMS
[special case: target KBMS = source KBMS = kernel KBMS]
a
application
knowledge
base
B
application
knowledge
base
B
application
knowledge
base
Figure 3.2: The Proposed Extensible KBMS Scenario


38
2. Powerful Behavioral Abstractions: The data model must provide powerful be
havioral abstractions which include methods and rules. Methods serve as an
efficient and procedural approach to specifying behavioral semantics and can
be used by the system for developing and modifying system software as well as
by end-user applications. Rules are important because they serve as a powerful
declarative approach for specifying behavioral semantics. The declarative na
ture of rules aids extensibility since rules can be used in a declarative manner
for specifying and tailoring system and application semantics.
3. Extensibility: The data model must be extensible. That is, it must provide the
necessary constructs to specify and extend the data model. Consequently, the
system underlying such a model can be made extensible, so as to realize the
data model extensions.
4.2 Basic Data Modeling Constructs: Structure
In this section, we address the first requirement that the data model must satisfy,
namely, that the model provides a set of basic structural abstractions. To support
the kernel or core concept, a deliberate attempt is made to identify constructs that
axe neither semantically too specialized nor too primitive.
4.2.1 Object. Class, and Instance
Object
Since an object is a fundamental notion underlying all object data models,
XKOM supports the notion of objects.
Kernel Object: is a basic unit that models the abstract representation of any entity.
Unlike many data models and systems which tend to view objects mostly from
an application point of view, we take the view that everything is an object. Thus,


11
in different layers contributed to an architecture which has produced widely accepted
results in the domain of relational database system architectures.
2.1.2 Object-oriented DBMS Architectures
As described in Chapter 1, the semantic inadequacies of traditional data models
and their corresponding systems (e.g., relational) led to the development of object-
oriented data models and corresponding system architectures.
Object-oriented DBMSs aim to provide a single system having powerful capabil
ities to handle the requirements of advanced application domains. In particular, the
system is based on a single high-level object-oriented data model. This approach
usually requires an application to use a specific (fixed) data model and makes no
allowance for application domains whose requirements fall outside the original spec
ification of the data model and underlying system architecture. We now briefly
describe some of the more prominent systems using two different categories to clas
sify such systems.
In the first category of object-oriented systems, systems such as Gemstone [MAI86a],
Vbase [ONT88], and ONTOS [ONT90] have been developed as object-oriented en
vironments which provide a specific data model together with persistence and a
database programming language for defining and manipulating objects. Gemstone
is based on the SmallTalk Data Model (STDM) [COP84] It introduces the notion of
persistence objects into the Smalltalk Data Model by providing a large extended, vir
tual memory together with a Smalltalk-like database language called OPAL [SER87]
for manipulating objects. Vbase provides its own object-oriented data model to
gether with two languages. A Type Definition Language (TDL) for defining user-
defined data types, and a language called COP for writing methods associated with
a class or type. ONTOS, the successor to Vbase, is based on the C++ data model,
and provides persistence to objects in the C++ programming language. The C++
language is used for defining types, and also, as a database programming language.


84
generic class of clients, KOMS must support set-oriented processing, value-
based processing, and association-based processing.
3. Extensibility Requirement: In order to support the various requirements of
clients in the upper layers, the software modules of KOMS must be designed
and developed in an extensible manner.
6.2 Storage Issues for Kernel Objects
In KOMS, an important issue is a generalized mapping of kernel objects to the un
derlying storage layer. To facilitate such a mapping, a well-defined model of storage
for kernel objects is developed, and issues relating to such a storage representation
and mapping are investigated.
6.2.1 Models of Storage: Static Storage Model vs Distributed Storage Model
In implementing the structural aspects of XKOM, the storage and processing of
objects in a generalization or super-sub class hierarchy is an important consideration.
This factor determines the storage and processing of inherited attributes.
We consider two possible strategies for objects in a Generalization (G) hierarchy;
a Static Storage Model (SSM), and a Distributed Storage Model (DSM). These
strategies are illustrated in Figure 6.1.
In SSM, an object physically exists in exactly one class of the class hierarchy. In
this case, an object is pushed to the lowest class it belongs to in the hierarchy, and
each object stores direct attributes of that class, and also stores statically inherited
attributes from all superclasses. Thus, for example, a teacher object (based on the
schema of Figure 4.2) contains storage slots or fields for direct attributes (degree,
salary), and for inherited attributes (name, age, ssn).
In DSM, the structural properties of an object are physically distributed into as
many classes as it belongs to. An instance is thus the corresponding partition of
an object in a given class. Each instance only stores the attributes defined for that


ol: represents a Person object
o2: represents a Teacher object
o3: represents a TA object
PERSON
(a) Static Storage Model
(b) Distributed Storage Model
Figure 6.1: Models of storage
a) Static Storage Model (SSM);
b) Distributed Storage Model (DSM)


24
4. Mechanisms for system extensibility.
5. A novel graph-based approach for query/rule processing in object-oriented
databases.
6. An integrated approach to knowledge management.
3.2 Overview of our Approach
In Chapter 1, we analyzed the task of developing a next-generation KBMS from
two aspects; the data model aspect and the system architecture aspect. Based on this
analysis, we propose an approach that addresses these two aspects in an integrated
manner.
To address the first aspect, we define an appropriate data model to serve as a
basis for the proposed extensible system. In this regard, we were greatly influenced
by many desirable features that object-oriented data models possess over traditional
data models such as relational, network, and hierarchical. These include features
such as data abstraction, encapsulation, polymorphism, inheritance, etc. Object-
oriented (00) data models provide two forms of abstractions; structural abstractions
and behavioral abstractions [DIT86]. Thus, a class in an 00 data model encapsu
lates structural properties of an object such as its relationships with other objects
together with behavioral abstractions such as methods that operate on the object.
However, many high-level object-oriented data models capture advanced semantics
in complex structural constructs. Thus, different object-oriented data models may
provide similar semantics by using various structural constructs in different ways.
To unify the semantics corresponding to the diverse structural constructs in dif
ferent models, we propose an extensible Kernel Object Model (XKOM) to serve
as the basis for our approach. XKOM is a generalized base model which contains
the basic structural abstractions that form a common denominator among the ex
isting object-oriented and semantic data models. A key design philosophy is to


161
Query optimizer
This module represents the query optimization component of the query processor.
The primary function of this module is to take the parse tree as input, and to generate
an optimized query execution plan or query tree based upon a set of optimization
rules. This module is currently unimplemented and the parse tree is directly used
as a query execution plan.
Query tree processor
This module is primarily responsible for coordinating the execution of a query
execution plan. It takes a query execution plan (that is, a query tree) as input, and
decomposes the tree into various sub-trees which are then passed to other modules
for execution. It is also responsible for receiving the results of the execution of
sub-trees and passing them onto the appropriate modules for further processing or
display.
Context processor
This module serves as the heart of the query processor. It is responsible for
generating the subdatabase context of a query. It takes as input a sub-tree con
taining algebraic operators corresponding to the context expression of a query. The
adjacency-based data structures and algorithms for manipulating instance graphs,
based on the association algebra, are contained in this module. The result in the
form of a Class Graph Adjacency Matrix (CGAM) and Instance Graph Table (IGT)
is passed back to the calling module.
Operation processor
This module is responsible for calling a system or user defined operation spec
ified in the operation clause of a query. This module incorporates a technique for
method lookup, that is, the binding from the name of a method to either the actual


60
a Section object can exist only if it is associated with Teacher, Course and Location
objects respectively. In the rule body, the IF clause checks if there is a Section object
which is not associated with any Teacher, Course and Location object. The THEN
clause causes those objects from the class identified in the IF clause to be deleted.
Deductive rules
A deductive rule is a knowledge rule that derives new information that is not
explicitly stored in the knowledge base. In a deductive rule the IF clause of the
rule body contains an OQL Context Expression that identifies certain association
patterns that exist in the knowledge base. The THEN clause then derives a new
subdatabase, new associations or a combination of both, based on the patterns
identified in the IF clause.
To illustrate deductive rules, we use a commonly used example in logic and logic-
based languages such as prolog. We use the generation query as an example. Such
rules can infer information such as grandfathers from existing clauses (facts) such as
father, mother. In logic, such rules are expressed as:
Grandfather (?X, ?Y) Father(?X, ?Z) Father (?Z, ?Y)
Grandfather (?X, ?Y) Father(?X, ?Z) Mother (?Z, ?Y)
The equivalent deductive rule is;
RULE f_141
IF (Father *[father_of] Person OR (Father.l *[father_of],
Mother [mother_of]) Person_l)
THEN Grandfather (Father, Person_l)
END
The rule specifies the deduction as follows. Starting from the class Father, the
corresponding children axe determined by finding all objects in class Person which
are associated with the father objects through the father_of association. The next
level of association determines which of these children axe fathers or mothers by
checking the G association. Finally, the children corresponding to these fathers or


C.4 Intersect() 206
REFERENCES 208
BIOGRAPHICAL SKETCH 216
IX


103
addition of extra operators to the basic set provided. For retrievals, two important
form of access axe provided: association-based access, and value-based access.
6.3.1 Association-based Access
A key feature in object-oriented databases (unlike in relational systems), is the
notion of association queries. Such queries compute patterns of associations or rela
tionships among instances of object classes.
Consider the following query;
Teacher Course
This query computes all objects of class Teacher that are associated with (i.e.,
related to) objects of class Course and vice-versa. The star (*) indicates associated
with. This requires KOMS to iterate the set of kernel objects of class Teacher, and
determine all object references to class Course. Such processing is set-oriented, and
requires a single scan of the instances of a class.
KOMS incorporates access methods (structures, indexes and algorithms) to sup
port such association-based access. The following factors have been a consideration:
(a) the processing of object references is set-oriented, (b) the nature of the process
ing is navigational, and (c) inverse object references may be required and must be
optimized.
With respect to association-based access, KOMS offers a functionality that is
different from that of many other existing object-based systems. Also provided is
the capability of determining non-associations, that is, objects of one class that are
not associated with objects of another class. In comparison with relational systems, a
join-operation is a value-based match on specific columns. Unlike relational systems,
associations can be considered as a set of pre-joins (links) which for a given class can
be accessed in a single scan since links are explicitly stored. For the same reason, it
is also possible to compute non-associations easily and efficiently.


156
If the IF part of a rule contains an association pattern expression, a sub-tree
rooted at the IF node, and containing algebraic operators similar to the query tree
is generated. If the THEN part of a rule contains a system or user defined operator,
then nodes similar to the system or user defined operation nodes in a query tree
axe generated. If the THEN part of a rule contains another association pattern
expression, then a sub-tree of algebraic operators corresponding to the association
pattern expression is generated. If the rule is a deductive rule, then the THEN part
specifies a new association pattern that must be derived. In all cases, the IF, THEN
nodes are responsible for checking if the IF, THEN clauses evaluate to true or false
conditions. The ELSE clause is treated in a manner that is similar to the THEN
part only that it is triggered if the THEN evaluates to a false condition.
7.5.2 Deriving New Associations
We now describe how the graph-based approach can be extended to support
processing of deductive rules in order derive new associations. The deductive rule
example for computing the generation query described in Section 4.5 is used as an
example, and is repeated below, for convenient reference.
RULE 141
IF (Father Person OR (FatherJ., Mother) Person_l)
THEN Grandfather (Father, Person_l)
END
The rule tree corresponding to this rule is shown in Figure 7.14. A sub-tree
of algebraic operators rooted at the IF node is used to realize the result of the
association pattern expression in the IF clause of the rule. The rule tree shows
the intermediate and final results in the form of a Class Graph Adjacency Matrix
(CGAM) and an Instance Graph Table (IGT). The result subdatabase corresponding
to the IF clause of the rule is shown by the CGAM and IGT corresponding to 7.


8
The data model also incorporates the specification of knowledge rules since an
important requirement for next-generation KBMS architectures is an integrated ap
proach to knowledge management [RAS87, RAS88, SU85]. Consequently, rule spec
ification and processing are integrated into the architecture of the system at both
representational and functional levels. Rules are available for use by end-user data
models and application domains but more importantly are reflexively used in the
system architecture as a basic mechanism for extending the semantics of the data
model.
To achieve system extensibility, we propose an open, layered, and modular frame
work coupled with a reflexive approach to system implementation. An opn and
modular architecture is realized by using the object-oriented paradigm to model
functionally distinct system components in various layers. Functional extensions to
the system architecture are carried out by appropriate modifications to the schemata
which correspond to specific functional modules. In designing the layered framework,
a middle-out approach is used in which XKOM serves as the basis for a well-defined
intermediate level of abstraction. This model (XKOM) can then be (a)upwardly ex
tended to support appropriate high-level, end-user, data model constructs useful for
advanced application domains and (b)downwardly extended to different and possibly
alternative physical data organizations, access paths, and storage sub-systems.
To demonstrate the feasibility of the concept of an extensible data model coupled
with an extensible system architecture, this research also investigates implementa
tion techniques for a kernel object manager, a data dictionary module for managing
meta-information, and a query/rule processor [LAW91, LU91, YAS91]. Query/rule
processing is emphasized since the ability to specify and process high-level declar
ative queries is an important factor which has contributed greatly to the success


PERSON
~K
(a): A simple schema
iid
name
ssn
address
photo
p34571
John
5914561111
3701
NW135 Street
Micanopy
32789
bitmap
(raw datatype)
(b) The corresponding storage instance
Figure 6.3: Storage strategy for value attributes
a) A simple schema; b) The corresponding
storage instance


U co H H co *1
146
a
P
c
s
T
C
s
L
c
1112
0000
C
1112
0000
s
1022
S
1022
T
L
L
1112
0000
0000
1022
1022
0000
c
S
T
c81
sl8
A
c48
s64
A
A
A
t7
C b COURSE
S SECTION
T TEACHER
C
S
L
c82
s23
A
c43
sl9
A
c63
s49
A
A
A
142
L LOCATION
C
S
T
L
c81
sl8
A
A
c48
s64
A
A
A
A
t7
A
c82
s23
A
A
c43
sl9
A
A
c63
s49
A
A
A
A
A
142
(c) Example of A-Union Operator
a
P
T
S
L
t32
s33
134
t58
s33
134
t27
s62
169
t75
s71
169
S
L
T
S
C
T
S
C
L
1112
0000
T
1112
0000
T
1112
0000
0000
1112
S
1112
S
1112
1112
C
C
0000
L
T = TEACHER
S B SECTION
{T,S}
T
S
C
t74
s86
c77
t27
s62
c66
t75
s71
c66
t55
s49
c63
L LOCATION
C b COURSE
T
S
C
L
t75
s71
c66
169
t27
s62
c66
169
(d) Example of A-Intersect Operator
Figure 7.9: continued


CHAPTER 4
AN EXTENSIBLE KERNEL OBJECT MODEL (XKOM)
In this chapter, we address the data model aspect of next-generation KBMSs by-
proposing an extensible Kernel Object Model (XKOM). This chapter is organized
as follows. In Section 4.1, we introduce the concept of an extensible data model
approach, outline the benefits of such an approach, and specify some requirements
for defining the extensible data model (XKOM). The structural aspects of XKOM
are presented in Section 4.2, and in Section 4.3, we use the data model to illus
trate the object-oriented view of an example database. The behavioral aspects of
the data model are discussed in Section 4.4. In Section 4.5, we introduce language
components which are necessary to define and use the various structural and behav
ioral abstractions. Finally, Section 4.6 addresses issues related to extending the data
model.
4.1 The Extensible Data Model Approach
To overcome the limitations of existing data models, we propose an extensible
data model approach which preserves many of the advantages of existing high-level
object-oriented data models and yet, overcomes many of their limitations. We now
describe the philosophy underlying our approach.
Our approach proposes that the data model be extensible, unlike other ap
proaches which assume that the data model represents a fixed set of constructs
(that is, a rigid framework). To do so, we begin with a kernel data model having
a set of core data model constructs and adopt a building-blocks approach towards
extending the kernel data model to realize a customized model.
36


91
2. D-class objects
3. complex D-class objects
We now describe the various types of value attributes.
Primitive data types
A value attribute may be defined over a primitive data type. Primitive data
types axe basic system defined D-classes, and include the following basic data types;
int
: integer
float
: floating point number
char
: character
string
: character string
boolean
: boolean variable
In order to store objects that are largely unstructured and usually uninterpreted
at storage level, such as bit maps, image data, text, etc., it is necessary to provide
a primitive data type that represents a sequence of uninterpreted bytes. For such
data, that two additional primitive data types are needed. These are;
short_raw : a short (less than 1 block) uninterpreted sequence of bytes
long_raw : a long uninterpreted sequence of bytes
These two data types can be used to accommodate the notion of large/small
unstructured objects.
D class
A value attribute may be defined over any user-defined or (non-primitive) system-
defined D-class. A D-class primarily serves as a domain of values for a value attribute,
and the value attribute of an instance defined over a D-class is used to embed the
D-class object within the instance. The D-class object is stored (on disk) as an
embedded object inside the instance of the defining E-class.


58
4.5.2 Rules
The rule language [ALA89a, SU91] is also pattern-based, and is well-integrated
with the query language. It combines a set-oriented approach (which databases
require), with a declarative syntax. The structure of a rule is as follows:
RULE rule-id
Trigger-cond(Trigger-time, Trigger-operation)
Rule body
Corrective-action
END
The rule-id is a unique identifier assigned to each rule. A trigger condition
associated with each rule specifies the conditions under which a rule is fired. A
trigger condition may specify a combination of trigger time (such as before, after or
in parallel) and the operation (such as insert, delete) that triggers the rule.
The rule body is normally specified as an IF-THEN-ELSE clause. The exact
form of the rule body is determined by the type of the rule. Rules are classified as
state, operational, and deductive rules [CHU90, SIN90]. We illustrate each of these
rule types with the following examples.
State rules
A state rule is a knowledge rule designed to ensure semantic correctness and
consistency of a knowledge base by declaring the valid states that must exist in the
database at the time the rule is triggered. The IF clause of the rule body contains
an OQL Context Expression that looks for certain association patterns that exist
in a particular subdatabase context. The THEN part may contain an OQL context
expression which the subdatabase must satisfy, thus enforcing certain existential
constraints among patterns. For an unconditional state rule, the IF part is omitted
and only the predicate corresponding to the THEN part is specified. An example
state rule is now described:


12
The systems in this first category have not been designed and developed as com
plete DBMSs. Rather, these systems provide an environment in which application
specific classes can be developed by application programmers. A library of system
pre-defined classes (e.g., sets, arrays, bags, etc.) is provided to build user-defined
classes. Typical database functionalities such as set-oriented queries are usually not
provided.
In the second category, object-oriented database systems such as Orion [BAN87a,
BAN87b], Iris [FIS87], and 02 [LEC88, LEC89, VEL89] have been designed as more
complete database systems based on specific object-oriented data models. Unlike
the environment-oriented systems described above, these systems not only combine a
data model with a persistent programming language but also incorporate many data
base functionalities such as querying, schema modification, and transactions. Orion
is an object oriented prototype database system developed to support advanced ap
plication domains. The main features of Orion are support for complex/composite
objects, schema evolution, and versioning. Orion regards such features as being key
requirements for advanced applications. Iris is a research prototype being developed
for exploring new database functionalities and features to support advanced applica
tion domains. Iris uses the concept of an object manager built on top of a relational
storage system to support many different interfaces to external applications. More
recently, the O2 research prototype has been developed as a complete object-oriented
database system for supporting advanced applications. It provides the functionality
of a DBMS (persistence, disk management, sharing, and query language) together
with object-oriented features such as complex objects, object identity, encapsulation,
typing, and inheritance.
All the above approaches to object-oriented DBMSs have focussed on a fixed
implementation based on a specific data model. A key design criterion has been to
support the object-oriented paradigm whereas extensibility has not been a major


This research was supported by the National Science Foundation (Grant # DMC-
8814989), IBM (Grant # S919FM81), National Institute of Standards and Technol
ogy (Grant # 60NANB7D0714), and the Florida High Technology and Industry
Council (Grant # UPN 90090708).


53
The four language components described above represent the specification and
processing of structural semantics, specification and processing of behavioral seman
tics, and also, object querying and manipulation. Very few existing systems possess
the complete set of these language components. In related research at the Database
Systems Research and Development Center, an Object-oriented Semantic Associa
tion Model (OSAM*) [SU89] has been developed as a powerful end-user data model
for supporting complex application domains. Various language components have
been designed and developed, including a KDL component, a KML component and
a RSL component. In this research, we will adapt and use the KDL, KML, and
RSL components from OSAM*. For the interested reader, details of the query and
rule language, and the rules system can be found in [ALA89a, ALA89b, CHU90,
SIN90, SU91]. An association algebra which serves as the underlying formal ba
sis for the pattern-based languages is described in [GUO90, GU091] An integrated
knowledge-base programming language design is presented in [SHY91]. In the in
terim, the programming language component will be addressed in the context of the
C++ programming language [STR86] to specify and write methods. The behavioral
aspects of XKOM are now illustrated using these language components.
4.5.1 Queries and Methods
The KML language component of XKOM is illustrated by addressing methods
in the context of queries since queries form an important mechanism for retrieving
the data that a method acts upon. A simple example will be used to illustrate this
concept.
The query model and language developed in [ALA89a] are based upon two key
concepts. First, queries are specified based upon association patterns of interest to
the user. Second, the language satisfies the property of closure. That is, queries
issued against a database produce a result that is structured and modeled using the


69
Design obiects
In applications such as Engineering Design, an important concept is the notion
of design objects [BAT85, LOR83]. A design object corresponds to a distinct type of
object having certain well-defined characteristics, and classes used to specify design
objects can be considered as design object classes. The class type corresponding
to design object classes can be considered to be a special type of E-class. Such
specialized characteristics of a design object must be used to specify the semantics of
design objects. This can result in specialized methods such as methods for clustering
or methods for accessing and staging design object in memory. Clearly, such methods
and rules that govern design objects must be incorporated into the model meta
schema.
Achieving class extensibility
To achieve the concept of class extensibility, we start by illustrating how the
model of the model is used to support the existing class types. Consider the notion of
E-class and objects belonging to an E-class. An E-class explicitly stores an extension,
and it may be necessary to select a particular object or objects from this extension.
Consequently, an operation such as select can be defined and implemented for the
class E-CLASS, and can be invoked on any E-class (that is, the object that represents
an El-class). If an application defines an E-class, say Person, then class Person is
made a subclass of E-CLASS OBJECT. The class Person inherits methods and rules
that apply to all E-class objects, and these methods and rules will apply to all objects
in the class Person. At a meta-level, methods defined in E-CLASS will apply to the
class Person (the object representing the class Person), since the object representing
the class Person is an instance of the class E-CLASS. Thus, to select a sub-set of the
extension of class Person, a message called select is sent to the instance of E-CLASS
that represents the Person class.


119
by modifying or adding classes, objects, association, and methods that comprise
the module. For example, the data dictionary module is extensible, and additional
dictionary access functions can be easily defined and implemented. This feature of
extensibility will be used to extend KOMS to incorporate the notion of rules, etc.


207
Step 2: Generate IGT of result
Iterate over ocigt and Pigt
For each element aiarr in <*igt
For each element /3/gt* in 0igt
if Wr = Wa
then, a row of 7jgt= intersection of ocigtt and /3¡gt*
IGT of result = 7igt
7= {.1 c gam 1 Iigt)


25
provide minimal semantics in basic structural constructs and extended semantics
via powerful behavioral abstractions. This allows the base model to be extended to
incorporate additional semantics provided by high-level data models for supporting
advanced application domains. To provide this capability, XKOM includes behav
ioral abstractions in the form of methods and rules. Similar to methods, XKOM
incorporates rule specification as part of the class definition thereby providing an
integrated approach to knowledge management [RAS87, RAS88, SU85].
Using this extensible data model as a basis, we then propose an open, layered,
and modular framework for defining an extensible system architecture. By coupling
an extensible data model with an extensible system architecture, we aim to support
advanced application domains which require (a)advanced data model abstractions
such as specialized structural constructs, and facilities for defining behavioral ab
stractions such as rules and methods, (b)specialized interfaces such as query lan
guages, data definition and manipulation languages, graphical user interfaces, and
database programming languages, and (c)storage and processing techniques such as
specialized file organizations and access methods. In particular, an open, layered,
and modular framework allows the incorporation of such features at different levels
(logical and physical) of abstraction in an integrated and unified manner.
The integration of the two concepts described above, the base model (XKOM),
and an open, layered and modular framework is carried out as follows. In the lay
ered framework, a middle-out approach is used with XKOM serving as the basis
for a well-defined intermediate level of abstraction. Figure 3.1 illustrates this lay
ered framework, with the different layers and the corresponding mappings between
such layers. Logical extensibility or extensions to upper levels of abstraction are
carried out by upwardly extending the intermediate layer to support appropriate
high-level, end-user, data modeling constructs to be used in advanced application


IGT of result = 7/gt
7= (ICGAMi 1IGT)
C.3 Unionf+)
7 = a + /3
Given:
a= (ctcGAM, o:/gt) where
ocgam Class Graph Adjacency Matrix of a
01 igt Instance Graph Table of a
P= (Pcgam, Pigt) where
Pcgam= Class Graph Adjacency Matrix of ¡3
Pigt Instance Graph Table of P
Step 1: Generate CGAM of result
1cgam= merge (cicgam, Pc gam)
Step 2: Generate IGT of result
Iterate over ccigt
For each element a/GTr in <*igt
a row of "(igt corresponding row from q¡igt
Iterate over Pigt
For each element Pigt3 m Pigt
a row of 7igt= corresponding row from Pigt
IGT of result = 7igt
7= {iCGAMi "(igt)
C.4 Intersect^)
7 = a {W}P
Given:
o (ocgam, 01 igt) where
ocgam Class Graph Adjacency Matrix of a
o igt = Instance Graph Table of a
P= (Pcgam, Pigt) where
Pc gam Class Graph Adjacency Matrix of P
Pigt Instance Graph Table of P
W = Intersection pattern
Step 1: Generate CGAM of result
"(cgam merge (ocgam, Pcgam)


186
novel graph-based approach to query processing for object-oriented databases has
been proposed. The query processor which implements this graph-based approach is
itself developed using open and modular system components so as to be extensible.
Two important forms of model extensibility, namely class and association exten
sibility, have been studied as examples that serve to illustrate the notion of data
model extensibility. To support the concept of association extensibility, the notion
of parameterized rules has been proposed. Such rules which are specified using pa
rameters and functions, can be used to specify in a generic manner, the constraints
associated with different types of associations. The rules can then be applied to all
(application) classes which use the corresponding association type.
9.2 Future Work
Our current study represents an initial attempt towards providing a solution for
the complex and demanding requirements that advanced application domains place
upon data and knowledge base management systems. A key concept proposed in this
work has been the coupling of an extensible data model with an extensible system
architecture. Several issues relating to such a data model and system architecture
require further study. We briefly discuss some of these issues.
First, the use of rules as a powerful mechanism for specifying the semantics of
data model extensions needs to be explored further. Unlike methods, declarative
rules provide a more convenient mechanism for specifying the constraints and op
erational specifications of special-purpose data modeling constructs. Consequently,
we envision this usage of rules to be one of the first uses of the rule processor being
developed in the current KBMS prototype.
Second, a data model and system architecture editor must be developed as a
tool for easy customization of the data model and the underlying system architec
ture. While it is possible to extend the model and system by directly modifying the


CHAPTER 5
MANAGEMENT OF META-INFORMATION
The data dictionary module which is responsible for the management of meta
information is considered to be the heart of a KBMS. The capabilities of the
system depend largely on the functionality that this module affords. As such, the
design and implementation techniques underlying the data dictionary module are
critical to the success of the KBMS. In this chapter, we describe the approach we
propose for managing meta-information.
This chapter is organized as follows. In Section 5.1, we discuss the important
role that model reflexivity plays in the management of meta-information. Concepts
for the management of meta-information pertaining to the model and system it
self are presented in Section 5.2, while Section 5.3 describes the management of
meta-information pertaining to application data. In Section 5.4, we focus on some
important dictionary access functions. Finally, in Section 5.5, we briefly outline
the notion of a data dictionary module: the implementation of this module will be
discussed later in Chapter 6.
5.1 Using Reflexivity for Managing Meta-information
The concept of Model Reflexivity introduced in Chapter 4 has two important
uses. First, it can be used to specify data model extensions as described in Section
4.5. Second, it can be used for managing meta-information. In this section, we focus
on this latter use of model reflexivity.
A key characteristic of the traditional meta-information management technique
is that meta-information is accessed through specialized access methods and rou
tines rather than through regular data manipulation operators. Although it may be
73


IF (flag = success)
THEN return ((po-list));
END
199
Auxilliarv Function: RecursiveRetrieve
This is an auxilliary function that uses recursion and navigates up the class hierarchy
retrieving and adding the specified attributes to the partial objects.
RecursiveRetrieve^,-, (arg-list), (po-list));
BEGIN
DicHandler*
BOOLEAN flag;
/* conditions for terminating recursion */
/* navigate up the hierarchy till there are no more attributes to retrieve */
IF (arg-list) = null
THEN return (success);
/* or navigate till we reach the root of the hierarchy */
IF Ci= Root Class of Hierarchy
THEN return (success);
/* Separate the argument list into direct and non-direct arguments */
DirectArgList = null;
BalanceArgList = null;
FOR p = 1 TO [No of elements in (arg-list)]
BEGIN
Argument[p] = [ (arg-li st) > get Element (p) ] = (Ap, Vp)\
IF [hdicdsDirectAttribute ((7,-, Ap)}
THEN [DirectArgList >insertElement((Ap, Vp))
ELSE [BalanceArgList >insertElement((Ap, Vp))
END
FOR j = 1 TO [No of elements in (po-list)]
BEGIN
PartialObject[j]= POj\
Temporary Partial Object = POtemP= RetrieveInstance(C',-, Oj, (DirectArgList));
POj concatenate(POj, POtemp);
END
/* Start recursively navigating up the hierarchy */
SuperClassList = (sc-list)= [/&dl-c-getSuperCIasses0f(<7,-)];
FOR q = 1 TO [No of elements in (sc-list)]
BEGIN
aSuperClass = Cac= [(sc-list) ->getElement (q)];
flag = RecursiveRetrieve(C'ac, (BalanceArgList), (po-list));
IF flag success
return (flag);
END
END


177
explicit and
parameterized
rules
requests explicit or
parameterized
rules
returns
bound rules'
requests bound
rules
returns explicit or
parameterized rules
DATA DICTIONARY
AND META-MODEL
MANAGEMENT
MODULE
(b) Rule Processing with Dynamic Binding
Figure 8.5: Dynamic Approach
(a) Rule Storage;
(b) Rule Processing with Dynamic Binding