Citation
Version control and management in computer-aided design databases

Material Information

Title:
Version control and management in computer-aided design databases
Creator:
Ahmed, Rafi ( Dissertant )
Navathe, Shamkant B. ( Thesis advisor )
Su, Stanley Y. W. ( Reviewer )
Chakravarthy, Sharma ( Reviewer )
Hajela, Prabbat ( Reviewer )
Varadarajan, Ravi ( Reviewer )
Phillips, Winfred M. ( Degree grantor )
Lockhart, Madelyn M. ( Degree grantor )
Place of Publication:
Gainesville, Fla.
Publisher:
University of Florida
Publication Date:
Copyright Date:
1989
Language:
English
Physical Description:
vii, 127 leaves : ill. ; 28 cm.

Subjects

Subjects / Keywords:
Aggregation ( jstor )
Architectural design ( jstor )
Computer aided design ( jstor )
Data models ( jstor )
Database design ( jstor )
Databases ( jstor )
Design efficiency ( jstor )
Design engineering ( jstor )
Directed acyclic graphs ( jstor )
Versioning ( jstor )
Computer-aided design ( lcsh )
Database management ( lcsh )
Genre:
bibliography ( marcgt )
theses ( marcgt )
non-fiction ( marcgt )

Notes

Abstract:
There are essentially two characteristics of design objects which impact upon the iterative and probative nature of the design process. first, they are hierarchically formed assemblies of component objects. Second, they have several alternative representations. This dissertation addresses a broad spectrum of modeling and operational issues related to these two aspects in computer-aided design databases. A formal treatment of data modeling concepts, which are defined in terms of primitive constructs of instances, type, homogeneous sets and functions, and abstractions of generalization and composition, is presented for design applications. A classification of composite object attributes into intrinsic interface and extrinsic internal assembly provides an insight into their behavior and functionality. The design process is studied with respect to these classes of attributes. A design evolves in discrete states through mutation and derivation, which may cause version proliferation in the absence of any control mechanism. concepts of invariant attributes and value acquisition are found to be useful for developing a notion of version equivalence. A wide range of methodologies for version management and solutions for the related problems are discussed. The interdependence between composition and generalization graphs suggests that the effect of these graphs on each other must evaluated for maintaining consistency. A time complexity analysis of algorithms devised for this purpose shows a considerably improved performance when the stored, rather than the dynamically computed, transitive closures of these graphs are used. The trade-off it provides far outweighs the space requirement of the transitive closure relations. Owing to the sheer complexity and size of design databases, efficient organization and access of versioned composite objects become imperative. The proposed scheme and its related algorithms can determine an optimal storage organization based on significant units of clustering and expected frequency of retrieval and update operations. A multi-layer architecture is motivated by the accessibility and stability of versions they contain. the proposed protocols for sharing and transition of versions together with change notification provide a unifying framework for managing design in a cooperative CAD environment.
Thesis:
Thesis (Ph. D.)--University of Florida, 1989.
Bibliography:
Includes bibliographical references (leaves 124-126).
General Note:
Typescript.
General Note:
Vita.
Statement of Responsibility:
by Rafi Ahmed.

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright [name of dissertation author]. 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:
021065624 ( alephbibnum )
AHD3947 ( notis )
22140394 ( oclc )

Downloads

This item has the following downloads:

UF00103064.zip

versionofcontrolma00ahme.pdf

versioncontrolma00ahme_0120.txt

versionofcontrolma00ahme_0129.txt

versioncontrolma00ahme_0052.txt

versioncontrolma00ahme_0086.txt

versionofcontrolma00ahme_0031.txt

versionofcontrolma00ahme_0025.txt

versioncontrolma00ahme_0092.txt

versionofcontrolma00ahme_0070.txt

versionofcontrolma00ahme_0061.txt

versioncontrolma00ahme_0025.txt

versioncontrolma00ahme_0126.txt

versioncontrolma00ahme_0099.txt

versioncontrolma00ahme_0021.txt

versioncontrolma00ahme_0000.txt

versioncontrolma00ahme_0096.txt

versionofcontrolma00ahme_0013.txt

versionofcontrolma00ahme_0026.txt

versionofcontrolma00ahme_0113.txt

versionofcontrolma00ahme_0063.txt

versioncontrolma00ahme_0046.txt

versionofcontrolma00ahme_0020.txt

versioncontrolma00ahme_0071.txt

versionofcontrolma00ahme_0039.txt

versioncontrolma00ahme_0066.txt

versioncontrolma00ahme_0098.txt

versioncontrolma00ahme_0074.txt

versioncontrolma00ahme_0034.txt

versioncontrolma00ahme_0037.txt

versioncontrolma00ahme_0089.txt

versionofcontrolma00ahme_0064.txt

versionofcontrolma00ahme_0050.txt

versionofcontrolma00ahme_0081.txt

versioncontrolma00ahme_0043.txt

versioncontrolma00ahme_0129.txt

versionofcontrolma00ahme_0012.txt

versioncontrolma00ahme_0062.txt

versioncontrolma00ahme_0079.txt

versionofcontrolma00ahme_0086.txt

versioncontrolma00ahme_0121.txt

versioncontrolma00ahme_0102.txt

versioncontrolma00ahme_0031.txt

versionofcontrolma00ahme_0019.txt

versioncontrolma00ahme_0020.txt

versionofcontrolma00ahme_0008.txt

versioncontrolma00ahme_0030.txt

versioncontrolma00ahme_0094.txt

versioncontrolma00ahme_0078.txt

versionofcontrolma00ahme_0106.txt

versionofcontrolma00ahme_0100.txt

versioncontrolma00ahme_0061.txt

versioncontrolma00ahme_0117.txt

versionofcontrolma00ahme_0126.txt

versionofcontrolma00ahme_0111.txt

versionofcontrolma00ahme_0085.txt

versioncontrolma00ahme_0109.txt

versionofcontrolma00ahme_0001.txt

versionofcontrolma00ahme_0133.txt

versionofcontrolma00ahme_0097.txt

versioncontrolma00ahme_0073.txt

versioncontrolma00ahme_0070.txt

versionofcontrolma00ahme_0078.txt

versionofcontrolma00ahme_0033.txt

versioncontrolma00ahme_0128.txt

versioncontrolma00ahme_0015.txt

versionofcontrolma00ahme_0018.txt

versionofcontrolma00ahme_0131.txt

versionofcontrolma00ahme_0102.txt

versionofcontrolma00ahme_0110.txt

versioncontrolma00ahme_0048.txt

versionofcontrolma00ahme_0059.txt

versioncontrolma00ahme_0100.txt

versionofcontrolma00ahme_0080.txt

versionofcontrolma00ahme_0119.txt

versionofcontrolma00ahme_0120.txt

versionofcontrolma00ahme_0117.txt

versionofcontrolma00ahme_0087.txt

versionofcontrolma00ahme_0041.txt

versioncontrolma00ahme_0064.txt

versioncontrolma00ahme_0135.txt

versionofcontrolma00ahme_0040.txt

versionofcontrolma00ahme_0079.txt

versioncontrolma00ahme_0060.txt

versioncontrolma00ahme_0114.txt

versioncontrolma00ahme_0108.txt

versionofcontrolma00ahme_0007.txt

versioncontrolma00ahme_0113.txt

versionofcontrolma00ahme_0042.txt

versioncontrolma00ahme_0010.txt

versioncontrolma00ahme_0130.txt

versioncontrolma00ahme_0101.txt

versioncontrolma00ahme_0063.txt

versionofcontrolma00ahme_0029.txt

versioncontrolma00ahme_0028.txt

versioncontrolma00ahme_0011.txt

versioncontrolma00ahme_0008.txt

versionofcontrolma00ahme_0053.txt

versioncontrolma00ahme_0115.txt

versioncontrolma00ahme_0003.txt

versioncontrolma00ahme_0122.txt

versionofcontrolma00ahme_0092.txt

versionofcontrolma00ahme_0083.txt

versionofcontrolma00ahme_0036.txt

versioncontrolma00ahme_0051.txt

versionofcontrolma00ahme_0136.txt

versioncontrolma00ahme_0058.txt

versionofcontrolma00ahme_0006.txt

versionofcontrolma00ahme_0130.txt

versioncontrolma00ahme_0018.txt

versionofcontrolma00ahme_0014.txt

versionofcontrolma00ahme_0104.txt

versioncontrolma00ahme_0112.txt

versioncontrolma00ahme_0050.txt

versioncontrolma00ahme_0107.txt

versioncontrolma00ahme_0125.txt

versioncontrolma00ahme_0047.txt

versionofcontrolma00ahme_0088.txt

versioncontrolma00ahme_0118.txt

versionofcontrolma00ahme_0046.txt

versioncontrolma00ahme_0068.txt

versioncontrolma00ahme_0016.txt

versioncontrolma00ahme_0033.txt

versionofcontrolma00ahme_0096.txt

versionofcontrolma00ahme_0009.txt

versioncontrolma00ahme_0029.txt

versioncontrolma00ahme_0042.txt

versionofcontrolma00ahme_0060.txt

versioncontrolma00ahme_0022.txt

versioncontrolma00ahme_0082.txt

versioncontrolma00ahme_0127.txt

versioncontrolma00ahme_0059.txt

versioncontrolma00ahme_0116.txt

versionofcontrolma00ahme_0103.txt

versioncontrolma00ahme_0039.txt

versionofcontrolma00ahme_0124.txt

versioncontrolma00ahme_0106.txt

versionofcontrolma00ahme_0062.txt

versioncontrolma00ahme_0097.txt

versionofcontrolma00ahme_0108.txt

versionofcontrolma00ahme_0132.txt

versioncontrolma00ahme_0077.txt

versionofcontrolma00ahme_0028.txt

versionofcontrolma00ahme_0099.txt

versionofcontrolma00ahme_0045.txt

versionofcontrolma00ahme_0112.txt

versionofcontrolma00ahme_0030.txt

versioncontrolma00ahme_0091.txt

versionofcontrolma00ahme_0015.txt

versioncontrolma00ahme_0132.txt

versioncontrolma00ahme_0075.txt

versioncontrolma00ahme_0057.txt

versioncontrolma00ahme_0014.txt

versionofcontrolma00ahme_0047.txt

versionofcontrolma00ahme_0065.txt

versionofcontrolma00ahme_0022.txt

versionofcontrolma00ahme_0035.txt

versionofcontrolma00ahme_0128.txt

versioncontrolma00ahme_0041.txt

versioncontrolma00ahme_0002.txt

versioncontrolma00ahme_0001.txt

versionofcontrolma00ahme_pdf.txt

versionofcontrolma00ahme_0034.txt

versioncontrolma00ahme_0105.txt

versioncontrolma00ahme_0032.txt

versionofcontrolma00ahme_0017.txt

versioncontrolma00ahme_0123.txt

versionofcontrolma00ahme_0098.txt

versioncontrolma00ahme_0088.txt

versionofcontrolma00ahme_0084.txt

versioncontrolma00ahme_0006.txt

versioncontrolma00ahme_0090.txt

versioncontrolma00ahme_0085.txt

versioncontrolma00ahme_0055.txt

versionofcontrolma00ahme_0118.txt

versionofcontrolma00ahme_0090.txt

versionofcontrolma00ahme_0004.txt

versionofcontrolma00ahme_0105.txt

versioncontrolma00ahme_0023.txt

versionofcontrolma00ahme_0101.txt

versioncontrolma00ahme_0072.txt

versionofcontrolma00ahme_0089.txt

versioncontrolma00ahme_0065.txt

versioncontrolma00ahme_0083.txt

versioncontrolma00ahme_0013.txt

versionofcontrolma00ahme_0123.txt

versionofcontrolma00ahme_0052.txt

versionofcontrolma00ahme_0115.txt

versioncontrolma00ahme_0080.txt

versionofcontrolma00ahme_0010.txt

versioncontrolma00ahme_0095.txt

versioncontrolma00ahme_0054.txt

versioncontrolma00ahme_0084.txt

versionofcontrolma00ahme_0094.txt

versionofcontrolma00ahme_0051.txt

versionofcontrolma00ahme_0024.txt

versionofcontrolma00ahme_0002.txt

versioncontrolma00ahme_0087.txt

versionofcontrolma00ahme_0095.txt

versionofcontrolma00ahme_0057.txt

versionofcontrolma00ahme_0011.txt

versioncontrolma00ahme_0009.txt

versioncontrolma00ahme_0040.txt

versionofcontrolma00ahme_0043.txt

versioncontrolma00ahme_0036.txt

versioncontrolma00ahme_0131.txt

versionofcontrolma00ahme_0074.txt

versioncontrolma00ahme_0124.txt

versioncontrolma00ahme_0005.txt

versioncontrolma00ahme_0110.txt

versionofcontrolma00ahme_0122.txt

versioncontrolma00ahme_0044.txt

versioncontrolma00ahme_0012.txt

versionofcontrolma00ahme_0091.txt

versionofcontrolma00ahme_0038.txt

versioncontrolma00ahme_0007.txt

versionofcontrolma00ahme_0032.txt

versioncontrolma00ahme_0019.txt

versioncontrolma00ahme_0076.txt

versioncontrolma00ahme_0093.txt

versionofcontrolma00ahme_0066.txt

versionofcontrolma00ahme_0023.txt

versioncontrolma00ahme_0017.txt

versioncontrolma00ahme_0056.txt

versioncontrolma00ahme_0053.txt

versionofcontrolma00ahme_0121.txt

versioncontrolma00ahme_0067.txt

versionofcontrolma00ahme_0056.txt

versioncontrolma00ahme_0069.txt

versionofcontrolma00ahme_0082.txt

versionofcontrolma00ahme_0072.txt

versionofcontrolma00ahme_0116.txt

versioncontrolma00ahme_0081.txt

versioncontrolma00ahme_0026.txt

versionofcontrolma00ahme_0077.txt

versioncontrolma00ahme_0049.txt

versionofcontrolma00ahme_0016.txt

versioncontrolma00ahme_0104.txt

versionofcontrolma00ahme_0044.txt

versionofcontrolma00ahme_0107.txt

versionofcontrolma00ahme_0037.txt

versionofcontrolma00ahme_0069.txt

versionofcontrolma00ahme_0135.txt

versioncontrolma00ahme_0027.txt

versioncontrolma00ahme_0045.txt

versioncontrolma00ahme_0024.txt

versionofcontrolma00ahme_0049.txt

versioncontrolma00ahme_0004.txt

versionofcontrolma00ahme_0058.txt

versionofcontrolma00ahme_0114.txt

versionofcontrolma00ahme_0003.txt

versionofcontrolma00ahme_0071.txt

versionofcontrolma00ahme_0067.txt

versionofcontrolma00ahme_0048.txt

versionofcontrolma00ahme_0027.txt

versionofcontrolma00ahme_0021.txt

versionofcontrolma00ahme_0075.txt

versioncontrolma00ahme_0111.txt

versioncontrolma00ahme_0035.txt

versionofcontrolma00ahme_0073.txt

versionofcontrolma00ahme_0076.txt

versionofcontrolma00ahme_0127.txt

versionofcontrolma00ahme_0054.txt

versionofcontrolma00ahme_0068.txt

versionofcontrolma00ahme_0134.txt

versioncontrolma00ahme_0038.txt

versionofcontrolma00ahme_0125.txt

versionofcontrolma00ahme_0000.txt

versioncontrolma00ahme_0134.txt

versioncontrolma00ahme_0103.txt

versioncontrolma00ahme_0133.txt

versionofcontrolma00ahme_0109.txt

versioncontrolma00ahme_0119.txt

versionofcontrolma00ahme_0055.txt

versionofcontrolma00ahme_0093.txt

versionofcontrolma00ahme_0005.txt


Full Text













VERSION CONTROL AND MANAGEMENT IN COMPUTER-AIDED
DESIGN DATABASES








By

RAFI AHMED


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


1989





















To My Mother















ACKNOWLEDGEMENTS


I wish to express my deep gratitude to my advisor, Dr. Sham Navathe,

for his insightful critique and perspicacious guidance in the course of this work. Over

the long years of our association, I came to highly value his friendship, consul and

erudition. I indeed owe him a great deal.

I am indebted to my supervisory committee members, Dr. Stanley Su,

Dr. Ravi Varadarajan, Dr. Prabhat Hajela, Dr. Sharma Chakravarthy and Dr. Her-

man Lam for their time, patience and helpful suggestions.

My sincerest thanks go to Dr. Daniel Fishman of Hewlett-Packard

Laboratories for his constant encouragement and support. This research was par-

tially funded with a grant made by him.

I greatly appreciate the unceasing help and assistance provided by Mrs.

Sharon Grant.

As I prepare to bid farewell to my alma mater, I would like to take this

opportunity to thank all those unnamed friends and associates, who contributed in

creating a climate conducive to my academic and nonacademic pursuits.















TABLE OF CONTENTS


Page

ACKNOWLEDGMENTS ............................................................................ iii

ABSTRA CT .............................................................. ................................... vi

CHAPTERS

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

1.1 Preliminary Discussion........................................................... 1
1.2 The Outline................................................. ........................... 2
1.3 Review of Related Work.......................................... ........... 4

2 MODELING CONSTRUCTS FOR DESIGN DATABASES........... 12

2.1 The Basic Constructs ............................................. ............ 13
2.2 An Example Database ............................................. ........... ... 19
2.3 Retrieval Using Functions ........................................ ........... .. 21

3 AN ABSTRACT VIEW OF COMPOSITE OBJECTS................... 24

3.1 External Features and Internal Assembly.................................. 25
3.2 An Example of a Composite Object .......................................... 27
3.3 Modeling Composite Object in GOODM.................................... 28
3.4 Rules for Building Composite Objects.................................... 32

4 VERSION CONTROL AND MANAGEMENT............................ 38

4.1 Generic, Versioned and Unversioned Objects........................... 40
4.2 Creation and Updatability of Versions.................................... 44
4.3 Dynamic Binding and Generic Objects....................................... 51
4.4 Rules for Versioned Composite Objects..................................... 52

5 MAINTENANCE OF CONSISTENT SEMANTICS FOR
COMPOSITE OBJECTS........................................................... 61

5.1 Protocols for Insertions and Deletions..................................... 61
5.2 Interaction between GG and CG ............................. .......... ... 63
5.3 Efficient Management of GG and CG .................................... 64










6 A STORAGE STRATEGY FOR VERSIONED COMPOSITE
O B JE C T S ..................................................................................... 74

6.1 Design Database Operations..................................................... 75
6.2 Units of Clustering........................................................................ 76
6.3 Traversal of Hierarchies ........................................................... 80
6.4 Physical Organization of Composite Objects............................. 86

7 DESIGN IN A COOPERATIVE CAD ENVIRONMENT.............. 92

7.1 A CAD Architecture ................................................................ 93
7.2 Operations on Versions in Distributed Environment.................. 97
7.3 Dynamic and Static Bindings in Distributed Enviroment.............101
7.4 Requirements for Notification.......................................................102


8 C O N C LU SIO N ....................................................................................108

8.1 M ajor Results.................................................................................108
8.2 Future Research Directions......................................................109

A PPE ND IX ..................................................................................................... 111

REFEREN CES............................................................................................... 124

BIOGRAPHICAL SKETCH ................................................................................ 127















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


VERSION CONTROL AND MANAGEMENT IN COMPUTER-AIDED
DESIGN DATABASES


By

Rafi Ahmed

December 1989


Chairman: Dr. Shamkant B. Navathe
Major Department: Computer and Information Sciences


There are essentially two characteristics of design objects which impact

upon the iterative and probative nature of the design process. First, they are

hierarchically formed assemblies of component objects. Second, they have several

alternative representations. This dissertation addresses a broad spectrum of model-

ing and operational issues related to these two aspects in computer-aided design data-

bases.

A formal treatment of data modeling concepts, which are defined in

terms of primitive constructs of instances, types, homogeneous sets and functions,

and abstractions of generalization and composition, is presented for design applica-

tions.

A classification of composite object attributes into intrinsic interface and

extrinsic internal assembly provides an insight into their behavior and functionality.

The design process is studied with respect to these classes of attributes. A design

evolves in discrete states through mutation and derivation, which may cause version










proliferation in the absence of any control mechanism. Concepts of invariant attri-

butes and value acquisition are found to be useful for developing a notion of version

equivalence. A wide range of methodologies for version management and solutions

for the related problems are discussed.

The interdependence between composition and generalization graphs sug-

gests that the effect of updates in these graphs on each other must be evaluated for

maintaining consistency. A time complexity analysis of algorithms devised for this

purpose shows a considerably improved performance when the stored, rather than

the dynamically computed, transitive closures of these graphs are used. The trade-off

it provides far outweighs the space requirement of the transitive closure relations.

Owing to the sheer complexity and size of design databases, efficient

organization and access of versioned composite objects become imperative. The pro-

posed scheme and its related algorithms can determine an optimal storage organiza-

tion based on significant units of clustering and expected frequency of retrieval and

update operations.

A multi-layer architecture is motivated by the accessibility and stability

of versions they contain. The proposed protocols for sharing and transition of versions

together with change notification provide a unifying framework for managing design

in a cooperative CAD environment.


L















CHAPTER 1
INTRODUCTION


1.1 Preliminary Discussion


In recent years, there has been a tremendous surge of interest in the

research and development of computer-aided design (CAD) systems for aiding and

controlling the design efforts of a wide variety of engineering products, including

VLSI circuits, mechanical parts, software systems, etc. The size and complexity of

many design projects have rendered existing database tools and support inadequate.

Database systems designed for commercial applications suffer from the fact that they

normally hold only one valid view of the world. In integrated CAD systems,

designers often need to generate and experiment with multiple alternative representa-

tions of an object before selecting one that meets the design requirements. This

means that several valid representations of an object may coexist in the database.

Furthermore, a traditional database system, as it deals with only regular and struc-

tured data, cannot efficiently manage design data, which are often hierarchical in

nature and entail large variations in their size and structure. In order to support the

varied requirements, we need a unified system which incorporates these concepts and

provides tools for an efficient management of a generalized design database.

Design of an object normally starts with a high level description of some

aspects of that object. Because of the iterative nature of the design process, a com-

plete description of the design cannot be provided at once; only a partial description

is provided which is later completed by repeated refinements. Because of the proba-

tive nature of the design process, in each step of the iteration, several admissible

alternatives may exist. Designers usually choose one alternative and proceed to










finalize the design. If that alternative turns out to be inappropriate, they back up

and pursue another alternative.

The iterative and probative nature of the design process interacts with

two dimensions of design objects. First, they are usually complex; that is, they are

assemblies of parts that themselves may be constructed hierarchically from com-

ponent objects. Second, there can be several concurrent descriptions, called versions,

of design objects. The problem of managing a design is compounded by the fact that

composite objects can have multiple alternative configurations, if versions of com-

ponents are taken into consideration. Further, creation of versions can take place

either at the template- a type and a collection of attributes defined on it-level or

at the instance level. The derivation sequence of versions must be represented expli-

citly to maintain a true version history. These characteristics must be taken into

account for any systematic and efficient management of design and versioning of

composite objects. The sheer size and complexity of versioned composite objects also

require an efficient organization and retrieval strategy.

Management of design data in the presence of alternatives and assembly

is an intricate task, which cannot be carried out efficiently with ad hoc approaches.

This proposal addresses a wide range of related problems and provides a well-defined

formalism and systematic methodology needed for this purpose.


1.2 The Outline


This dissertation is primarily concerned with the management of

computer-aided design databases and addresses the following issues:


1. Supporting the data modeling requirements of a design database through a set

of formally defined modeling constructs.










2. Developing an abstraction for composite objects based on the categorization of

their attributes.

3. Proposing a mechanism for the management and control of versions for design

databases.

4. Maintaining a consistent semantics of schema as the composition and generaliza-

tion graphs interact with each other.

5. Proposing an efficient strategy for organizing and retrieving versioned composite

objects.

6. Proposing a cooperative environment and describing protocols for efficiently

managing a complex design, which is collectively developed by a group of

designers working on different projects.


The remainder of the dissertation is organized as follows. In Section 1.3,

the work related to this research is reviewed. The formal treatment of the proposed

data modeling constructs are presented in Chapter 2. In Chapter 3, the abstraction

developed for a complex design object is discussed. Chapter 4 deals with the basic

modeling constructs, constraints and rules for managing version control. Then in

Chapter 5, the interaction between composition and generalization graphs are investi-

gated; an analysis of algorithms for maintaining consistent semantics and querying

these constructs are presented for the case when the transitive closure is maintained

vis-a-vis and when its dynamically computed. A clustering storage strategy is

presented for the efficient organization and retrieval of versioned composite objects in

Chapter 6. In Chapter 7, a cooperative CAD architecture is proposed to deal with a

collective design effort made by a group of designers working on different projects.

And finally in Chapter 8, the main results of this work are summarized and the

directions for the future research in this area are indicated.










1.3 Review of Related Work


Many recent investigators have recognized the need of database technol-

ogy in the CAD applications. The organizations using commercially available con-

ventional database management systems have encountered difficulties because con-

ventional databases do not have features to deal with unstructured data and different

versions or alternatives of a design, which are required in CAD applications [Got86].

There are essentially three different solutions to these problems:


1. Extending the conventional DBMS by adding new capabilities.

2. Building a layer of software on top of conventional DBMSs to provide the

required features.

3. Developing new database management systems for design applications, which

involves the development of a new data model, new architecture storage stra-

tegy and enhanced facilities.


Some of the examples of the first approach were based on the enhance-

ment of existing systems. Lori [Lor82] discusses the extensions of system R and

Stonebraker et al. [Sto83] report on the enhancements of INGRES. This approach

requires too extensive an enhancement to make it feasible. Some researchers provide

examples of the second approach, which has some drawbacks [Joh83, Emo83]. The

conventional DBMS's perform poorly in design applications, as they require another

level of transformations for retrieval and manipulation of data. The extensions or

modification of global schema requires major changes to the system. The third

approach also advocates this with several enhancements [Kat85, Kla86, Kim87].










1.3.1 Treatment of Complex Object and Extension of DBMSs


Several investigators have observed the importance of the concept of

composite objects in CAD databases, and the deficiencies of current databases in sup-

porting them. Batory and Buchmann [Bat84] call composite objects "molecular

objects," and develop a framework for modeling these objects. They introduce the

notion of molecular aggregation, which is the abstraction of assemblies of parts and

their relationships to higher level entities. They distinguish four different types of

molecular objects, and provide methods to model objects of each type. They do not

address the physical organization of the database for molecular objects.

Lorie and Plouffe [Lor83] discuss an implementation for objects, which

they call "complex objects". Their central idea is to use internal fields in order to

make the system aware of the hierarchical structure of objects, which allows the sys-

tem to operate on a collection of tuples that represents a composite object as a unit.

This idea has been extended by Meier and Lorie through the concepts of surrogates

and implicit hierarchical joins [Mei83]. The implementation suggested in this work

simplifies some important operations that are performed on a composite object as a

whole. As a matter of fact, in their scheme, the whole design database is about one

object, but designers manipulate only the portions of the design object at each stage

of design; therefore, only some of the data that describes the design needs to be

accessed.

Wiederhold et al. address the problem of communication within a VLSI

design and its different representations and hierarchical levels in a multiple designer

environment using commercial database systems [Wie82]. They describe some initial

results of an ongoing project.

Johnson and Schweitzer provide facilities to treat composite objects as

single entities that they call "structure" [Joh83]. They propose a three-level modeling










approach. The internal level is based on the network data model. The mapping from

logical level to interval level is defined by database designers. The mapping from the

internal level to the physical level is provided by the system.

Emond and Merechal use the ER approach to model composite object at

the logical level [Emo83]. These models are then translated by the designer into a

relational database. In this work, information is divided into blocks called "view-

editions", which are the units of storage retrieval and update operations.

Stonebraker et al. introduce user-defined ADT's (Abstract Data Types)

and ADT indices to relational DBMS INGRES for supporting representation and

retrieval of composite objects [Sto83]. The use of ADT simplifies the definition and

logical manipulation of composite objects by allowing user defined data types and

operations on these types.

Su et al. propose an object-oriented semantic association model called

OSAM* [Su88]. OSAM* has powerful expressive capabilities, as it supports construc-

tors in nested and recursive fashions to represent complex and composite objects.

Batory and Kim propose modeling concepts for VLSI objects [Bat85].

They use entity-relationship diagram to represent these objects which has interface

descriptions and implementation descriptions. A molecular object is created by

integrating these two sets of heterogeneous records. They also propose a notion of

"instantiation", which are essentially copies of other objects, as they share the same

features, and are needed as constituents of other objects. The modeling framework

provided in this work is very useful in representing composite objects and their ver-

sions; however, it does not provide explicit support for the aggregation hierarchy.

Kim et al. discuss the facilities for the composite objects in ORION data

model by introducing "is-part-of" relationship between objects [Kim89]. Composite

objects in ORION are simply an aggregation hierarchy with some notions of integrity

and existence dependencies. They also present some mechanisms for enhancing the










performance of operational database systems by using ideas of clustering and objects

as the unit of locking.


1.3.2 Version Management

The deficiencies of current DBMS's with respect to the management of

refinements, alternatives and versions of designs have been recognized and discussed

in the literature extensively. Most of the proposed solutions claim to be object

oriented. Refinements of a design are represented as versions of design files by the

subsystem called the "datamanager" [Ben82]. The datamanager manages the evolu-

tion of different versions of the file through time. A group of files can be related in

content. The nature of relations are user defined and application dependent. For

instance, two related files may contain a description of the two aspects of the same

object; one file may also describe the component of the object represented by other

file.

Eastman uses the notion of a "checkpoint" file to support refinements

[Eas80]. Checkpoint files are temporary files into which a set of database updates are

stored. Each checkpoint file, called an "alternative", is a refinement of the design.

Multiple alternatives may be created starting from the initial design conditions.

Alternatives may branch from other alternatives and thus create a tree.

Katz proposes a set of "alternatives" objects which are themselves group-

ings of versions [Kat82]. Alternatives have the same behavior but have differing per-

formance characteristics. Versions are improvements or corrections applied to design

objects. Representations have hierarchical structure represented as a directed acyclic

graph. The leaves of this hierarchy are primitive objects, while internal nodes are

complex objects. Objects are implemented as files extended with information which

describes the design data structures. The subsystem responsible for the management

of versions is called "library" [Rob8l]. As in other proposals, a database object is a










collection of data pertaining to a design object. An object may have several versions,

which are of two types: in-process versions, which are mutable objects, and released

objects which are immutable objects.

McLeod and Rao propose a scheme, where both refinements and alterna-

tives are called "revisions" [McL83]. This proposal uses Tich's AND-OR graph model

to abstract the state of a system at an arbitrary stage of its design. Representations

are considered a kind of versions which are equivalent objects describing the same

objects. This scheme requires versions to have the same external interface.

Some investigators have emphasized the multi-aspect characteristics of

design objects [Neu83]. Database objects describing aspects of real world objects are

called "representations". Some representations are derived from others. A

derivation-graph gives type level information about which representation is derived

from which. Versions are different descriptions of the object. Since representations

can have several versions, there is also a version graph.

Katz et al. deal with three aspects of design: version histories,

configurations, and equivalence among objects of different types [Kat86]. In this pro-

posed design, descriptions may exist across representations. Some validation tools are

discussed that provide consistency among different representations.

Landis discusses some important concepts of versioning and propagation

of changes [Lan86]. Changes in this scheme can be grouped together that can post-

pone automatic generation of versions. This work also proposes a version graph that

can have multiple successors and predecessors; two versions can also be merged into

one, although no definition of "merging" is given.

Beech and Mahbod [Bee88] describe the version control facility incor-

porated in Iris [Fis87], an object-oriented database management system. The main

features of this scheme is the treatment of generic and versioned instances of objects,

facilities for explicit references and implicit coercion of references and propagation of










version creation, and the use of contexts to achieve fine control in a declarative way.

This paper makes a significant contribution in this area.

Navathe and Ahmed discuss the temporal semantics of version manage-

ment [Nav88]. They investigate whether the work on temporal modeling bears any

relationship with version control; the result of their work suggests that version

management, though in need of temporal information, has significantly different

requirements than that of temporal databases.

Buchmann and Celis discuss an architecture for process-plant CAD sys-

tem to serve as a framework for the presentation of a data model based on the

notion of molecular aggregation [Buc85]. They also suggest mechanism for con-

straint handling.

Chou and Kim present a model that attempts to incorporate the distri-

buted nature of CAD environment and the complex configurations of CAD objects

[Cho86]. The proposed distributed architecture has a global database that is

hierarchically partioned into three different types of databases; this partitioned data-

base interacts with three classes of versions that have different capabilities and

characteristics in different databases.


1.3.3 Transitive Closure Computation


In Chapter 5, we propose maintenance and precomputation of transitive

closure of type and composition graphs for their efficient processing.

The computation of transitive relationship has been recognized as a

sufficiently useful operation for it to have been included in a variety of query

languages. Ioannidis and Ramakrishnan present some efficient algorithms for com-

puting the transitive closure of a directed graph [Ioa88]. They address it as a prob-

lem of reachability. They also provide an excellent comparative analysis of published

algorithms in literature.










Schubert et al. proposed a technique for encoding reachability informa-

tion, wherein an interval consisting of the preorder number of the node and the

highest preorder number among its descendents is associated with a node [Sch83].

They also generalize their scheme to work for overlapping hierarchies.

A transitive closure technique based on chain decomposition of graphs is

proposed by Jagadish [Jag88]. In this scheme, each node is indexed with a chain

number and its sequence number in the chain. At each node, only the earliest node

in the chain, which can be reached from it, needs to be stored. The nodes that are

reachable in this chain can be deduced from this.

Agrawal et al. present transitive closure compression technique, based on

labeling spanning trees with numeric intervals [Agr89]. They also provide analytical

and empirical evidences of its efficiency, demonstrated by a wide range of simulation

experiments and performance evaluation.


1.3.4 Storage Strategies


Schkolnick discusses the problem of storing hierarchic structure in order

to minimize the expected access time [Sch77]. In it, an algorithm is presented that

can determine the optimal partition of an IMS type tree into data set groups. The

limitation of this work is that the instances of the given tree are assumed to be regu-

lar with same fan-out and that the partitions are stored completely independent of

one another.

Carey et al. describe the file management system of the EXODUS exten-

sible database system [Car86]. The basic abstraction in this system is the storage

object, an uninterpreted variable-length record of arbitrary size. The management of

large dynamic object, which can occupy many disk pages and can grow and shrink, is

supported. The object is represented on disk as B+ tree index on byte position

within the object plus a collection of leaf blocks containing data. As objects are










primarily treated as a sequence of bytes, this technique does not appear to be suitable

for storing highly structured composite and constituent objects.

Ketabchi and Berzins introduce a clustering concepts called component

aggregation which considers assemblies having the same type of parts as equivalent

objects [Ket88b]. They develop a mathematical model which treats equivalence

classes as a form of Boolean algebra. However, the technique proposed in this work

does not group objects in useful and meaningful partitions; insertion and deletion

algorithms are not discussed.

Harder et al. describe the Molecule-Atom data model, aimed at the sup-

port of engineering applications [Har87]. Their database kernel provides a variety of

access path structure, tuning mechanism, sort order, and some rudimentary notions

of atom clustering with variable size pages and storage redundancy.

Almost all reported work that is germane to present investigation has

been reviewed here. The point that emerges from the foregoing discussion is that

there is a clear lack of cohesion among different schemes, and that some methodolo-

gies have been proposed without a concrete underlying data model. This dissertation

addresses all aspects of this problem and provides feasible solutions within an under-

lying data model.















CHAPTER 2
MODELING CONSTRUCTS FOR DESIGN DATABASES


In this chapter, we formally define modeling constructs for design data-

bases. These constructs are essentially based on ideas presented in existing func-

tional, semantic and object-oriented data models. In defining these constructs, we

have been particularly influenced by Iris, an object-oriented database management

system [Fis87]. The discussion of these constructs is necessary, as they are used for

illustrating and formalizing the concepts developed in this dissertation for the

management of design databases.

The universe of discourse is viewed as a collection of objects. These

objects are a convenient aggregation of information describing real world concepts.

Types, homogeneous sets, functions, user-defined instance objects, and literals (to

be defined shortly) are also objects. Any database conceptually contains a number of

system objects, which makes it possible to define, construct and manipulate user-

defined objects.

Objects of similar behavior are grouped together and are said to have the

same type. Objects are instances of one or more types. Every type is a subtype of

one or more other types, except the system-defined object, the universe of discourse,

U. An instance of any type is also an instance of all its supertypes, and thus inherits

a subset of the operations, functions and rules of its supertypes. A homogeneous set

is an abstraction for a set of objects of the same type; i.e., it is a collection of either

type, function, user-defined instance objects, homogeneous set, or literal objects.









2.1 The Basic Constructs


Definition 2.1. Let the universe of discourse, U, be a collection of

objects. Let the system-defined type objects T, F, UO, L and HS, which are sub-

types of U, be infinite sets of types, functions, user-defined instance objects, literals

and homogeneous sets, respectively, such that T, F, UO, L and HS form a partition

of U.

Thus, each object o in the universe of discourse can be identified as one

of the following: a type object, a function object, an instance object, a literal object,

or a homogeneous set.

The subtypes of T are Ts and Tu. All user-defined types are members

of Ty. All system-defined types that include U, T, F, HS, L, UO, Tv and Ts itself

are members of the domain of Ts. Boolean, real, integers and charstring etc. are

literals. The literal objects are always available, replicable and self-representing.

In the following definitions, we shall use the notations, -< and >- for "is

a subtype of" and "is a supertype of," respectively. The symbols -= :=

stand for logical implication, functional mapping, and assignment, respectively.

Definition 2.2. For each type t the domain of t is represented by

dom(t), which is given by the set of all objects that are of type t.

For notational convenience, we shall use t (unitalicized) for the domain,

dom(t), of type t (italicized) interchangeably.

Definition 2.3. For each type t E T, there exists a system-defined

unary predicate that has the same name as the associated type. This predicate is a

mapping from objects in U to Boolean values, true and false.


V t E dom(T), t : U Boolean

V o E dom(U), t(o) == o E dom(t)









That is, every type name is also used as a predicate function in order to

determine whether the given object is of that type.

UO contains all the user-defined object instances of user-defined types

Tu. All literals are subtypes of L, whereas all user-defined types (i.e., instances of

Tu) are subtypes of UO, which forms the root of generalization graph (Definition

2.6). Figure 2-1 shows this subtype/supertype relationship. Therefore, all instances

of user-defined types are members of UO as well as of one or more user-defined

types. Some members of UO may also be instances of some system-defined types

TS.


V i Edom(UO) 3 tE dom(Tv) I t -< UO A t(i) = true

The other essential concept is that of a function. Functions are named

objects that take one or more arguments and return results. A function may be

single-, unique-, or multi-valued, and each of its result may be a tuple of values.

These functions are not strict mathematical functions, since they are not necessarily

single-valued. However, they can be used to model mathematical functions by

declaring them to be single-valued.

Definition 2.4. A function is a mapping from domains of one or more

types to the domain of a list of types. A function f E F is given by


f t, t2, . ti -_ < ti+ . tn >


t t2 ,-., ti ti+ ,. tn E dom(T), and are not necessarily distinct. That is, a

function is a single- or multi-valued mapping from a set of objects to another set of

objects. For notational convenience, the symbols "<" and ">" are dropped from the

n-place tuple, if n is 1.
Functions can be nested to any depth, and can be defined in terms of

other functionss. They are a powerful means that is used to model properties










(attributes) of objects and their n-ary relationships. The set of functions defined on a

type describes the behavior of objects that are instances of that type. Since functions

are defined on any object type, this allows a uniform mechanism for querying user-

defined data as well as meta data. The results of the collection of functions defined

on an object determines the state of the object, whereas operations change the state

of an object, or create and delete an object.

Creation of a homogeneous set is a mechanism that allows a collection of

objects to be grouped together. A homogeneous set is an object which can be

defined to be equivalent to either an enumerated set of objects or a set formed under

a given condition. It is required that all the elements of a homogeneous set belong to

exactly one of the types T, F, UO, L, HS. All user-defined homogeneous sets are

members (instances) of system-defined type HS. It is also possible to define type

objects which are subtypes of HS. Homogeneous set is a useful construct needed in

design applications. For instance, a homogeneous set of functions defined on a type

can thus be used to model its behavior. A defined hierarchy of subtypes of HS can

be used to impose a set of constraints on functions or types.

Definition 2.5. A homogeneous set s is a finite set of objects, where

s E HS and is given by

s = { 01 2 . on },

where V oi E s, 3 P E { T, HS, F, UO, L } I P(o,).


In addition to the type graph of the system-defined objects, the

supertype/subtype relations among user-defined objects are represented by a rooted,

labeled, acyclic, directed graph, which captures generalization. An instance of any

type is also an instance of all its supertypes, and thus inherits a subset-not neces-

sarily proper set-of the operations, functions and rules of its supertypes.









Definition 2.6. Generalization is represented as a rooted, labeled,

directed, acyclic graph GG = (V, E), where V is a set of vertices, V C TU and E

is a set of labeled, directed edges,

E C {((ti, t,s ) I t j E V A sE dom(HS) A V f E s t E Arg(f)}

We assume that trivial cycles are present in the generalization graph;

that is, V v E V, (v, v, s) E
Arg is a system-defined function which maps members of user-defined

function type FU into the types of their arguments. An edge is defined as a triplet

(a, b, s), where a and b are the tail and head of the directed edge such that b -<
a, and c is the label of the edge. The root of GG is the system-defined type IU.

Definition 2.7. The extended domain of type t E T is defined as the

union of the extended domains of all t' such that (t' t, s) E E of GG.
Definition 2.8. The function inheritance by a type t is defined as

V f E U si A V (ti t, si ) EE = t E Arg(f)
i
It should be noted that an unlabeled edge (a, b, ) implies that it includes

all functions, f such that a E Arg(f). The labeled generalization graph provides a

mechanism that specifies full as well as partial function (attribute) inheritance.
Definition 2.9. AT (AssignedType) is a mapping from IU to Tu's

power set. It returns one or more types t E dom(TU) that are explicitly assigned to

an instance object i E dom(UO).

AT : UO -- 2TU--

V i UO 3 t E T I t AT(i) A -,3 (t, p, s) E E A p(i)

A notion of value acquisition is needed in design databases. This is

closely related to the idea of function (attribute) inheritance. The difference is that









value acquisition is defined for object instances rather than types. The instance that

acquires values will be called receptor and the instances from which values are

acquired will be called transmitter. The type of a receptor either is of the same

assigned-type as that of its transmitter or is its subtype. Value acquisition means

that a given set of functions returns the same result values for a receptor as for its

transmitter. A receptor is not allowed to update the result values of these functions.

As in case of attribute inheritance, this notion is further refined by allowing partial

value acquisition. Value acquisition is represented by the instance graph (IG).

There exists a mapping from IG to GG = (V, E).

Definition 2.10. IG = (VI, E1) is a labeled, directed, acyclic graph,

where

1. V1 C UO and V i e V 3 v V A v(i)

2. For each edge (a, b, s) C EE, 3 a corresponding edge (x, y, z) E E

x E AT(a) A y E AT(b) A s HS A sC z
3. In IG, for each j E VI, 3 at most one (i, j, s) E E, for a corresponding edge

(x, y, z) E E such that x E AT(i) and y E AT(j).
4. An edge (a, b, c) E, = V f E s, f(b) := f(a)

That is, for every member i in vertex set Vp of IG, there exist some type

v that is a member of V and i is an instance of v. For every edge in IG, there is a

corresponding edge in GG, such that the head and tail in the edge in IG are instances

of the corresponding head and tail in the GG edge and the functions that participate

in the value acquisition through this edge in IG is a subset of functions inherited

through the corresponding edge in IG. For each corresponding edge in GG, there is

at most one edge in IG. And lastly, the values of functions returned by the instance

object belonging to the head is the same as that of the instance object belonging to

the tail of the edge.










Design databases require a facility for defining and manipulating a

hierarchically structured set of objects as a single logical entity. We shall call such

an entity a composite type object, which is defined as a directed acyclic graph where

the nodes with in-degree zero are the types of the highest level composite objects, the

nodes with out-degree zero are the types of primitive objects. The directed edges in

the graph represent the is-part-of/is-composed-of relationship between a composite

object and its constituents. We shall call this graph the composition graph (CG). At

the instance level, the CG is mapped into as many spanning trees, as there are ver-

tices with in-degree zero. The instances of composite object are required to be a

strict hierarchy, because of the physical constraint that disallows an object to be a

constituent of two distinct composite objects. Sometime an integrity feature is added

to CG through the notion of existential dependence, which implies that a constituent

object is existentially dependent on its immediate higher level object. We do not

support this notion of existential dependence, as it enforces a top-down design stra-

tegy. CG provides a means for supporting the notion of composition. A detailed

discussion of composite objects, since they are an essential aspect of CAD applica-

tions, is provided in Chapter 3.

It should be noted that the notions of aggregation or association are

inadequate for modeling this property of composite objects. Composition is an

integral property of design objects. This property is deemed indispensable, as it is

required for materializing physical objects. Therefore, many constraints are imposed

on it; first, its minimum cardinality is always one, which disallows null values in the

constituent information of a design object; second, the maximum cardinality, which

is not allowed to vary, determines the exact number of constituent objects; third,

self-reference is disallowed in this attribute, as it violates the meaningful relationship

between a constituent and its composite object. Also, information is maintained to

answer queries related to transitive closure of composition.









Definition 2.11. A composition graph (CG) is a directed, acyclic graph,
CG =(Vc, Ec), where V C TU and Ec is a set of directed edges (called is-

composed-of), where E C { (ti, tj) I ti, t EG Vc }. An ordered pair (x, y) E Ec

denotes a directed edge from x to y, which implies that objects of type x are com-

posed of one or more objects of type y.
Definition 2.12. ICG = (Vd, Ed) the instantiated CG, is a directed,

acyclic graph, where VdC Iv and Ed is a set of directed edges such that

Ed C { (i, j) i, j E Vd }. There exists a mapping from ICG to CG.

1. For each (i, j) E Ed, 3a corresponding edge (t1, tj) E V : t(i) A t(j)

2. For each j E Vd, 3 at most one (i, j) E Ed

3. An iE Vd is said to be incomplete, if 3 (ti, tj) E V A ti(i) A

3 (i, j) E Ed

4. For an edge (a, b) E Ed, if b is incomplete, then it implies that a is incomplete.

That is, for every edge in ICG, there is a corresponding edge in CG such
that the types of the head and tail of the edge in ICG correspond to the head and
tail in the CG edge. The in-degree of of every vertex in ICG is at most one. A ver-
tex in ICG is said to undefined, if it does not have the same out-degree as its

corresponding vertex in CG.


2.2 An Example Database


In this section, we shall give a simple example of a database, which will

help to explain some of the concepts presented in the previous section. We take an
example from a familiar domain without any loss of generality. An example relevant
to CAD databases is given in Chapter 3.










This database contains four user-defined types: person, course, student

and faculty. The type person has student and faculty as its subtypes. The type per-

son has pl as an instance; student has sl, s2, s3 as instances; course has cl, c2, c3 as

instances; and faculty has fl, f2 as instances. The following functions are defined on

them.

Name ( person) -- charstring u;

Age (person) -- integer;

CName (course) -- charstring u;

GPA (student) -* real;

Enrollment (course) -- student m;

Teaches (faculty) -- course m;


The symbols "u" and "m" associated with the result of the above func-

tions represent the unique and multivalued result values, respectively.

A possible scenario for creating the database will be the following. The

user will first define some types and specify the subtype/supertype relationships

among them; that is, create a generalization graph. After this, functions can be

defined on these types. The database can now be populated. Homogeneous sets can

be defined at any time provided their elements have already been defined. It is also

possible to dynamically add types and functions.

The generalization graph for this database with UO as its root is shown

along with the proposed system type graph in Figure 2-1. It should be noted that for

each database, a different user-defined GG will appear under UO. The rest of the

graph is the system type graph, which is always available. In Figure 2-1, HS does

not have any subtypes, as we do not make any distinction between user- and

system-defined sets at this point. However, the user can define subtypes of HS.









The domain of each type is formed by the instances directly assigned to
that type. Domains for the types are shown in Figure 2-1. The declarations of
domains are self-explanatory. However, explanation is needed for the types Fs and

HS. It should be recalled that each system-defined type name also serves as a predi-
cate function; the functions dom and AT have already been defined. For HS, it is
assumed that the user has defined two sets {Enrollment, Teaches} and {pl, s2}.

dom (person) = { pi }; dom (student) = { sl, s2, s3 };
dom (course) = { cl, c2, c3 }; dom (faculty) = {fl, f2 };
dom (Tu) = { person, course, faculty, student };

dom (T)= { U, L, T, HS, F, UO, Tu, Ts, Fu, Fs,

real, integer, Boolean, charstring };
dom (Fu) = { Name, CName, Age, GPA, Enrollment, Teaches };

dom (F) = { U, UO, T, HS, F, L, Tu, Ts, Fu, Fs, dom, AT };

dom (HS) = { {Enrollment, Teaches}, {pl, s2} };


2.3 Retrieval Using Functions


In this section, we shall present a brief outline of the data manipulation

language. For the sake of brevity, syntax for simple declarations of types,
subtypes/supertype and instances are omitted here. Some examples in the later sec-
tions will illustrate their syntax.
A function is defined by using the following syntax.

Function F-name (t t . ti) < t+ ..., tm >

F-name is an identifier that stands for function name.

t t2 ,.., t ti+1 ,.. tm E T, are user-defined types, and are not necessarily dis-
tinct. The symbols "<" and ">" can be dropped from the declaration, if n is 1 in










an n-place tuple. For example, a function called Age can be defined in the following

way.

Function Age (Person) --+ Integer

The update of this function can be performed in the following way.

Age (pl) := 32

This data manipulation language is based on domain calculus. Interface

variables can be used in queries and updates as references to objects in the result or

argument of a function. As in domain calculus, these variables range over the

domains of the types they reference. When an object is retrieved into a variable, it

is bound to the identifier of the variable which may thereafter be used to refer

directly to the object. It is also possible to universally or existentially quantify a

variable. A variable referring to a type of the parameters of a function can be omit-

ted, if it is not needed in the formulation of a query.

A query can be expressed by using the following syntax: A B / P. A

contains a list of variables or function names that are being retrieved. B contains the

quantification and declaration of the types of variables used in A or P. P is an

optional predicate expression that can involve both functions and variables. A func-

tion can be derived from one or more defined functions.

This overview describes the logical primitives and the constructs that are

essential to illustrate and formalize concepts for design databases. In later sections,

some additional features that are needed for dealing with composite objects and ver-

sioning will be defined in terms of the basic set of constructs discussed here.









U


Person Course


Student


Faculty


Figure 2-1 The System Type Graph















CHAPTER 3
AN ABSTRACT VIEW OF COMPOSITE OBJECTS


In this section, basic modeling concepts for composite objects are

developed. These notions are of fundamental importance for understanding the

nature of design objects and their version management.

A composite object, as represented by the composition graph described in

Chapter 2, is a recursively defined aggregation of its constituent objects. In the exist-

ing literature, the composition property is deemed sufficient to represent a composite

object. It is one of the premises of this work that composition, though essential, is

inadequate for modeling objects in a complex engineering design.

Objects modeled in engineering applications are assemblies as well as

aggregations of their constituent objects that may, in turn, contain other objects.

The familiar abstractions of white-box and black-box properties can provide some

insight into the nature of design objects. The properties that describe an object

without any concern for their internal structure are viewed as black-box properties.

The properties that describe the entire structure are looked upon as white-box pro-

perties. In the following, we propose a classification of the properties of design

objects based on the above abstraction.

External features (EF) of a design object are its non-structural attributes

that are visible to the external world.

Internal assembly (IA) of a composite design object is its structural

attributes that identify its constituent objects and describe their interrelationships.










A primitive object does not have any internal assembly properties. It possesses only

the external features. In the composition graph, they form the vertices that have

out-degree zero.

Thus, external features correspond to black-box properties, as the inter-

nal details are not seen, whereas both internal assembly and external features

correspond to white-box properties, since entire object is visible. The categorization

of the attributes of a composite object into its external features and internal assem-

bly is a useful one. In design applications, it is often desirable to view a composite

object as a "primitive" object by disregarding its internal assembly. Also, this

classification provides a paradigm for understanding the concept of versioning as it

relates to composite objects.


3.1 External Features and Internal Assembly


In this section, we define the different subclasses of attributes mentioned

previously. These definitions are by no means formal. However, they provide a

framework for understanding the nature of and the requirements for design data-

bases. Later in Section 3.2, an example is given that illustrates these concepts.

The external features can be subdivided into descriptive (Ds) and inter-

face (IF) attributes, whereas the internal assembly can be subdivided into composite

aggregation (CA), interconnection (IC), and correspondence (CR) attributes.

Interface (IF) properties describe an abstraction of a design object.

These properties define links through which it interacts with the external world; i.e.,

the user and other design objects. The interface properties are crucial in understand-

ing the nature and functionality of a design object, as they are visible to the external

world and present a higher level of abstraction of the internal assembly.










Descriptive (Ds) attributes provide identification and non-interface

descriptions of a design object. Properties such as Name, Designer etc. are categor-

ized as descriptive attributes.

Composite aggregation (CA) of a design object identify its immediate

constituent objects. This property is captured by the instance composition graph

defined in Section 2.1.

Interconnection (Ic) attributes of a composite object represent the inter-

connections among its constituent objects. These interconnection attributes involve

only the interface attributes of the constituent objects.

Correspondence (CR) attributes of a composite object represent the con-

nection between its interface and the interfaces of its constituent objects.







EF IA



IF Ds CA IC CR

Figure 3-1

We believe that the abstraction of composite objects presented here is

independent of any data model. Other models with the construct of homogeneous

set can be used. Definition 2.5 introduced the system-defined type HS and the notion

of homogeneous set. Other system-defined subclasses appear as subtypes of HS. The

sets of functions defined here will have the following type structure. EF, IA -< C.

IF, Ds -< EF. CA, Ic, CR -< IA. This implies that new system-defined set, EF
and IA, become the subtypes of HS. The sets, IF and Ds, are subtypes of EF, and










they represent the set of attributes that constitute external features. This can be

diagrammatically represented in Figure 3-1.

Given these system-defined classes, the functions defined on the type of a

design object can be declared as their members. This allows us to enforce any con-

straint on a class of functions. An example given in the next section will serve to

illustrate this point.


3.2 An Example of a Composite Object


Consider a circuit representation of a 4-bit adder. Figure 3-2 shows its

interface specification: a pair of 4-bit numbers (X, Y) are inputs, a 5-bit number

representing their sum (Z) is output. It can have other descriptive attributes, Name,

Designer, etc., which are not shown in the figure. The internal assembly of this

adder is shown in Figure 3-3. It contains four adder-slices. The interface of adder-

slice is given in Figure 3-4. The interface properties of adder-slice are inputs X, Y

(1-bit numbers) and Cin (the carry from a previous slice) and outputs Cout (carry)

and Z (1-bit sum).

The internal assembly of the adder-slice is diagrammatically shown in

Figure 3-5. The composite aggregation of this adder-slice is given by three consti-

tuent objects: half-adderl, half-adder2 and OR-gate. Half-adderl and half-adder2

themselves are composite objects. For the purposes of this example, we assume that

OR-gate is a primitive object, and thus has no internal assembly. Interconnections

are shown between the output of half-adderl and the input of half-adder2, between

the output of half-adderl and the input of OR-gate, etc. Correspondences are shown

between input X of adder-slice and an input of half-adderl, between output Cout of

adder-slice and an output of OR-gate, etc. As mentioned in the previous section, the

interconnection and correspondence functions are defined only in terms of the inter-










face properties. Also, as shown in Figures 3-3 and 3-5, only the external features

(which include the interface properties) of a constituent object are visible to its com-

posite object or to the external world.

Figures 3-7 and 3-8 show the interface and the internal assembly of half-

adder. Half-adder contains an AND-gate and an XOR-gate, which are again

assumed to be primitive objects. The internal assembly of Figure 3-7 does not have

any interconnection attributes.

Adder forms the root of composition aggregation hierarchy, which has

three levels. The first level contains adder-slices. The second level has half-adders

and OR-gate. The leaves of the hierarchy are given by AND-gates and XOR-gates.

Figure 3-6 shows an alternative design of the internal assembly of adder-slice; in this

design, the aggregation hierarchy of adder has only two levels.


3.3 Modeling Composite Objects


In this section, we present intensional and extensional descriptions of

adder-slice using the constructs defined in Chapter 2. An identifier that starts with a

lower case letter denotes a type and an identifier that starts with an upper case letter

are instances of some type. This convention has been adopted here just for conveni-

ence and comprehensibility. We allow any legal identifier. In the function

definitions, two key letters, "u" and "m", are used to signify that the function returns

unique- or multi-valued results.

We assume that the following types have been declared: adderslice, hal-

fadder, orgate, xorgate, andgate and terminal. All but terminal are design objects.

The following functions are defined on these type to model the composite object,

addersilce.










function

function


function

function

function


function

function

function

function

function

function


TName (terminal) charstring u

IOtype (terminal) char


ORName (orgate) charstring u

ORInput (orgate) -+ terminal m

OROutput (orgate) -* terminal u


HName (halfadder) -+ charstring u

HInput (halfadder) terminal m

HOutput (halfadder) terminal m

HContains (halfadder) -*

HLinkl (halfadder, terminal) m

HLink2 (halfadder, terminal) -- m


Functions HName, HInput and HOutput constitute the external features

of object type halfadder, whereas functions HInput and HOutput define the interface.

Functions HContains, HLinkI and HLink2 define the internal assembly. This inter-

nal assembly does not have any interconnection attributes. HContains defines the

composition aggregation and the other two functions define the correspondence.


function AName (adderslice) charstring u

function ADesigner (adderslice) --+ charstring

function AInput (adderslice) terminal u, m

function AOutput (adderslice) terminal u, m

function AContains (adderslice) -*

function AConnectl (adderslice, halfadder, halfadder) -+
nal>

function AConnect2 (adderslice, halfadder, orgate) -+










function ALinkl (adderslice, terminal)

function ALink2 (adderslice, terminal) -+

AContains defines the composite aggregation of adderslice. Functions

AConnectl and AConnect2 describe the interconnection among the constituents of

adder-slice. AConnectl provides a mapping from the composite object, adder-slice,

and its constituents, two half-adders to a pair of terminals through which the inter-

faces of these half-adders are connected. Similarly, AConnect2 provides a mapping

from the composite object, adder-slice, and its constituents, a half-adder and an OR-

gate, to a pair of terminals through which the interfaces of half-adder and ORgate
are connected. Functions ALinki and ALink2 define the correspondence properties.

Alinkl describes a mapping from adder-slice and one of its interface (defined in terms

of a terminal) to the constituent object half-adder and its interface. Similarly,

ALink2 describes a mapping from adder-slice and one of its interface attribute to its

component OR-gate and its interface. The other functions are self-explanatory.

In Section 3.1, we described some system-defined classes. For each

design type object, a subset of the functions defined on them can be declared as a

member of one the subclasses. For instance, we have, for adderslice, the following

relationships.

{ AName, ADesigner } E Ds

{AInput, AOutput } E IF

{AContains } E CA

{AConnectl, AConnect2 } E Ic

{ALinkl, ALink2 } E CR

We present a partial extension of adder-slice. We assume the types

declared above have been instantiated and thus we have the following domains.









dom(terminal) = {X, Y, Z, CI, CO, Al, B1, A2, B2, S1, S2, C1, C2, II, 12, J }
dom(orgate) = {OR-gate }
dom(halfadder)= { HalfAdderl, HalfAdder2 }
dom(adderslice) = {AdderSlicel }

The assignment of values to the functions for OR-gate and for some of
the instances of terminal are shown here.

TName (X) := "X" ; IOType (X) := "";
TName (Z) := "Z" ; IOType (Z) := "0";

ORName (OR-gate) := "OR-Gate";
ORInput (OR-gate) := I1, 12 };
OROutput (OR-gate) := J;

HName (HalfAdderl) := "Half-Adderl";
HInput (HalfAdderl) := {Al, B1 };
HOutput (HalfAdderl) := { S, Cl };

HName (HalfAdder2) := '"alf-Adder2";
HInput (HalfAdder2) := A2, B2 };
HOutput (HalfAdder2) := { S2, C2 };

AName (AdderSlicel) := "Adder-Slicel";
Designer (AdderSlicel) := "Ostrominsky";
AInput (AdderSlicel) := {X, Y, CI };
AOutput (AdderSlicel) := {Z, CO };
AContains (AdderSlicel) := < HalfAdderl, HalfAdder2, OR-gate >;
AConnectl (AdderSlicel, HalfAdderl, HalfAdder2) := < S1, B2 >;










AConnect2 (AdderSlicel, HalfAdderl, OR-gate) := < C1, II >;

AConnect2 (AdderSlicel, HalfAdder2, OR-gate) := < C2, 12 >;

ALinkl (AdderSlicel, X) := < HalfAdderl, Al >;

ALinkl (AdderSlicel, Y) := < HalfAdderl, Bl >;

ALinkl (AdderSlicel, CI) := < HalfAdder2, A2 >;

ALinkl (AdderSlicel, Z) := < HalfAdder2, S2 >;

ALink2 (AdderSlicel, CO) := < OR-gate, J >;


The above example shows the modeling capabilities of the proposed con-

structs. The functional paradigm of this data model can represent complex design

features. It should also be noted that even simple design objects, as illustrated by the

example, cannot be represented at the type level alone. The design objects and their

functions have to be instantiated in order to unambiguously specify the interconnec-

tion, aggregation and correspondence properties. As we shall see in the next chapter,

this observation has important implications to the concepts employed in version

management.


3.4 Rules for Building Composite Objects


There are essentially two ways to build a composite design object. First,

a design object is defined initially in terms of its external features and later its inter-

nal assembly is described and instantiated. Second, a composite object, viewed as an

abstraction of a set of components into a higher level object, are built from its

already defined and instantiated constituent objects. These two approaches lead to

the top-down and bottom-up design strategies. We disallow neither of these stra-

tegies nor any of their combination, and thus provides a flexible system where

designers have the freedom to pursue any design strategy. In the following, some

integrity rules for building composite objects are given. A reference to constituent










object will imply that there exists a composite type object whose composite aggrega-

tion includes the type of that object. If there does not exist such a composite type

object, the object will be referred to as a non-constituent object. Such a distinction

is necessary, since objects can be defined at any stage of the design. Hence, a non-

constituent object can evolve into a constituent object and a primitive object can

change into a composite object.


Rule 3.1. A constituent object can be contained (referenced) by at

most one composite object (Definition 2.12.2).

Rule 3.2. A composite object is said to be incomplete, if the references

to any of its constituents are not bound (Definition 2.12.3). That is, their consti-

tuents are declared at the type level, but not completely instantiated.

Rule 3.3. A composite object is said to be incomplete, if one or more of

its constituents are incomplete. (Definition 3.12.4)

Rule 3.4. A modification in the interface properties of a composite

object may necessitate modifications in the interface properties of its components.

(This downward propagation of modifications may not always be necessary, if it is

accompanied with the modifications in the correspondence and interconnection attri-

butes of the composite object.)

Rule 3.5. A modification in the internal assembly, CA, 1C, or CR, of a

composite object object does not have any effect on its constituent objects.

Rule 3.6. A constituent object is not considered existentially dependent

on its composite object. Thus, deletion of a composite object does not result in the

deletion of its constituents, only the composite object itself and the functions defined

on it are deleted. A cascaded deletion must be specified as such.

These rules appear to be adequate for defining the innate characteristics

of design objects. However, these rules have been formulated without taking into







34


account the dimension of versioning. In Chapter 4, we shall present a framework for

version management. We shall also examine whether these rules need to be extended

or relaxed in the context of versioned design objects.

It should be noted that the subdivision of EF and IA discussed in this

chapter may not always be adequate. Further experience in structural/mechanical

engineering design is needed to test the above subdivision and verify its adequacy.



































Figure 3-2


r0



Adder

Slice


Y, C3


y Adder
3 Slice4


C4
Y"--- '----[--_ ;


Figure 3-3














Cin



X o-
Adder
SSlice Z





Court


Figure 3-4






CIn

r------- --------^

z
x Hl Ha Z
HlX Adder 2
I Half
Addder
Y








Court

Figure 3-5








Cin


z


Y I



i .z_ / -- j


Figure 3-6























Ha It
Adder




Figure 3-7


-a Sum

--o Carry


Sum





Carry


L I

L __ .-,


Figure 3-8


A o-

Bo--


T------ -----~















CHAPTER 4
VERSION CONTROL AND MANAGEMENT


Generally, design of an object starts with a high level description of some

aspects of that object. A named collection of information describing an object at the

type level is called a template, which can be modeled by a type and a set of functions

defined on it.

A design object is something that retains an identity throughout the

period in which it evolves through the design process that may change its state. Ver-

sions are snapshots of the object in different states and are modeled by objects that

are distinct from each other, though they share some identifiable common charac-

teristics. The versions of a design object contain qualitatively or quantitatively

different information, but they evolve in the direction of an ultimate design goal. A

version contains sufficient information to instantiate the object. If the version object

is composite, then its references are bound to its versioned or non-versioned consti-

tuent objects.

There is considerable debate in the literature as to when two instances of

the same type are different objects and when they are merely different versions of the

same object. The key to deciding this issue is to view different attributes of a design

object as either extrinsic or intrinsic attributes. The intrinsic property describe the

essence of the object. If intrinsic properties change, so does the object. Extrinsic

properties, on the other hand, can be modified without changing the object in any

significant way. Interface is an example of intrinsic attributes, whereas properties

such as "designer", "co-ordinate position", and even internal assembly are examples of

extrinsic attributes. In enginnering design, there are many situations where the same










interface can be materialized from different implementations-internal

assemblies--of an object. For example, Figure 3.4 and Figure 3.5 show an Adder-

Slice, its interface, and its internal assembly respectively. Figure 3.6 presents a

different internal assembly for the same object Adder-Slice. This internal assembly

contains a different set of constituent objects, but shares the same interface (shown in

Fig. 3.4) and provides the same functionality.

One of our basic theses is that different versions of a design object share

the same interface but have different internal assemblies. If the interface properties

change, this implies that the object itself has changed in some fundamental way.

Several arguments can be put forth in the support of this hypothesis.


1. Interface defines the functionality of the object and is visible to the external

world.

2. Design objects interact-correspond, interconnect-with one another through

interface.

3. A composite object enters into correspondence relationships with the interface

properties of its constituents. Therefore, any modification of the interface of an

object may disqualify it from being used as a component of its composite object.

4. Changes in the internal assembly of an object, if its interface remains invariant,

are not visible to the external world and may thus warrant creation of only a

different version.


Therefore, we maintain that different versions of an object share the

same interface properties and some descriptive attributes but can differ from one

another in their internal structure both at the type and instance levels.










4.1 Generic, Versioned and Unversioned Objects


In this section, we discuss three system-defined types, which provide the

basic framework for our proposed methodologies for version management.

Each design object, in addition to possessing its own types, belongs to one

of three system-defined types: Versioned, Generic, or Unversioned, which are sub-

types of DesignObject. Generic objects are instance of type Generic. The instances

of type Versioned are versioned objects, which are also called versions. Design

objects which are not going through a process of evolution are instances of type

Unversioned. These three types are mutually exclusive. It should also be possible

to dynamically acquire and discard one of these types. The protocol of such conver-

sion is discussed in Section 4.2.2. We stipulate that only design objects are version-

able.

The common characteristics that are used to relate all versions of a

design object are called its invariant properties. Invariance, however, does not imply

that they can never be modified; it means that they are invariant over the version

set.

A generic design object is characterized by its invariant external

features, which subsumes the interface properties. Therefore, a generic object

identifies the design object, represents its essence and contains a high level abstrac-

tion of its functionality.

In this model, all versions of a design object, which are allowed to have

different types, value-acquire (Definition 2.10) the invariant external features from its

generic object. The type of a versioned object appears in the generalization graph as

a subtype of the generic object type, if they are of different assigned-types. Further-

more, the versioned objects appear as receptors with the generic object as their

transmitter in the instance graph. There is only one generic object for each version










set. This scheme provides a paradigm that relates all versions of a design object and

also ensures that they have identical interface attributes.

A number of functions can be defined to relate a generic object and its

versions and to model their basic properties. Some of these system-defined functions

are shown here.

Genericlnst (Versioned) -- Generic;

FirstVersion (Generic) -- Versioned;

InitialVersions (Generic) -+ Versioned m;

VersionSet (Generic) -- Versioned m;

ImmedSuccessor (Versioned) -* Versioned;

ImmedPredecessor (Versioned) -+ Versioned ;

VersionNumber (Versioned) Integer;

CreationTime (Versioned) -* TimeStamp;

VersionStatus (Versioned) -- Status.


GenericInst maps a versioned object onto its generic object, from which

it acquires its invariant attributes. FirstVersion returns the earliest version of the

version set. InitialVersion returns the set of all the versions which are initially

created and have no predecessors. These versions are considered alternatives (to be

explained later) of the design. VersionNumber returns the version identifier that is

unique within a version set. Other functions are self-explanatory.


4.1.1 Version Graph

A version graph captures the evolution history of versioned objects. We

define a version graph (VG) as a disconnected, acyclic, directed graph. The edges of

this graph represent the successor/predecessor relationship. The version graph

VG = (Vv, E,), where V C Versioned and Ev is a set of directed edges :










1. V v w E V,, GenericInst (v) = GenericInst (w).

2. 3 a partition, { (Vl, E1), (V2, E2),..(Vi, Ei),..( V, E)} of VG, where each

member of this partition is a connected subgraph.

3. For each subgraph (V., E), 3 exactly one v E V such that

indegree(v) = 0.


Figure 4-1 shows an example of a version graph. The roots of the sub-

graphs, D.vl and D.v6, are the objects returned by function InitialVersions. These

versions can be viewed as different alternatives of a design. The non-root versions in

a subgraph can be looked upon as the refinements of the alternative design that

forms the root of a subgraph. For example, D.v5 has been derived from D.vl, and is

thus its refinement. Versions in a subgraph are derived from each other and hence

have the same user-defined types. As mentioned earlier, the roots of subgraphs are

not necessarily of the same type.

All the versions in a version graph, that is Vv, is referred to as a version

set. Versions in the version set are considered equivalent, as they have identical

invariant attributes. In the forthcoming discussion, we use the term equivalent ver-

sions for the members of the same version set.


4.1.2 Versioning at the Type and Instance Levels

In the literature, it has often been felt that versioning should be allowed

both at the type level and instance level. Versioning at the instance level implies

that different versions of the same object differ only in the values of some of their

properties. Versioning at the type level, on the other hand, means that equivalent

version can have different assigned types. It has an added implication that

modifications of a template--a type and a collection of attributes defined on

it-creates another template version. Furthermore, there is an underlying










assumption that a template is adequate for providing a complete description of a

design object.

Some schemes, which advocate versioning at the type level, propose that

a derived version should be a subtype of its predecessor version, so that a design may

evolve through incremental steps, as successor versions inherit all attributes of their

predecessors besides having their own properties. This scheme puts an unnatural

constraint on the design process by imposing an incremental strategy. Most systems,

however, provide versioning at the instance level, since versioning at the type level is

not without its problems. First, it is quite a deviation from the traditional notions of

data and databases. Second, templates often prove to be insufficient in providing a

complete description of a design object, since many attributes still need instantiated

values. Third, in many applications, e.g., software design, versioning at the type

level has no relevance at all.

The proposed scheme brings about a compromise between the two

opposing views. Versioning remains at the instance level in the sense that all infor-

mation is required to be instantiated. However, versions can have entirely different

types and thus different internal assembly properties. These disparate types of vari-

ous versions are related together by the generic object and the mechanism of value-

acquisition of invariant attributes.

For instance, in Figure 4-1, let the generic object, D.g, be of assigned-

type X, and the versions, D.vl and D.v6 be of assigned-types Y and Z respectively; Y

and Z are subtypes of X. D.vl and D.v6 are related by the imposition of invariant

attribute acquisition from D.g.










4.2 Creation and Updatability of Versions



To model the dynamic behavior of versions, the system should be able to

record significant changes in the evolution history of design. This requires categoriz-

ing the functions (attributes) of versioned objects into different classes. It should be

emphasized that a design object itself is a complex structure, which has different

classes of attributes even in unversioned state.


4.2.1 Classification of Version Attributes


We present a classification of attributes of design objects. The notion of

class, defined in Section 2.4, is used to model behavior of a design object on the

updatability of various groups of functions.

Figures 4-2, 4-3 and 4-4 show the classification of functions for unver-

sioned, generic, and versioned objects respectively. Ds and Ds2 form a partition of

descriptive attributes Ds. Figure 4-3 does not show any internal assembly attributes,

since generic objects, by definition, do not possess any internal structure. In Figure

4.4, @ stands for invariant attributes, represents version-significant attributes and

# stands for nonversion-significant attributes. These terms will be defined shortly.

It should be noted that in Figure 4-4 all interface attributes are value-acquired from

the generic object instance and Ds2 are attributes inherited from the generic object

type. It should be recalled that value-acquisition implies attribute inheritance.

The three classes of attributes, invariant, version-significant and

nonversion-significant, provide a mechanism for controlling update propagation in

versions.

Version-significant attributes can be updated only in a non-destructive

manner. Conceptually, modifications in one of these attributes creates a new derived

versioned object bearing the change. Such creations of new version are called










mutation. There is an important exception to this rule. The replacement of

equivalent versions by one another in the internal assembly functions, though they

are defined to be version-significant, does not cause mutation. This rule provides a

mechanism for effectively controlling unnecessary proliferation of versions. In the

forthcoming discussion, we refer to this update as equivalence modification.

Nonversion-significant attributes of an object can always be modified

without causing any mutation.

The invariant attributes of versioned object cannot be modified at the

version level, since they are value-acquired from the generic object.

The three classes invariant, version-significant and nonversion-significant

can be defined as subtypes of C, and different functions can be accordingly declared

as their members.


4.2.2 Version States and Operations


A feature that provides "automatic" generation of a new version on the

modification of version-significant attributes would be quite convenient. However, in

design applications, modifications are rarely atomic; normally, they are batched

updates. For instance, if the component aggregation properties are modified, this can

require modifications in interconnection and correspondence attributes.

In order to provide nonatomic updates and to maintain the constraints of

version-significant and nonversion-significant properties, we stipulate that a versioned

object be in either of the following three states: validated, stable and transient. The

characteristics of these three version states are described below

Validated versions have the following characteristics:

1. No modification is allowed on validated versions.

2. All the constituent references in a validated version must be bound either to

unversioned or other validated versions.










3. Concurrent access is allowed on them.

4. New versions can be derived from them.

Stable versions have the following characteristics:

1. Their version-significant attributes cannot be modified subject to the exception

of equivalence modification.

2. Nonversion-significant attributes can be modified.

3. New versions can be derived from stable versions.

4. Concurrent access is provided on them.

Transient versions have the following characteristics:

1. All noninvariant attributes of a transient versions can be modified.

2. All newly created and derived versions begin in the transient state.

3. New versions cannot be derived from them.

The following table summarizes the updatability of versions in the three

states.
Invariant Version Nonversion
significant significant

Transient No Yes Yes

Stable No No Yes

Validated No No No

Subject to the exception of equivalence modification

Table 4-1


Since in this model automatic generation of versions are disallowed,

modifications in the version significant attributes of an object can be achieved by

deriving a new version, which is a copy of the given version object, in transient state

and performing the modifications on this version. Four operations and their detailed

protocols are discussed below.










Promote is an operation defined on transient or stable versioned objects.

When applied to transient or stable versions, it changes their states to stable or vali-

dated statuses respectively.

Create is an operation defined on a generic object for creating a new

transient versioned object from the generic object. It entails the following steps:


1. This operation requires a mandatory specification of a user-defined type along

with the identifier of the generic object.

2. An object of the given type as well as of type Versioned is created, and it is

assigned a version number.

3. It is made to value-acquire the invariant attributes from the generic object. No

values are assigned to its other attributes.

4. It is inserted as a root in the version graph. This version is returned by function

InitialVersions.

5. This versioned object starts in the transient state. The promote operation,

which may follow possible modifications, changes this version to the stable state.


Derive is an operation defined on stable or validated versioned objects. It

creates a copy of the operand version in the transient state, and assigns it a version

number. It entails the following steps:


1. A new object of the same types as the given versioned object is created and a

version number is assigned to it.

2. It is made to value-acquire all the invariant attributes from the generic object of

the given version. All other attribute values, with the exception of the functions

defined on type Versioned, are copied from the given version.

3. It is inserted in the version graph as an immediate successor of the given ver-

sion.










4. The derived version starts in the transient state.

5. The promote operation, which may follow possible modifications, changes its

state to the stable status.


Convert is an operation that converts an existing unversioned object into

a generic object with its first version. It entails the following steps:


1. The type generic is added to this object.

2. A new object of the same user-defined type as well as of type Versioned is

created. It is made to value inherit all the invariant attributes from the generic

object.

3. All other attribute values of the generic object are copied to this versioned

object.

4. It is assigned a version number and is inserted in the version graph as a root of

a subgraph. (This version is returned by function FirstVersion.)

5. The internal assembly properties of the generic object, if any, are deleted.



In Figure 4.5, the transition diagram shows the effect of applying these

operations on unversioned, generic and versioned objects. The dashed arrow signifies

that the object itself undergo change, whereas the solid arrows means that the object

remains unchanged, and that these operations give rise to a new object.


4.2.3 Copying of Versioned Composite Objects


In the context of creating or deriving a version, references have been

made to the operation of copying. In this section, the details of copying is discussed.

One of the reasons why no consensus could be achieved on several

aspects of version management is the fact that the boundary of a design object is not

clearly defined. In conventional databases, an object can enter into any number of










associations with other objects, and any changes in the object is directly or indirectly

propagated to other such objects. This is not true in design databases.

The abstractions we have proposed in this model allow us to delineate

the boundaries of a design object. The interface properties are essential in under-

standing the nature of design objects and its boundaries. Interconnection and

correspondence are the only relationships through which a design object interacts

with other design objects. Furthermore, these interactions involve the invariant

interface. As noted before, we stipulate that only design objects are versionable.

Consequently, the boundaries of a design object can be distinctly delineated by its

external features and its internal assembly, since they are necessary and sufficient to

instantiate the object. This implies that for a constituent object the composite

object that references it and other constituent objects that interact with it lie beyond

its physical and conceptual boundaries.

Copying of a version object is defined as the creation of another ver-

sioned object, which is assigned unique object identifier and version number, and

which possesses identical external features and internal assembly. Thus, a newly

created or derived version is not referenced by any composite object. The values of

functions defined on type Versioned such as CreationTime, VersionNumber, etc.

must be different.

In case of composite objects, copying of internal assembly implies that a

versioned or unversioned object can appear as a constituent object in more than one

composite objects. This seems to violate Rule 4.1, which requires that a design

object can be a component of at most one composite object. In Section 4.4, we shall

review the rules given in Chapter 3.










4.2.4 Version Proliferation


As versioned objects may themselves contain other versioned objects as

constituents, an uncontrolled propagation of update can proliferate to the top. The

composite aggregation is defined to be version-significant, and thus its modification

must cause mutation. However, the proposed methodology, by viewing all versions

in a version set as equivalent and interchangeable, provides the capability for explor-

ing and experimenting with different versions of a constituent object without having

to create a new version of its composite object. The designer, however, has the

option of creating a new version and incorporating the changes there.

An example should illustrate the point. In Figure 4-6, a versioned object

A.vl has two constituent objects B.vl and C.v2; B.vl, in turn, contains D.v2 and

E.v5 and C.v2 contains F.v3 and G.v6. Suppose a new version D.V5 is derived from

D.v2. (Its version graph is shown in Figure 4-1.) B.vl changes its reference from

D.v2 to D.v5, which is shown in Figure 4-7. Since B.vl has undergone equivalence

modification, no new version of B.vl need to be created. However, it is possible to

derive a new version B.v2 (not shown in the figures) from B.vl and to replace D.v2

by D.v5 in B.v2. Again, either B.v2 can simply replace B.vl in A.vl's assembly or a

new version, A.v2, can be derived from A.vl and the change can be incorporated in

A.v2. Thus, the designer has the option, at every level of composition hierarchy, to

choose from one of the two strategies.

Let us consider another scenario. The internal assembly of C.v2 need to

be changed by adding a new object H.vl to its composite aggregation and updating

its interconnections and correspondence. (We assume that it has no effect on the

interface of C.v2). This cannot be done without mutating C.v2. Thus, a new ver-

sion C.v3 is derived from C.v2 and necessary modification are made in C.v3, as

shown in Figure 4-7. Either C.v2 can be replaced by C.v3 in the internal assembly










of A.vl or A.vl is mutated. Figure 4-7 represents the situation where a replacement

is made in the composition aggregation of A.vl without causing any mutation.

We can summarize these two options as following. One, the designer can

explore different configurations of a composite object by applying equivalence

modifications to its internal assembly, which does cause mutation. Two, the designer

can derive a new version in a transient state and incorporate those changes there;

this option can be used at every level of composition hierarchy. These protocols

allow a controlled update propagation and version proliferation.



4.3 Dynamic Binding and Generic Objects


In a design environment, a facility is frequently desired which allows an

indirect form of addressing, whereby composite objects can make "generic" references

to constituent objects. These references provide dynamic binding, as they may at

some later time be coerced to refer to some specific versions of the object under some

default criteria. The utility of this scheme is clear. A designer may want to take

advantage to the improvements made to an object, and thus by making a generic

references to that object, the designer can use the delayed resolution of the reference

to choose a default version. The other advantage is that a designer can use a generic

reference as a place-holder for some constituent object without any concern for or

commitment to its actual implementation. This is particularly useful in situations

where several designers are working on different divisions of a design.

When a composite object makes reference to a specific version of its con-

stituent object, it is said to be statically bound to that version; whereas when the

reference is generic, the composite object is said to be dynamically bound to some

default version of the constituent object. So far, we have discussed only static bind-

ing.










In this model, the generic instance object is used for dynamic binding.

Every generic object instance has at least one user-defined type and the system-

defined type Generic. It also possesses the interface attributes, and thus can partici-

pate in the interconnection and correspondence properties of a composite object.

Furthermore, all functions in the internal assembly of a composite object can be

defined in terms of the user-defined types of its generic constituent object. This

scheme provides the facility for substituting a generic object by any of its versions,

which is either of the same type as the generic object or its subtype.

Therefore, a composite object can reference a generic constituent object

in its internal assembly. The generic object conceptually represents the entire ver-

sion set and can be dereferenced to any version of the set. The version object to

which the generic object is deferenced is called a default version, and is selected from

the version set according to some predefined criteria. For example, the criterion can

be to select a version with the latest time-stamp. The system-defined function

Default is given below.

Default (Generic) -- Versioned u

The generic object serves a dual purpose. On the one hand, it is used to

relate all its version objects; on the other hand, it is used in a generic reference for

dynamic binding.


4.4 Rules for Versioned Composite Objects


In view of composite references of versioned objects, we shall furnish new

rules that will supplant some of the rules given in Section 3.4. For a precise formula-

tion of these rules, we define a function G for design objects.

Genericlnst (x) if Versioned (x)

Sx if Unversioned (x) V Generic (x)










G maps a design object onto itself, if it is of type Generic or Unver-

sioned; otherwise, it maps it into its generic object.

Rule 4.1. The single-valuedness of the mapping from a constituent to

its composite object is determined by applying function G on these objects.

As Rule 3.1 states, every constituent object instance maps into a single

composite object that contains it. Rule 4.1 relaxes this constraint by allowing any

constituent object instance, which can be of type Generic, Versioned, or Unver-

sioned, to be referenced by more than one equivalent versions. By applying function

G on different versions of a composite object, we get the same generic object,

whereby the mapping remains single-valued. The other related question is whether

different versions of a constituent object can be referenced by different composite

objects, which may either be unversioned or versioned. Again, application of G on

the equivalent versions of a constituent object returns an identical generic object, and

the constraint is violated, only if it is being referenced by different generic or unver-

sioned composite objects.

The examples given in Figure 4-8 and Figure 4-9 help explain the rule.

In Figure 4-8, all the links from composite object to constituent objects are valid,

since the mapping to the composite generic instance does not violate the single-

valuedness. B.v3 has two composite object links, but the application of G on A.vl

and A.v2 return their generic instance A.g. The case for B.g is similar. In Figure 4-

9, on the other hand, any combination of two or more crossed-out links violate the

constraint. Application of G on D.v3, D.g and D.v4 return D.g, which is referenced

by different composite objects.

The rule given above is close to reality, as it treats different versions as

equivalent design objects. They are considered different manifestations of the same

object with the underlying assumption that in the final phase of design only one of

the multitude of versions will be designated as the accepted version.










Rules 3.2 and 3.3 need no modifications. However, it should be noted

that either specific or generic binding is deemed sufficient.

Rule 3.4 needs an addendum. In case of versioned objects, the interface

properties are considered invariant. Hence, they cannot be modified at the version

level. These modifications can be performed only on generic objects.

Rule 4.2. The interface values of a versioned composite objects can be

modified only at the generic level.

Rule 3.5, on the other hand, needs to be supplanted by the following rule.

Rule 4.3. A modification in the internal assembly of a version object

gives rise to another version except in the case when a constituent is replaced by an

equivalent versioned or generic object.

The Rule 3.6 remains valid. However, a rule is required to deal with the

deletion of generic objects.

Rule 4.4. All version objects in a set are considered existentially depen-

dent on its generic object. Therefore, deletion of a generic object will result in the

deletion of all its versions.

Table 4-2 shows the correspondence, if any, between the rules given in

Chapter 3 and the rules needed in the context of versioning.

In this chapter, we discussed basic modeling concepts and protocols for

managing and controlling versions of composite objects. A precise definition of ver-

sions for design objects was given, version graph was defined, and two states for ver-

sioned objects were proposed. A protocol was provided for controlling update propa-

gation and version proliferation. A notion of generic object was introduced in order

to relate members of a version set and to provide dynamic binding. A methodology

was proposed to deal with versioning at the instance and template levels. A number

of rules were also given for providing a consistent semantics of composite version

objects.















































Figure 4-1






















Figure 4-2 Unversioned Object


Figure 4-3 Generic Object


Figure 4-4 Versioned Object











































Figure 4-5





























Figure 4-6


Figure 4-7





























Figure 4-8


Figure 4-9















Rules for Rules for Versioned
Composite Objects Composite Objects Remark

Rule 3.1 Rule 4.1 Supplanted

Rule 3.2 Valid

Rule 3.3 Valid

Rule 3.4 Rule 4.2 Addendum

Rule 3.5 Rule 4.3 Supplanted

Rule 3.4 Rule 4.2 Addendum

Rule 3.6 Valid

Rule 4.4 Addition


Table 4-2















CHAPTER 5
MAINTENANCE OF CONSISTENT SEMANTICS FOR COMPOSITE OBJECTS


The data model that we propose for design applications has several com-

plex constructs such as composition, generalization, version and instance graphs and

instance composition graph. These constructs interact with and interdepend upon

one another.

We have shown that a mapping exists from the instance graph

(Definition 2.10) to the generalization graph (Definition 2.6), and have given some

rules for imposing integrity for this mapping. Similarly, it was shown (Definition

2.12) that a mapping from the instance composition graph (ICG) to the composition

graph (Definition 2.11) exists; the related rules of this mapping were also given.

In this chapter, we study the interdependence among these constructs in

order to provide rules for enforcing consistent semantics and algorithms. These are

necessary for handling different problems associated with the effects of their updates

upon one another.


5.1 Protocols for Insertions and Deletions


In this section, some constraints that are essential for imposing con-

sistency in design databases are outlined.

Any addition of a new node in GG with no immediate predecessor is

made an immediate successor to the virtual node I1 (Figure 2-1). This is necessary,

since GG is, by definition, a rooted graph.










In the forthcoming discussion, we use the convention established in

Chapter 2 whereby a directed edge is represented as an ordered binary relation

(x, y), which means that there is a path from x to y. For GG, an edge (x, y) implies
that y is a subtype of x; for CG it means that y is a constituent of x.

Addition of a new edge (A, B) in GG results in B inheriting all functions

of A and its predecessors. (A, B) must not create a cycle. Additions and deletions

in the functions defined on a node in GG are propagated to all its successors. Remo-

val of an edge (A, B) from GG results in B's loosing all functions inherited from A

and its predecessors. If A is the only predecessor of B, then B is made an immediate

successor of the virtual root I,. This explains the mechanism of attribute inheritance

in GG.

Removal of a node A in GG is possible only if there does not exist an

instance object x such that AT(x) = A. The Definition 2.9 explains AT. Removal

of a node thus results in the removal of all edges directed to its immediate successors

and all edges directed to it from its immediate predecessors. This implies that a type

cannot be deleted as long as one or more of its instances exist. Also, the

successor/predecessor relationship is considered fundamental; that is, its deletion

implies the loss of all transitive relations.

Addition of an edge (A, B) in CG results in checking GG for a cascaded

update of CG. This implies that attribute inheritance also applies to composition.

Thus, if a node in CG is assigned a new edge, it must be propagated to all its succes-

sors. Again, CG, by definition, is an acyclic graph.

Deletion of an edge (A, B) in CG is possible, only if there does not exist

x and y such that A(x) and B(y) are true and there is no edge connecting x and y in

ICG. This means that an edge in CG cannot be deleted as long as there are instance

objects that participate in the relationship represented by that edge in CG.










For an edge (x, y) in ICG, Generic(x) cannot be true. This means that

generic objects cannot make references to constituent objects, as they do not have

internal assemblies.


5.2 Interaction between GG and CG


The generalization and composition graphs impact upon each other, as

some of the composition properties of a node in CG may be inherited from its super-

types. Therefore, every time GG is updated, its effect on CG will have to be gauged

and changes to it will have to be made accordingly. Also, any incremental update to

CG requires a look-up of GG to determine whether it results in other updates in CG.

As has been mentioned in Chapter 3, we do not allow the composition

and generalization graphs to contain a cycle. Thus, any incremental update of CG

and GG must check for the creation of a cycle. In the following, algorithms for mak-

ing insertions and deletions in CG and GG are given.

Procedure CGInsert

/* An edge (A, B) is to be inserted into CG. */

1. Find all successors of node A in GG. Let these nodes be {X,, X2,.., X}.

2. Find all successors of node B in GG. Let these nodes be {Y1, Y2"., Ym}

3. For each node Xr E {A, X, X2,.., X} and each node Ys E

{B, Y, Y,' ". m}, insert (X,, Ys) E {A, X1, X2,..,X} X {B, Y,, Y,, .., Ym

into CG.

4. For each insertion, check for a cycle in CG. If a cycle is detected, then abort
the transaction.

It should be noted that at the steps 1 and 2, partial transitive closures

need to be computed.









Procedure CGDelete
/* An edge (A, B) is to be deleted from CG. */
1. Find all successors of node A in GG. Let these nodes be

2. Find all successors of node B in GG. Let these nodes be

3. For each node Xr E {A, X1, X2, .., X} and

{B, YI r, 2 Y}, delete the edge
{A, X1, X2,.., Xn X {B, Y1, Y2, .., m} from CG.


{XX, x2,.., Xn.
{YI, Y2, '., I'm
each node Y. E

(X, Y ) E


Procedure GGInsert
/* An edge (A, B) is to be inserted into GG */.
1. Insert (A, B) in GG.
1.1 Check for a cycle. If a cycle is detected, then abort the transaction.
2. Find all immediate successors of node A in CG.
3. For all nodes { X, X2, .., Xn} found in the step 2, insert (B, X1), (B, X2) .

(B, X) into CG by calling procedure CGInsert.

Procedure GGDelete
/* An edge (A, B) is to be deleted from GG. */
1. Find all immediate successors of node A in CG.
2. For all nodes {X, X2 ,.., Xn} found in the step 2, delete

(B, X1),(B, X,), .. (B, Xn) from CG by calling procedure CGDelete.
3. Delete (A, B) from GG.


5.3 Efficient Management of CG and GG

In the previous section, algorithms were outlined for managing the

updates of GG and CG and the effects of these updates upon each other. In a design
database, these graphs can be very large. Thus, it is essential that some technique










should be devised that efficiently handles the update of GG and CG. For, this pur-

pose we propose that the transitive closures of GG and CG be maintained. The

motivation for doing so is manifold. First, as noted earlier, the algorithms for update

require the computation of partial transitive closures. Second, insertion into the

transitive closure relations can detect a cycle as a part of the algorithm; thus, the

detection of cycles requires no extra work. Third, in design databases, the queries

that involve the transitive closures of CG and GG are very frequent; hence, mainte-

nance of transitive closure relations eliminates the overhead of computing it when-

ever such queries are posed.

However, the problem with maintaining the transitive closure of a graph

is the storage requirement, which in the worst case can be O(n2). In the following

section, a strategy for efficient storage of transitive closure relations is outlined. A

performance analysis and storage requirement for this strategy are also discussed.

On the basis of this performance analysis and the time complexities of known algo-

rithms for computing transitive closure and for the detection of cycles, it is shown

that maintenance of transitive closure results in a better performance in handling

updates and answering queries.



5.3.1 Maintenance of Transitive Closure Relations


In this section, we give a compression scheme [Sch83, Agr89] for storing

and maintaining the transitive closure of a directed acyclic graph. We also give algo-

rithms for doing incremental deletion and update of transitive closure relations.

The compression scheme proposed here is a range compression. The

basic idea is to assign numbers to nodes so that instead of individually listing all

nodes within a certain range of values in a successor list the range could be recorded.

In order to develop a technique that yields maximal compression, the given graph is










covered with one or more spanning trees, and the tree is used to generate node

numbers. In the case of a directed tree, each node is numbered to reflect its relative

position in a postorder traversal of the tree. The number of the node is called its

postorder number. After this numbering, each node is assigned an index consisting of

the lowest postorder numbers among its successors. For simplicity, the index associ-

ated with a leaf node is the same as its postorder number.

The above scheme can be generalized for the case of a directed acyclic

graph, which is assumed to have connected components. If there are disjoint com-

ponents, they can be connected by creating a virtual root node. The compression

scheme for a DAG is given below.


1. Find a spanning tree T for the given graph G.

2. Assign postorder numbers and indexes to the nodes of T. At the end of this

step, an interval [i, j] is associated with each node, such that j is the postorder

number of the node and i is the lowest postorder number among its successors.

3. Examine all the nodes of G in the reverse topological order. At each node p, do

the following: (i) for every arc (p, q) add all the intervals associated with the

node q to the interval associated with the node p; (ii) if the interval being added

contains the postorder number of the node then there is a cycle; (iii) at the time

of adding an interval to the interval set of a node, if one interval is subsumed by

another, discard the subsumed interval.


After this processing, each node of the graph is associated with a unique

interval that contains reachability information for the nodes that can be reached by

following the tree arcs starting from this node. In addition, there are intervals associ-

ated with a node that provide reachability information for the nodes that can be

reached by following one or more nontree arcs from this node. Figure 5-1 shows an

example of a rooted DAG, where the reachability of each node is given by the labels










associated with it. The solid arrows represent tree arcs, whereas dashed arrows sig-

nify nontree arcs. The first label for each node represents its reachability following

the tree arcs emanating from it, whereas other labels give the information for its

nontree arcs.

The complexity of computing the compressed transitive closure of a

graph is the same as the computation of a transitive closure. Both are of O( n3 )

complexity in the worst case, where n is the number of nodes in the graph. How-

ever, compression is one-time activity, and once compressed closure has been

obtained, it can be repeatedly used to efficiently answer queries.

For maintaining the transitive closure of a graph, it is essential that

efficient algorithms be provided for doing incremental updates to the graph. There-

fore, while assigning postorder numbers to the graph, it is not necessary to choose

contiguous numbers; gaps can be left between numbers and the compression scheme

will still work correctly. The initial gap could be determined by dividing the range

of integers that will fit into a word by the expected number of nodes in the graph.

Alternatively, real numbers could be used instead of integers.

In the following, we describe an algorithm for the insertion of an edge.

Consider a new node j connected by a new arc (i, j) to be inserted at an existing

node i. Note that there can never be a new node i for a new arc (i, j), as we are con-

sidering a DAG with a virtual root node.

1. Let the postorder number of i be n and that of its immediate successors with

the smallest postorder number be m. If i is a leaf node, m is taken to be one

less than the lowest number in the range of intervals associated with i. Find

two postorder numbers between m and n that have already been assigned and

have the largest difference. Let n, and n2 be these numbers. Assign to j the

postorder number n3 = (n +n-)/ 2 and the interval [nl+1, n3].










2. For the addition of a new nontree arc (i, j), the intervals associated with j will

have to be added to node i and all its predecessors. If any of the intervals being

added to a node contains its postorder number, then there is a cycle. Moreover,

if the new interval is subsumed by an interval associated with the node, then

this interval is discarded. If no new interval is added to a node, the effect is not

propagated to its predecessor.

An algorithm for deleting an existing edge in a graph is described below.

For the deletion of a node, all edges that have this node as a head or a tail are

deleted.

1. For the deletion of a tree arc (i, j), take the subtree rooted at j and make it the

child of the virtual root node, renumber the nodes in the subtree by assigning

them numbers greater than L, which is the largest postorder number being

currently used. The postorder number of the virtual node is assumed to be cc.

Update the tree intervals associated with the nodes in this subtree, but retain

the nontree intervals.

2. Modify any nontree intervals that have old postorder numbers by new postorder

numbers. (The new postorder numbers are created by renumbering the nodes of

the subtree in the step 1.)

3. If any of the tree predecessor of j in the old graph had a nontree arc coming

into node k of the subtree rooted at j, they inherit the intervals associated with

k.


5.3.2 Complexity of Search, Deletion and Insertion

We present a time analysis of the algorithms given here for the mainte-

nance of transitive closure relations. This analysis is based on a proposed data struc-

ture for the compression scheme that comprises a collection of list, each of which

contains the node, the postorder numbers of its immediate successors, and a set of










tree and nontree intervals associated with it. Other data structures will not change

this analysis of algorithms.

Let n be the number of nodes in the graph and d be the average number

of intervals associated with each node. Clearly, retrieval of transitive closure requires

two passes. One for finding the predecessors or successors of the node; in the worst

case, the cost of finding the successors is O(n+d) and of finding the predecessors is

O(n*d). The other pass is needed for interpreting the postorder numbers of the

retrieved node, which is of cost O(n). Hence, the cost of retrieval, in general, is

O(n*d).

For the addition of a tree arc (i, j), the cost of search for i's immediate

child with the smallest postorder number and two postorder numbers is O(n). For

the addition of a nontree arc, one pass is required for adding the intervals associated

with j to i and all of its predecessors, which is O(n*d). Hence, the cost of addition is

O(n *d).

For the deletion of an arc (i, j), the update of the tree intervals of the

subtree rooted at j and the update of all relevant nontree intervals requires one pass

and thus have O(n*d) complexity. Two more passes are required to find the tree

predecessors of i that has an arc coming to the subtree and for adding nontree inter-

vals to these nodes; the costs of both these passes are O(n*d). Hence, the cost of

deletion is O(n*d).

In the worst case, the average number of intervals associated with each

node can be of O(n2). For instance, in a bipartite graph, the total number of inter-

val required can be (n+1)2/2. The worst case seems to occur when a large number

of nodes have the same set of immediate successors. However, in such cases, a single

common virtual node can be created as an intermediary. There will be only one

interval associated with the virtual node and thus only one more interval will be

added to all its predecessors. However, we do not expect worst case graphs to arise










in the applications envisaged. In the ideal case when the given graph is a strict

hierarchy, only one interval is associated with each node. Thus, the storage require-

ment for the transitive closure of a hierarchical graph is of O(n).

As the maximum number of edges in a directed acyclic graph is

n(n-l)/2, the storage requirement for its full transitive closure can be O(n2) in the

worst case, where n is the number of nodes in the graph. The detailed simulation

analysis by Agrawal et al. shows that for a general graph with nodes in the range of

500-1000, the storage requirement for a compressed transitive closure tends to be half

of the storage requirement of the original graph when the average out-degree of

nodes is between five and ten [Agr89]. The total storage required was computed as

the numbers of successors at each node for the original and transitive closure graphs.

The reasons for the compressed closure requiring less storage than even

the original graph are the following. As numbers of edges increase, a deeper, less

branchy tree can be found to cover the graph. Most successors of a node can be

reached through tree edges. Paths through nontree edges are mostly subsumed. A

compressed closure also avoids the extra storage required for these "redundant" edges

whose removal does not affect the reachability information in the graph.

It is clear from this storage requirement that d in most cases is less than

D/4, where D is the average out-degree of nodes in the graph. The simulation

analysis was done for arbitrary DAGs. It should be noted that graphs GG and, espe-

cially, CG contain hierarchical infrastructures, and thus d is expected to be quite

small compared to D.

The data structure proposed in the scheme that contains both the origi-

nal graph (i.e., the list of immediate successors) and the compressed transitive closure

will require on average (3s/ 2) storage, where s is the storage needed for the original

graph.










5.3.3 Analysis of Time Complexity


Because of the consistency rule, the generalization and composition

graphs are not allowed to have cycles. This means that at the time of every inser-

tion in GG or CG a cycle detecting mechanism has to be used. The time complexity

of detecting a cycle in a directed graph is O(n + n*D), where n is the number of

nodes and n*D is the number of edges in the graph. The computations of transitive

closure relations general involve O(n3) algorithms, though some techniques have

been developed that give somewhat better performance than O(n ). As argued by

loannidis and Ramakrishnan, only the semi-naive algorithm computes the partial

transitive closure (i.e., the set of all predecessors or successors of a given node)

efficiently, and it has O(n + n*D) complexity [Ioa88]. With the exception of semi-

naive algorithm, we must essentially compute the entire transitive closure first and

then perform a selection.

We compare the time complexities of the algorithms given in Section 5.2

for two cases: (i) the transitive closure relation of GG and CG are maintained and

(ii) their transitive closure relation are computed when required.

Consider procedure CGInsert. At the step 3, insertions take place; each

insertion implies that creation of a cycle has to be checked. The cost of insertion in

the case (ii) is O(1), whereas the cost of detecting a cycle is an O(n + n*D). In the

case (i), the cost of insertion of an edge is O(n*d). However, the detection of cycles

is a part of the insertion algorithm with no extra cost. At the steps 1 and 2, partial

transitive closures need to be computed. The semi-naive method can compute par-

tial transitive closure in O(n + n*D) time. In the case (i), the search to find a par-

tial transitive closure (i.e., the successor list of the given node) is O(n+d). Similar

arguments can be made for procedure GGInsert, which calls procedure CGInsert.

Thus, the maintenance of transitive closures improves the performance of insertion










algorithms from O(n + n*D) to O(n*d). As d is expected to be quite small, we get

a computational advantage of several factors.

The cost of deletion of an arc in the case (i) is O(n*d) whereas its cost is

O(n) in the case (ii) for searching and deleting an arc. However, the steps 1 and 2 of

procedure CGDelete compute partial transitive closure, which has been shown to

have a better performance in the case (i). As d is expected to be small compared to

D, the performance of deletion algorithms will still be better for case (i). Similar

arguments can be made for GGDelete, which calls CGDelete.

It is clear that maintenance of the transitive closure relations of CG and

GG provides less expensive updates and queries, though it has a higher storage

requirement. The foregoing analysis shows that the trade-off it provides in terms of

efficient performance far outweighs the storage requirement.










A
[5,90]


C D
[35,40] [50,70]


G H I
[10,10] [20,20] [35,35] [5,30]


J
[50,50]


Figure 5-1


A
[5,90]


C
[35,40]


D
[50,70] [35,40]


G H
[10,10] [20,20]


I
[35,35] [5,30]


Figure 5-2


E
[5,5]


K
[60,60]


E
[5,5]


K
[60,60]


[50,50]















CHAPTER 6
A STORAGE STRATEGY FOR VERSIONED COMPOSITE OBJECTS



Design of a complex engineering object or a large software system is an

intricate task. A design object may contain thousands of constituents, which can

themselves have several versions. An efficient storage strategy for design objects is

indispensable for keeping this task manageable. In this chapter, we propose a storage

strategy for versioned composite objects, which involves clustering as well as indexing

techniques for efficient retrieval, update and testing. The physical design of a data-

base system requires that a number of decisions be made with respect to the parame-

ters of the implemented system. A detailed knowledge of the system characteristics

is required for a good design. However, this alone is not enough, since it is frequently

the case that a group of parameters are so interrelated that changes in one requires

adjustment in others in order to maintain a balanced design. The ostensible intracta-

bility of the problem perhaps explains why the work [Har87, Kim88, Ket88b]

reported on storage strategies for composite objects does not take the dimension of

versioning into consideration or deal with the frequent changes during the design

phase.

The proposed storage strategy incorporates the expected design

parameters-the structure, access and update pattern, versioning, and testing

requirements of a design object. The underlying idea is to provide indexing facility

for objects for direct retrieval and place them physically clustered on secondary

storage so that disk access and page faults are minimized. The objective is to

develop a database organization technique which supports efficient execution of fre-

quent retrieval and update operations in CAD design databases.










6.1 Design Database Operations


In this section, we present an outline of a set of frequently occurring

operations in a design database. These operations and their relative frequency and

significance furnishes the basis of the proposed strategy. In the forthcoming discus-

sion on composite instance graph, we use terms such as parent, child, descendent,

ancestor, and sibling with obvious meanings from graph theory. We also use the

term twins to refer to members in a version set.

The basic operation in a design database is the retrieval of an entire or

partial design object, which is called object retrieval (OR).

Other operations in design database normally require accessing objects

that are interrelated to one another. The operations of accessing objects in a version

set; that is, the transition from one twin to another is called twin transition (TT).

An operation is needed in design databases to access all constituent

objects of a given composite object. The operation of physical transition from one

sibling constituent object to another is called sibling transition (ST).

Other important operation in design databases is accessing constituent

objects from their parent composite objects. Distinction must be made between this

operation and the previously described operation ST. Here the transition is from a

parent object to its first child object rather than between the siblings. This type of

operation is called parent-child transition (PCT).

Another important, though less frequent, operation is the access of all

parent objects from a given child constituent object. Essentially, it is a transition

from a child to its parents. This operation is called child-parent transition (CPT).

It should be noted that in the proposed versioning scheme a versioned object can be

referenced by more than one objects, which belong to the same version set.










An operation is also needed which, given an object, provides access to all

its constituents. This operation can be materialized by recursively applying the

operation PCT. This operation is referred to as ancestor-descendent transition

(ADT). As argued in Chapter 5, this type of operation is quite frequently used in

order to query a design at the template level. However, this operation at the

instance level ceases to be very useful because of the huge amount of data retrieved.


6.2 Units of Clustering


Design objects are highly variable in size, as they have variable length

and set-valued attributes. The storage subsystem required for design database must

support heterogeneous and variable length records. Heterogeneous records imply

that data pages in the storage subsystem contain different types of records. Variable

length records mean that records of the same type are allowed to grow and shrink in

size. The storage must also allow record clustering; that is, a new record can be

stored in the vicinity of the specified storage location.

Most applications in design databases tend to retrieve a design object in

its entirety or a large significant portion of it. Moreover, these retrievals tend to be

object-oriented rather than set oriented [Ket88a]; that is, an object is retrieved given

its object identifier, whereas in conventional databases a set of records is retrieved

based on some criteria defined on their attributes. For the derivation operation (Sec-

tion 4.3), an object is accessed in its entirety in order to create its copy. Therefore,

records that belong to a design object must be physically collocated. An object con-

stitutes an unpartitionable entity, and thus a fundamental unit of clustering.

In the following, we discuss the characteristics of design databases, which

provide a strong motivation for a scheme that supports physical collocation of ver-

sions in a version set.










In an environment that supports versioning, a designer accesses different

versions belonging to the same set in an exploratory manner for browsing and testing

them, or for selecting them to be referenced as constituents, or for deriving a new

version. As discussed in Section 4.2, all objects in a version set are equivalent and

can be interchangeably referenced by a given composite object.

In the derivation operation, a version is created by copying a given ver-

sion. The writing of the newly derived version is most likely to be stored on the

same page as the source version. This minimizes page faults, as the page is expected

to remain in buffer. By collocating all the versions of an object, the space can also be

managed efficiently. The invariant attributes need not be replicated, as they are

acquired from the generic object, which is also clustered with the versioned objets.

A technique called delta refinement, which stores only the modified attribute values

of a version, can be efficiently applied to the derived versions, if this scheme is sup-

ported.

The proposed model allows a composite object to make generic refer-

ences to its constituents, which can be dynamically dereferenced by some default cri-

teria. In generic reference no particular version is referenced and any object in the

version set can be dynamically bound to its references. Therefore, by collocating ver-

sions in a set, the operations PCT and ST with generic references can be efficiently

supported.

During the derivation phase, a new derived version can exist without

being referenced by any parent object and thus may lead to dispersed storage. An

example should illustrate this point. Consider a composite object A.v4 that refer-

ences the object B.v2, which in turn references C.v5. Suppose a new version B.v3 is

derived from B.v2. B.v3 also references the constituent object C.v5; however, A.v4's

reference to B.v2 remains unchanged and for a period of time B.v3 can remain

unreferenced. This implies that B.v3 must be collocated with its potential parents










for efficient support of PCT and ST operations. It should be noted that B.v3 can be

referenced in the future only by the versions belonging to the object A. Similar

situation can also occur by frequent modifications of reference from one equivalent

version to other. This scheme can eliminate the dispersed storage of related objects

and efficient execution of TT, ST and PCT can be ensured.

The foregoing discussion attempted to demonstrate the necessity of phy-

sically clustering the members of a version set on the physical storage. This forms

the second unit of clustering.

Identifying and accessing all the immediate constituents of a given object

is an activity that occurs quite frequently in design databases. A composite object is

defined in terms of its constituents. All constituents of a design objects are often

accessed by the same transaction in order to explore them, or to examine whether

they are complete and/or consistent, or to run validation test on them. This pro-

vides a motivation for storing sibling constituent objects close to one another on disk.

This gives the third unit of clustering.

In Chapter 3, we gave some rules for building a composite object hierar-

chy. In Chapter 4, the basic requirements of versioning were discussed. It was

observed that adding the dimension of versioning to a composite object hierarchy

transforms it into a directed acyclic graph (DAG). Since in the versioning scheme, a

constituent object can have more than one parent objects belonging to the same ver-

sion set, the strict hierarchical property of ICG (Definition 2.12) is lost.

We noted earlier that TT and ST are frequently used operations in

design databases. However, any traversal of a DAG cannot maintain the property of

unintervened sequential access to all its child nodes, since a child node may belong to

more than one parent and thus can be placed only in one set of siblings. A com-

parison of DAG and hierarchy traversals is discussed in the next section.









The principal insight underlying the proposed scheme is to transform a

DAG into an equivalent hierarchy. This conversion is based on simple notions.

First, we note that the nodes in the DAG have multiple parents, but they are at the

same level. Second, all parents of a node must belong to the same version set; that

is, they must be twins. Third, a node, though it may not currently have any parent

and thus form a root in the DAG, can potentially acquire a parent only from a desig-

nated version set, which owns its twins. We have already argued the advantage of

clustering the members of a version set; it should be pointed out that most of the

twins are expected to be shared by the parent objects due to probative and deriva-

tive nature of design.

If all objects in a version set are treated as a single clustered node and

the children of all objects in the set are treated as the children of the node, a DAG

can be converted into a hierarchy. The following formalism gives a precise descrip-

tion of this transformation.

1. We observe that for any two edges (a, c) and (b, c) in the DAG, GenericInst(a)

= GenericInst(b) always holds true.

2. For nodes A1, A2 ,.., Ak ,.., An in the DAG, there is a corresponding node A

in the equivalent hierarchy, such that A = {A1, A2 ,.., Ak ,.., An } and V

Ai E A, GenericInst (Ai) has a unique value.

3. For any two nodes A, E A and B. E B, if 3 an edge (Ai, B) in the DAG,

then there is an edge (A, B) in the equivalent hierarchy.

Figure 6-1 shows such a DAG. Figure 6-2 represents an equivalent

hierarchy. In the hierarchy, A = {A.vl, A.v2}, B = {B.vl, B.v3, B.v4 }, D = { D.v3

}, N = { N.vl, N.v2 }, S = { S.v5}, etc. The edge (A, B) in the hierarchy corresponds
to the DAG edges (A.vl, B.v4) and (A.v2, B.v3). Similarly, the edge (A, D) in the

hierarchy corresponds to the edges (A.vl, D.v3) and (A.v2, D.v3), etc.










It should be pointed out the this transformation of a DAG into a hierar-

chy is motivated by a search for an optimum clustering. It provides arguably the

most efficient sequential ordering of objects for the execution of design operations.

The parent-child references in a DAG, which are represented in the internal assem-

bly of an object, remain valid in their hierarchical representation.



6.3 Traversals of Hierarchies


In Section 6.1, we proposed a number of operations and three important

units of clustering. The three operations-OR, TT, and ST-are fundamental to

the nature of design databases. An efficient execution of these operations are pro-

vided by the proposed clustering and indexing (discussion of which is postponed to a

later section) schemes. The operator PCT is also extremely important; in fact, the

operation ST becomes meaningful only when it is preceded by a PCT. It is expected

that there will be repeated calls to ST after a call has been made to PCT.

Therefore, the nodes of a hierarchy should be organized in a sequential

order in which they are most likely to be accessed. Since any node can be directly

accessed and thus can become a starting point in a sequential access to other nodes,

the chosen pattern of organization must be recursively repeated. This is the sequen-

tial order in which nodes of a given hierarchy will be stored on disk. There are many

ways a hierarchy can be traversed. Our goal is to find an optimal storage given the

units of clustering and the expected frequency of the operations.

Any traversal of a hierarchy that provides a sequential order for storing

its nodes must satisfy three requirements. First, a node must be visited before any of

its descendents are visited; this ensures that the descendents of node can be accessed

in a single, sequential forward traversal. Second, all children of a node must be collo-

cated as close as possible. Third, any deletion and insertion in the existing hierarchy










should produce a minimal restructuring of the sequential order. In design databases,

an insertion does not necessarily apply to a single edge; a whole subtree representing

an independent composite object can be inserted as a child of a node in another

design hierarchy. This situation occurs when two composite object evolve indepen-

dently and later one is referenced as a descendent by the other.

Depth-first and breadth-first traversals are two well-known methods for

traversing a hierarchy. In depth-first traversal, a single branch of a hierarchy is

traversed to the leaf level, and only then are other branches explored. In breadth-

first traversal, a hierarchy is pursued one level at a time until it is fully traversed.

These traversal methods are illustrated by the following examples. A hierarchy is

shown in Figure 6-3. Assuming that child nodes of a given node are traversed from

left to right, the following are the sequences in which depth-first and breadth-first

traversals respectively visit the nodes of the hierarchy.

DFT: ABEHIJFGKLCMNDOQRP

BFT: ABCDEFGMNOPHIJKLQR


It is clear that both traversals meet the first criterion of accessing an

ancestor node before accessing its descendents. However, depth-first traversal does

not satisfy the second, and the most important, criterion of clustering the sibling

nodes. Breadth-first traversal does not closely collocate child nodes with their parent.

Consider an independent design hierarchy shown in Figure 6-4, which is

inserted as a subtree under node A in Figure 6-3; that is, a becomes another child

node of A. The resulting hierarchy is shown in Figure 6-5 and its two traversals are

given below.


DFT: ABEHIJFGKLCMNDOQRPaPlSOytv










BFT: ABCD aEFGMNOP/vHIJKLQR Opyv


The above example illustrates that in depth-first traversal, the insertion

of a subtree creates a minimal restructuring of the existing sequence, as the insertion

is made at only one location. It is clear that the nodes belonging to the subtree are

simply inserted at one point-that is, after the node P-without any restructuring

of the sequence in the subtree. It should be pointed out that the insertion cannot

always be at the end of the sequence. On the other hand, in breadth-first traversal,

insertions are made at all levels that are common to both the hierarchies; that is, a

must be inserted at the first level, and / and -y at the second level and so on. The

subtree that is being inserted will have its nodes sequenced in the given order. The

insertion in depth-first traversal utilizes this fact; however, the breadth-first traversal,

due to its very definition, cannot; and, thus insertion for this case becomes very

inefficient.

Consequently, neither of these traversals satisfies all the requirements of

a design database. This has motivated us to devise a new method of traversal called

sibling-reverse-depth-first (SRDF), which is essentially a hybrid of the above two

traversals. In SRDF traversal, once a node is visited, then all its child nodes are

visited immediately. This procedure is recursively repeated in reverse order. The

following procedural description defines the method in a more precise term.


Procedure SRDFT (A);
BEGIN
Visit node A;
IF node A has any children THEN
BEGIN
Visit all child nodes of A;
For each child B of A
Call SRDFT (B) in the reverse order;
END;
END.










The sibling-reverse-depth-first traversal of the hierarchy shown in Figure

6-3 is given below.


SRDFT: ABCDOPQRMNEFGKLHIJ

In SRDF traversal, all children are visited immediately after a parent

node is visited in order to impose a sequential clustering on the siblings; this is fol-

lowed by a recursive application of this traversal on the child nodes in the reverse

order; that is, the child that was visited last is chosen for the access of its descen-

dents first. This ensures that for at least one node of each set of siblings, the descen-

dents can be accessed without any intervening nodes. The SRDF traversal, as can be

easily seen, meets the first and the second criteria. The idea behind this traversal is

that if after having visited all child nodes, a designer accesses a descendent of the

given node, then he/she is most likely to visit all the descendents of a child node

before switching to the descendents of some other sibling node. Therefore, this

traversal imitates the depth-first traversal to some extent. To investigate the effect

of an insertion, the SRDF traversal of the resulting hierarchy is given below after the

above mentioned insertion.


SRDFT: ABCDa/P3ypvOOPQRMNEFGKLHIJ


In SRDF traversal, an insertion of a subtree produces a minimal restruc-

turing of the existing sequential order of a stored hierarchy. The subtree is already

stored in SRDF sequence and its sequential order remains intact; the insertion takes

place at a single location in the existing hierarchy. Therefore, the proposed SRDF

traversal appears to be comparatively better than the two traversal schemes, as it

meets all the three requirements. In the following, we give an insertion algorithm for

SRDF traversal and show its correctness. The algorithm gives the procedure for

inserting a subtree rooted at B under node A of a hierarchy rooted at R. The inser-










tion preserves the three properties discussed earlier. The subtree is assumed to be

ordered in SRDF sequence.


Procedure Insert-SRDF (R, A, B);
BEGIN
IF A has no child and A = R THEN
Insert the subtree rooted at B after A;
IF A has one or more children THEN
Insert the entire subtree rooted at B immediately
after the last child of A;
IF A has no child and A # R THEN
Find parent P of A and insert the subtree rooted
at B immediately after the last child of P;
END.


To show the correctness of the above algorithm, we observe that the

insertion was required to be made at only one location. Hence, the third criterion is

satisfied. To show that SRDF insertion algorithm ensures that all children are placed

after the parent without any intervening nodes between the siblings, we consider

each of three conditional statements in the algorithm. In the simplest case, when A

has no children and it is a root node, the subtree rooted at B is inserted after A and

thus B, the only child of A, follows A. If A has existing children, then the subtree

rooted at B is placed immediately after the last child of A; thus B follows A and it is

stored next to its sibling without any intervening node. Furthermore, the subtree

does not intervene between other siblings of B, as it is inserted after all its siblings.

Similarly, if A has no child but has a parent, then B is inserted immediately after all

the children of A's parent, and the same argument as above applies. However, it

should be pointed out that for efficient insertion the subtree is not inserted in the

reverse order of the descendents of A's siblings, but simply inserted after all its

siblings. This nonetheless maintains the SRDF sequence. To show that this insertion

algorithm maintains the sequence of the descendent of any given node unintervened

by any nodes that are not the descendent of the given node, it is observed that the

insertion preserves the clustering sequence of siblings and since the descendents of B










in the subtree are already in the desired sequence of SRDF, the property is main-

tained for the resulting sequence after an insertion.

Several types of deletion can occur in a design database. At the outset, it

should be recalled that in the proposed model child objects are not considered

existentially dependent on their parent (Rule 3.6); therefore, a deletion of a node does

not require the deletion of its descendents.

A deletion of an edge in the original DAG for versioned objects does not

require a deletion of any object in the hierarchy except for the modification of the

reference. As explained before, an unreferenced object in version set does warrant its

deletion or any restructuring.

Deletion of a versioned object calls for its removal from the version set

and the deletion of all the references from its parent and child objects.

A deletion of an edge in the hierarchy of a composite object requires a

restructuring of the stored sequence on disk. This deletion of an edge implies that

the version set of a composite object completely discards the generic and specific

references to its child object. In this case, the subtree representing the child object

must be removed from the hierarchical sequence and be stored as a root object at

some different location. This type of deletion is expected to rarely occur in design

database. The deletion algorithm is given below; R is the root of the existing hierar-

chy and B is the root of the subtree being removed.


Procedure Delete-SRDF (R, B);
BEGIN
Locate the parent A of the node B;
IF A has no child other than B and A = R THEN
Remove A and store it at a different location;
{There is a new hierarchy rooted at B}
IF A has no child other than B and A # R THEN
BEGIN
Remove B and all its descendents from the given
hierarchy and store them at a new location;
Restructure the original hierarchical sequence;
END;










IF A has more than one child THEN
BEGIN
Remove B and all its descendents, restructure them
and store them contiguously at a new location;
Restructure the original hierarchical sequence;
END;
END.

The first three steps are straight-forward and need no explanation. In

the last step, the removed subtree rooted at B needs to be restructured, as B and its

descendents may not be contiguous. Deletion can leave the original hierarchy or the

removed subtree in a state where its nodes are not stored contiguously on disk. Res-

tructuring refers to their rearrangement in contiguously allocated pages.


6.4 Physical Organization of Composite Objects



In order to present a detailed description of the physical organization of

composite objects, specific assumptions regarding the characteristics of the underlying

storage manager must be made. Therefore, we limit ourselves to giving only an

overview of the basic requirements for implementing the proposed clustering stra-

tegy.

We envision a paging environment, where storage space is partitioned in

a number of fixed-size pages. We also assume that the storage manager provides a

facility for linear address space, called chunk here. A chunk is a collection of con-

tiguous set of pages. It is useful for grouping clusters together. The storage manager

should provide a mechanism for sequential scan through all objects in a chunk, so

that related objects can be placed in a common chunk. Since pages in a chunk are

contiguous, it can provide support for objects that are required to be collocated on

disk.

For each object, the following information is maintained: (oid, object-

properties, children-pointer-array, parent-old). The object-properties refer to










external features and internal assembly properties described in Chapter 3. The chil-

dren pointer array is an array of records that contain two fields: old of the child

object and its physical address. It is assumed that the values in the children-pointer-

array are arranged in the order of their position in the clustering sequence. In the

case of generic reference, the old and address of the generic object is stored. The

value in the parent-old is the old of the generic object for its parents.

A hierarchy represents a composite object-which forms its root-and

all its descendents. Unrelated composite objects constitute independent hierarchies.

We consider it extremely important that direct access should be provided to all

objects. Thus we envision a B+ tree index structure that provides such access. The

leaf pages of this B+ tree will contain the old of the objects, and two pointer fields,

which contain the physical address of the object and its version set (generic object).

We discussed three units of clustering: the object, the version set, and the

set of siblings. The groups of objects that can be collocated on a single page or a

chunk is heavily contingent upon the average size of objects, the page size, and the

maximum number of pages allocated in a chunk. Ideally, the whole hierarchy or at

least the objects in third group could reside on the contiguous pages of a chunk. For

efficiency purposes, a set of pages must be exclusively reserved for a version set. All

versions in a version set are collocated on these set of pages. The generic object for

the set precedes the versioned object, which can be stored in the order they are

created. Thus, starting from the generic object, the versions in the set can be

sequentially scanned. A page table is reserved on the page where a generic object

resides; this page table contains information about the version set such as its deriva-

tion graph, the protocol for determining the default version, its parent object, etc.

The requirement for the complete contiguity of pages for groups of

clustered objects is quite reasonable [Car86, Hae87, Ket88b]. However, contiguity

deteriorates due to dynamic object growth, creation of new versions and modification










of constituent object references. Thus the storage manager must allow for dynamic

reorganization of of storage clusters.

There are several well-known techniques, which can be used in order to

enhance contiguity and minimize the cost of restructuring. The use of relative page

number, offset in the pointer address, for referencing inside a storage cluster can

minimize the cost of updating the pointers, when a data page is moved from one

location to another. The only reorganization cost is updating the corresponding page

table entries; all internal pointers remain valid. Even when a group of objects can-

not completely reside on consecutive pages on disk, the allocation policy should

attempt to minimize the physical distance between pages of the corresponding clus-

ter. An efficient reorganization of clustered groups remains an important research

area.











A.v2


B.vl B.v4 C.v2 D.v3 B.v3 C.v5


N.v2 M.vl N.vl P.vl Q.v3 T.v3 S.v5 X.v2


Figure 6-1


B C


Q T


Figure 6-2


A.vl

















B C D





E F G M N O P





H I J K Q R


Figure 6-3
















6 0 v


Figure 6-4

















C D


E F G M N O P /


J K L Q


S 0 I v


Figure 6-5


H I















CHAPTER 7
DESIGN IN A COOPERATIVE CAD ENVIRONMENT


The objective of this chapter is to generalize the ideas discussed in

Chapter 4 and describe protocols for maintenance, evolution, and validation of ver-

sions for a distributed CAD environment. Design is usually a result of integrated

efforts of a group of designers. The nature of data sharing in design applications is

different from conventional databases. The schema of design objects and validated

versions are shared by databases of several design projects. The data in a design pro-

ject are shared by the designers of the project. The design versions being experi-

mented with and manipulated by a designer should not be shared by other designers.

Moreover, a designer may begin a transaction which involves large amounts of data

and may persist for a long period of time. Consequently, transaction in design appli-

cations cannot be considered as a unit of recovery, as in conventional databases

management systems, interference among concurrent transaction is avoided by lock-

ing and timestamping. However, conventional techniques for transaction manage-

ment cannot be used in design applications, as the volume of data involved and the

duration of transactions are considerably greater.

To allow consistent versioning of design objects, to provide an efficient

and secure transaction management, to manage large numbers of complex constraints

involved in design databases, and to provide an environment conducive to sharing,

evolution and testing of design objects, we propose a system architecture for design

environment. The architecture for CAD databases is often envisioned as a a collec-

tion of hierarchically organized private, project and public databases [Cho86,

Buch85]. Versions of different characteristics and capabilities reside in different










databases. As design objects are hierarchically formed of other design objects, the

constituent objects of a design object may reside in different databases and may have

different statuses. Therefore, when a constituent object that references it is modified

or deleted, the composite object must be notified of the change. In the following sec-

tions, we give the details of the proposed architecture and describe protocols for

change notification.


7.1 A CAD Architecture


The proposed CAD architecture comprises four types of databases called

data dictionary, public database, project database and private database. This archi-

tecture is essentially hierarchical as illustrated in Figure 7-1. Different design data-

bases contain data under different characteristics. The logical and physical division is

based on the accessibility and stability of design data and the types of operations per-

formed on them. In Chapter 4, we outlined three classes of version states: validated,

stable, and transient. In a distributed environment, versions with different states

reside in different databases. This reduces the overhead of their management and

enhances their independent evolution, shareability and testing. The next four sec-

tions describe the distinguishing functions and features of these databases.


7.1.1 Data Dictionary


Data dictionary contains the information about the meta data

-schema, data definitions, constraints--as well as control of database such as the

information about Checkout and Checkin and change-notification protocols. It is

managed by a central database server, which also coordinates the sharing of data

among different databases.




Full Text
123
We have illustrated some of the important aspects of the methodology
developed for version control and management in Chapter 4. In the example given
here, the details of function declarations and instantiations were perhaps a little dis
tracting. However, these details were necessary, as we chose a well-understood real-
world object for this example. This showed the validity and the usefulness of the
proposed methodology for versioning.


25
A primitive object does not have any internal assembly properties. It possesses only
the external features. In the composition graph, they form the vertices that have
out-degree zero.
Thus, external features correspond to black-box properties, as the inter
nal details are not seen, whereas both internal assembly and external features
correspond to white-box properties, since entire object is visible. The categorization
of the attributes of a composite object into its external features and internal assem
bly is a useful one. In design applications, it is often desirable to view a composite
object as a "primitive" object by disregarding its internal assembly. Also, this
classification provides a paradigm for understanding the concept of versioning as it
relates to composite objects.
3.1 External Features and Internal Assembly
In this section, we define the different subclasses of attributes mentioned
previously. These definitions are by no means formal. However, they provide a
framework for understanding the nature of and the requirements for design data
bases. Later in Section 3.2, an example is given that illustrates these concepts.
The external features can be subdivided into descriptive (Ds) and inter
face (Ip) attributes, whereas the internal assembly can be subdivided into composite
aggregation {CA), interconnection (Ic), and correspondence (CR) attributes.
Interface (If) properties describe an abstraction of a design object.
These properties define links through which it interacts with the external world; i.e.,
the user and other design objects. The interface properties are crucial in understand
ing the nature and functionality of a design object, as they are visible to the external
world and present a higher level of abstraction of the internal assembly.


19
Definition 2.11. A composition graph (CG) is a directed, acyclic graph,
CG = [V E ), where Vc C Tv and Ec is a set of directed edges (called is-
composed-of), where Ec C { (£., t ) \ t¡, t £ F. }. An ordered pair (x, y) £ Ec
denotes a directed edge from x to y, which implies that objects of type x are com
posed of one or more objects of type y.
Definition 2.12. ICG = (Frf, E) the instantiated CG, is a directed,
acyclic graph, where Vd C Iv and Ed is a set of directed edges such that
Ed C { (t, j) | i, j £ Vd }. There exists a mapping from ICG to CG.
1. For each (i, j) £ Ed, 3 a corresponding edge (t-, t ) £ Vc : t^i) A t-{j)
2. For each j £ Vd, 3 at most one (i, j) £ Ed
3. An i £ Vd is said to be incomplete, if 3 (h, tj) £ Vc A h(f) A
3 (* ^
4. For an edge (a, 6) £ Ed, if b is incomplete, then it implies that a is incomplete.
That is, for every edge in ICG, there is a corresponding edge in CG such
that the types of the head and tail of the edge in ICG correspond to the head and
tail in the CG edge. The in-degree of of every vertex in ICG is at most one. A ver
tex in ICG is said to undefined, if it does not have the same out-degree as its
corresponding vertex in CG.
2.2 An Example Database
In this section, we shall give a simple example of a database, which will
help to explain some of the concepts presented in the previous section. We take an
example from a familiar domain without any loss of generality. An example relevant
to CAD databases is given in Chapter 3.


64
Procedure CGDelete
/* An edge (A, B) is to be deleted from CG. */
1. Find all successors of node A in GG. Let these nodes be {Xp Xov., Xn}.
2. Find all successors of node B in GG. Let these nodes be {Fp F2, Ym}.
3. For each node X E {A, X,, X2, Xn} and each node F E
{Yv Y, )'m}, delete the edge (Xr, Y.j £
{A, Xv X2, XJ X {B, Yv Y2, YJ from CG.
Procedure GGInsert
/* An edge (A, B) is to be inserted into GG */.
1. Insert (A, B) in GG.
1.1 Check for a cycle. If a cycle is detected, then abort the transaction.
2. Find all immediate successors of node A in CG.
3. For all nodes { Xv X2, Xn} found in the step 2, insert (B, XJ, (B, X2) ..
(.B, X ) into CG by calling procedure CGInsert.
Procedure GGDelete
/* An edge (A, B) is to be deleted from GG. */
1. Find all immediate successors of node A in CG.
2. For all nodes {X15 X2 Xn} found in the step 2, delete
(B, Xj),(5, X2), .. (B, Xn) from CG by calling procedure CGDelete.
3. Delete (A, B) from GG.
5.3 Efficient Management of CG and GG
In the previous section, algorithms were outlined for managing the
updates of GG and CG and the effects of these updates upon each other. In a design
database, these graphs can be very large. Thus, it is essential that some technique


55
D.g
\
S
Figure 4-1


7
performance of operational database systems by using ideas of clustering and objects
as the unit of locking.
1.3.2 Version Management
The deficiencies of current DBMSs with respect to the management of
refinements, alternatives and versions of designs have been recognized and discussed
in the literature extensively. Most of the proposed solutions claim to be object
oriented. Refinements of a design are represented as versions of design files by the
subsystem called the "datamanager" [Ben82]. The datamanager manages the evolu
tion of different versions of the file through time. A group of files can be related in
content. The nature of relations are user defined and application dependent. For
instance, two related files may contain a description of the two aspects of the same
object; one file may also describe the component of the object represented by other
file.
Eastman uses the notion of a "checkpoint" file to support refinements
[Eas80]. Checkpoint files are temporary files into which a set of database updates are
stored. Each checkpoint file, called an "alternative", is a refinement of the design.
Multiple alternatives may be created starting from the initial design conditions.
Alternatives may branch from other alternatives and thus create a tree.
Katz proposes a set of "alternatives" objects which are themselves group
ings of versions [Kat82]. Alternatives have the same behavior but have differing per
formance characteristics. Versions are improvements or corrections applied to design
objects. Representations have hierarchical structure represented as a directed acyclic
graph. The leaves of this hierarchy are primitive objects, while internal nodes are
complex objects. Objects are implemented as files extended with information which
describes the design data structures. The subsystem responsible for the management
of versions is called 'library" [Rob81], As in other proposals, a database object is a


20
This database contains four user-defined types: person, course, student
and faculty. The type person has student and faculty as its subtypes. The type per
son has pi as an instance; student has si, s2, s3 as instances; course has cl, c2, c3 as
instances; and faculty has fl, f2 as instances. The following functions are defined on
them.
Name ( person) charstring u;
Age (person) integer,
CName (course) charstring u;
GPA (student) real;
Enrollment (course) student m;
Teaches (faculty) course m;
The symbols "u" and "m" associated with the result of the above func
tions represent the unique and multivalued result values, respectively.
A possible scenario for creating the database will be the following. The
user will first define some types and specify the subtype/supertype relationships
among them; that is, create a generalization graph. After this, functions can be
defined on these types. The database can now be populated. Homogeneous sets can
be defined at any time provided their elements have already been defined. It is also
possible to dynamically add types and functions.
The generalization graph for this database with UO as its root is shown
along with the proposed system type graph in Figure 2-1. It should be noted that for
each database, a different user-defined GG will appear under UO. The rest of the
graph is the system type graph, which is always available. In Figure 2-1, HS does
not have any subtypes, as we do not make any distinction between user- and
system-defined sets at this point. However, the user can define subtypes of HS.


107
Object
Database Type
Operation
Transient
Private
Promote
Stable
Private
Derive
Generic
Private
Create
Stable
Private
Checkin
Stable
Private
Rcheckin
Stable
Project
Promote
Stable
Project
Checkout
Validated
Project
Checkout
Validated
Project
Checkin
Validated
Project
Rcheckin
Validated
Public
Checkout
Table 7-1


57
Figure 4-5


14
That is, every type name is also used as a predicate function in order to
determine whether the given object is of that type.
UO contains all the user-defined object instances of user-defined types
TLj. All literals are subtypes of L, whereas all user-defined types (i.e., instances of
Ty) are subtypes of UO, which forms the root of generalization graph (Definition
2.6). Figure 2-1 shows this subtype/supertype relationship. Therefore, all instances
of user-defined types are members of (/O as well as of one or more user-defined
types. Some members of UO may also be instances of some system-defined types
T
1 S'
V t dom(UO) 3 t £ domiTy) \ t -< UO A t(i) = true
The other essential concept is that of a function. Functions are named
objects that take one or more arguments and return results. A function may be
single-, unique-, or multi-valued, and each of its result may be a tuple of values.
These functions are not strict mathematical functions, since they are not necessarily
single-valued. However, they can be used to model mathematical functions by
declaring them to be single-valued.
Definition 2.4. A function is a mapping from domains of one or more
types to the domain of a fist of types. A function / £ F is given by
/ : i > 2 ' < ^i+i > > K >
f t0 £ £|+1 ,.. tn £ dom(T), and are not necessarily distinct. That is, a
function is a single- or multi-valued mapping from a set of objects to another set of
objects. For notational convenience, the symbols "<" and ">" are dropped from the
n-place tuple, if n is 1.
Functions can be nested to any depth, and can be defined in terms of
other function(s). They are a powerful means that is used to model properties


33
object will imply that there exists a composite type object whose composite aggrega
tion includes the type of that object. If there does not exist such a composite type
object, the object will be referred to as a non-constituent object. Such a distinction
is necessary, since objects can be defined at any stage of the design. Hence, a non
constituent object can evolve into a constituent object and a primitive object can
change into a composite object.
Rule 3.1. A constituent object can be contained (referenced) by at
most one composite object (Definition 2.12.2).
Rule 3.2. A composite object is said to be incomplete, if the references
to any of its constituents are not bound (Definition 2.12.3). That is, their consti
tuents are declared at the type level, but not completely instantiated.
Rule 3.3. a composite object is said to be incomplete, if one or more of
its constituents are incomplete. (Definition 3.12.4)
Rule 3.4. a modification in the interface properties of a composite
object may necessitate modifications in the interface properties of its components.
(This downward propagation of modifications may not always be necessary, if it is
accompanied with the modifications in the correspondence and interconnection attri
butes of the composite object.)
Rule 3.5. A modification in the internal assembly, CA, Ic, or CR, of a
composite object object does not have any effect on its constituent objects.
Rule 3.6. a constituent object is not considered existentially dependent
on its composite object. Thus, deletion of a composite object does not result in the
deletion of its constituents, only the composite object itself and the functions defined
on it are deleted. A cascaded deletion must be specified as such.
These rules appear to be adequate for defining the innate characterisics
of design objects. However, these rules have been formulated without taking into


58
Figure 4-6
Figure 4-7


44
4.2 Creation and Updatability of Versions
To model the dynamic behavior of versions, the system should be able to
record significant changes in the evolution history of design. This requires categoriz
ing the functions (attributes) of versioned objects into different classes. It should be
emphasized that a design object itself is a complex structure, which has different
classes of attributes even in unversioned state.
4.2.1 Classification of Version Attributes
We present a classification of attributes of design objects. The notion of
class, defined in Section 2.4, is used to model behavior of a design object on the
updatability of various groups of functions.
Figures 4-2, 4-3 and 4-4 show the classification of functions for unver-
sioned, generic, and versioned objects respectively. Dg and Dg form a partition of
descriptive attributes Dg. Figure 4-3 does not show any internal assembly attributes,
since generic objects, by definition, do not possess any internal structure. In Figure
4.4, @ stands for invariant attributes, represents version-significant attributes and
ff stands for nonversion-significant attributes. These terms will be defined shortly.
It should be noted that in Figure 4-4 all interface attributes are value-acquired from
the generic object instance and Ds are attributes inherited from the generic object
type. It should be recalled that value-acquisition implies attribute inheritance.
The three classes of attributes, invariant, version-significant and
nonversion-significant, provide a mechanism for controlling update propagation in
versions.
Version-significant attributes can be updated only in a non-destructive
manner. Conceptually, modifications in one of these attributes creates a new derived
versioned object bearing the change. Such creations of new version are called


75
6.1 Design Database Operations
In this section, we present an outline of a set of frequently occurring
operations in a design database. These operations and their relative frequency and
significance furnishes the basis of the proposed strategy. In the forthcoming discus
sion on composite instance graph, we use terms such as parent, child, descendent,
ancestor, and sibling with obvious meanings from graph theory. We also use the
term twins to refer to members in a version set.
The basic operation in a design database is the retrieval of an entire or
partial design object, which is called object retrieval (OR).
Other operations in design database normally require accessing objects
that are interrelated to one another. The operations of accessing objects in a version
set; that is, the transition from one twin to another is called twin transition (TT).
An operation is needed in design databases to access all constituent
objects of a given composite object. The operation of physical transition from one
sibling constituent object to another is called sibling transition (ST).
Other important operation in design databases is accessing constituent
objects from their parent composite objects. Distinction must be made between this
operation and the previously described operation ST. Here the transition is from a
parent object to its first child object rather than between the siblings. This type of
operation is called parent-child transition (PCT).
Another important, though less frequent, operation is the access of all
parent objects from a given child constituent object. Essentially, it is a transition
from a child to its parents. This operation is called child-parent transition (CPT).
It should be noted that in the proposed versioning scheme a versioned object can be
referenced by more than one objects, which belong to the same version set.


6
approach. The internal level is based on the network data model. The mapping from
logical level to interval level is defined by database designers. The mapping from the
internal level to the physical level is provided by the system.
Emond and Merechal use the ER approach to model composite object at
the logical level [Emo83], These models are then translated by the designer into a
relational database. In this work, information is divided into blocks called "view-
editions", which are the units of storage retrieval and update operations.
Stonebraker et al. introduce user-defined ADTs (Abstract Data Types)
and ADT indices to relational DBMS INGRES for supporting representation and
retrieval of composite objects [Sto83]. The use of ADT simplifies the definition and
logical manipulation of composite objects by allowing user defined data types and
operations on these types.
Su et al. propose an object-oriented semantic association model called
OSAM* [Su88]. OSAM* has powerful expressive capabilities, as it supports construc
tors in nested and recursive fashions to represent complex and composite objects.
Batory and Kim propose modeling concepts for VLSI objects [Bat85].
They use entity-relationship diagram to represent these objects which has interface
descriptions and implementation descriptions. A molecular object is created by
integrating these two sets of heterogeneous records. They also propose a notion of
"instantiation", which are essentially copies of other objects, as they share the same
features, and are needed as constituents of other objects. The modeling framework
provided in this work is very useful in representing composite objects and their ver
sions; however, it does not provide explicit support for the aggregation hierarchy.
Kim et al. discuss the facilities for the composite objects in ORION data
model by introducing "is-part-of" relationship between objects [Kim89]. Composite
objects in ORION are simply an aggregation hierarchy with some notions of integrity
and existence dependencies. They also present some mechanisms for enhancing the


80
It should be pointed out the this transformation of a DAG into a hierar
chy is motivated by a search for an optimum clustering. It provides arguably the
most efficient sequential ordering of objects for the execution of design operations.
The parent-child references in a DAG, which are represented in the internal assem
bly of an object, remain valid in their hierarchical representation.
6.3 Traversals of Hierarchies
In Section 6.1, we proposed a number of operations and three important
units of clustering. The three operationsOR, TT, and ST are fundamental to
the nature of design databases. An efficient execution of these operations are pro
vided by the proposed clustering and indexing (discussion of which is postponed to a
later section) schemes. The operator PCT is also extremely important; in fact, the
operation ST becomes meaningful only when it is preceded by a PCT. It is expected
that there will be repeated calls to ST after a call has been made to PCT.
Therefore, the nodes of a hierarchy should be organized in a sequential
order in which they are most likely to be accessed. Since any node can be directly
accessed and thus can become a starting point in a sequential access to other nodes,
the chosen pattern of organization must be recursively repeated. This is the sequen
tial order in which nodes of a given hierarchy will be stored on disk. There are many
ways a hierarchy can be traversed. Our goal is to find an optimal storage given the
units of clustering and the expected frequency of the operations.
Any traversal of a hierarchy that provides a sequential order for storing
its nodes must satisfy three requirements. First, a node mast be visited before any of
its descendents are visited; this ensures that the descendents of node can be accessed
in a single, sequential forward traversal. Second, all children of a node must be collo
cated as close as possible. Third, any deletion and insertion in the existing hierarchy


13
2.1 The Basic Constructs
Definition 2.1. Let the universe of discourse, U, be a collection of
objects. Let the system-defined type objects T, F, UO, L and HS, which are sub-
types of U, be infinite sets of types, functions, user-defined instance objects, literals
and homogeneous sets, respectively, such that T, F, UO, L and HS form a partition
of U.
Thus, each object o in the universe of discourse can be identified as one
of the following: a type object, a function object, an instance object, a literal object,
or a homogeneous set.
The subtypes of T are Ts and Ty. All user-defined types are members
of Tjj. All system-defined types that include U, T, F, HS, L, UO, Tv and Ts itself
are members of the domain of Tg. Boolean, real, integers and charstring etc. are
literals. The literal objects are always available, replicable and self-representing.
In the following definitions, we shall use the notations, -< and >- for "is
a subtype of" and "is a supertype of," respectively. The symbols => *, :=
stand for logical implication, functional mapping, and assignment, respectively.
Definition 2.2. For each type t the domain of t is represented by
dom(t), which is given by the set of all objects that are of type t.
For notational convenience, we shall use t (unitalicized) for the domain,
dom(t), of type t (italicized) interchangeably.
Definition 2.3. For each type t E T, there exists a system-defined
unary predicate that has the same name as the associated type. This predicate is a
mapping from objects in U to Boolean values, true and false.
V t E dom(T), t : U * Boolean
V o E dom(U), t(o) <==> o E doni(t)


2
finalize the design. If that alternative turns out to be inappropriate, they back up
and pursue another alternative.
The iterative and probative nature of the design process interacts with
two dimensions of design objects. First, they are usually complex; that is, they are
assemblies of parts that themselves may be constructed hierarchically from com
ponent objects. Second, there can be several concurrent descriptions, called versions,
of design objects. The problem of managing a design is compounded by the fact that
composite objects can have multiple alternative configurations, if versions of com
ponents are taken into consideration. Further, creation of versions can take place
either at the template a type and a collection of attributes defined on it level or
at the instance level. The derivation sequence of versions must be represented expli
citly to maintain a true version history. These characteristics must be taken into
account for any systematic and efficient management of design and versioning of
composite objects. The sheer size and complexity of versioned composite objects also
require an efficient organization and retrieval strategy.
Management of design data in the presence of alternatives and assembly
is an intricate task, which cannot be carried out efficiently with ad hoc approaches.
This proposal addresses a wide range of related problems and provides a well-defined
formalism and systematic methodology needed for this purpose.
1.2 The Outline
This dissertation is primarily concerned with the management of
computer-aided design databases and addresses the following issues:
1. Supporting the data modeling requirements of a design database through a set
of formally defined modeling constructs.


100
Three new operations were defined in this section that were based on
some of the operations defined earlier. We summarize the functions and scopes of
these operations.
1. Versions can be created from scratch in a private database. These versions are
transient.
2. A transient version can be promoted to a stable status in a private database.
3. A transient version can be derived from a stable version residing in the same
private database.
4. A transient version can be derived in a private database from a stable version
that resides in its project database.
5. A transient version can be derived in a private database from a validated ver
sion that resides in a project or the public database.
6. A stable version can be promoted to a validated status in a project database.
7. A stable version in a private database can be transferred to the project database
as a stable version by the Checkin operation.
8. A validated version in a project database can be transferred to the public data
base by the Checkin operation.
9. A replica of a stable version in a private database can be transferred to the pro
ject database by RCheckin operation.
10. A replica of a validated version in a project database can be transferred to the
public database by Checkin operation.
Table 7-1 summarizes the operations allowed on versions with different
states and residing in different databases. The table shows the constraints under
which a particular operation can be invoked, rather than the outcomes of invoking
the operation.


94
Schema and data definitions of a design object normally originate from
private databases and after approval and verification by their project database, they
are passed on to the data dictionary, where they permanently resides. This is shown
in Figure 7-1, an arrow represents the direction of data flow. The schema is not
allowed to be modified or deleted in the data dictionary, as long as its version
instances exist in some database. To allow incremental design, external features (EF)
and internal assembly (IA) functions can be defined in two separate stages. A design
object can be referenced as a constituent object, if its external features have been
defined. As mentioned in Chapter 2, IA and EF belong to different classes; hence
different constraints can be imposed on them. Therefore, this incremental design
strategy is not considered a schema modification.
It is not possible to create version instances of a design object whose data
definition is not in the data dictionary. In other cases, modification and deletion is
allowed if authorized by the database administrator.
7.1.2 Public Database
A Public database is universally accessible, and is characterized by the
approved design data it contains. Approved design data include unversioned and
validated versioned objects. This may also include a part library of simple design
objects. The public database is also managed by a central database server. Various
projects, after a successful series of testing and verification of their stable versions,
promote and transfer them to validated versions into the public database by the
Checkin operation (Section 7.3).
Validated versions, as defined in Section 4.2.2, are not allowed to be
updated or deleted. It is also required that all design objects that are referenced by
validated versions must also exist in the public database. This implies that a vali
dated version can make reference to only unversioned and other validated versioned


120
The values of system-defined functions are shown below.
GenericInst(Halfadder.V2) := HalfadderG;
(S)
VersionSet(HalfadderG) := { Halfadder.Vl, Halfadder.V2 }; (S)
VersionNumber(Halfadder.V2) := 2;
CreationTime(Halfadder.V2) := 12/01/1989;
VersionStatus(Halfadder.V2) := Transient;
ImmedSuccessor (Halfadder.Vl) := Halfadder.V2;
(S)
(S)
(S)
(S)
These functions show the relationships among the generic object Halfad
derG and its two versions. It should be noted that VersionNumber is the identifier
assigned by the system, which is unique within a version set. The user-given
identifier to the generic object (and value-acquired by its versions) and system-
assigned VersionNumber can uniquely identify any versioned object. The references
to surrogate as used in this example are not mandatory.
Halfadder.V2 starts in the transient state and after some modifications, it
can be promoted to the stable status.
At this point, a designer has all the constituent objects needed to define
the internal assembly of AdderSlice.Vl. It can be done by the following instantia
tions.
ASContains (AdderSlice.Vl) := < Halfadder.Vl, Halfadder.V2, OR-gateG >;
ASConnectl (AdderSlice.Vl, Halfadder.Vl, Halfadder.V2) := < Si, Bl >;
ASConnect2 (AdderSlice.Vl, Halfadder.Vl, OR-gateG) := < Cl, II >;
ASConnect2 (AdderSlice.Vl, Halfadder.V2, OR-gateG) := < Cl, 12 >;
ASLinkl (AdderSlice.Vl, X) := < HalfAdder.Vl, A1 >;
ASLinkl (AdderSlice.Vl, Y) := < HalfAdder.Vl, Bl >;
ASLinkl (AdderSlice.Vl, Cl) := < HalfAdder.V2, A1 >;


105
The function Creation_Time, as described earlier, represents the time
when the version was created; the function Modification-Time represets the time it
was last modified; and the function Verification-Time represents the time when it
was verified whether it was reference consistent by checking the modification times
of its constituents. A version X is considered reference consistent, if for all versions
Y which it references, the following holds true.
VerificationTime (X) > Modification-Time (Y)
Thus, a designer is expected to periodically check if a design object is
reference consistent or not. The designer then decides whether the object needs to
be modified. In any case, he/she can set the verification time as the current time.
When an object makes generic references, modification times of its dynamically
bound constituents are not relevant. It should be noted that stable and transient ver
sions are allowed to be version inconsistent. Validated versions, by definition, are
always reference consistent; therefore, they are not allowed to have generic refer
ences.
In this chapter, we presented an architecture for a CAD database. It
provided a unifying framework for incorporating the distributed nature of CAD data
bases, the configuration of complex objects, and different versions, which have
different statuses, of a design object. A set of of protocols was proposed to manage
change in the distributed environment. Changes in different databases require that
affected databases be notified. Two notification techniques and its concomitant func
tions were also discussed. The foregoing approach was based on the model of compo
site objects and version concepts proposed in previous chapters.


79
The principal insight underlying the proposed scheme is to transform a
DAG into an equivalent hierarchy. This conversion is based on simple notions.
First, we note that the nodes in the DAG have multiple parents, but they are at the
same level. Second, all parents of a node must belong to the same version set; that
is, they must be twins. Third, a node, though it may not currently have any parent
and thus form a root in the DAG, can potentially acquire a parent only from a desig
nated version set, which owns its twins. We have already argued the advantage of
clustering the members of a version set; it should be pointed out that most of the
twins are expected to be shared by the parent objects due to probative and deriva
tive nature of design.
If all objects in a version set are treated as a single clustered node and
the children of all objects in the set are treated as the children of the node, a DAG
can be converted into a hierarchy. The following formalism gives a precise descrip
tion of this transformation.
1. We observe that for any two edges (a, c) and (b, c) in the DAG, Genericlnst(a)
= Genericlnst(b) always holds true.
2. For nodes Av A2 Ak An in the DAG, there is a corresponding node A
in the equivalent hierarchy, such that A = {Av A2 Ak An } and V
A{ G A, Genericlnst (A(.) has a unique value.
3. For any two nodes A- G A and B G B, if 3 an edge (A-, B ) in the DAG,
then there is an edge (A, B) in the equivalent hierarchy.
Figure 6-1 shows such a DAG. Figure 6-2 represents an equivalent
hierarchy. In the hierarchy, A = {A.vl, A.v2}, B = {B.vl, B.v3, B.v4 }, D = { D.v3
}, N = { N.vl, N.v2 }, S = { S.v5}, etc. The edge (A, B) in the hierarchy corresponds
to the DAG edges (A.vl, B.v4) and (A.v2, B.v3). Similarly, the edge (A, D) in the
hierarchy corresponds to the edges (A.vl, D.v3) and (A.v2, D.v3), etc.


To My Mother


BIOGRAPHICAL SKETCH
Given a choice, Rafi Ahmed would leave this page blank to signify the inanity
of life. But this biographical sketch, being a categorical imperative, follows.
He was born in Muzaffarpur, India, where he studied mathematics and found
solace in logical empiricism. At the University of Florida, he got a masters degree in
computer and information sciences. In the years that followed, he pursued his doc
toral degree while spending his time in research, teaching and working with the
industry.
He likes computers, computation, classical music, chess, tennis and the rational
explanation of this universe.
127


Figure 6-5


72
algorithms from 0(n + n*D) to 0(n*d). As d is expected to be quite small, we get
a computational advantage of several factors.
The cost of deletion of an arc in the case (i) is 0(n*d) whereas its cost is
O(n) in the case (ii) for searching and deleting an arc. However, the steps 1 and 2 of
procedure CGDelete compute partial transitive closure, which has been shown to
have a better performance in the case (i). As d is expected to be small compared to
D, the performance of deletion algorithms will still be better for case (i). Similar
arguments can be made for GGDelete, which calls CGDelete.
It is clear that maintenance of the transitive closure relations of CG and
GG provides less expensive updates and queries, though it has a higher storage
requirement. The foregoing analysis shows that the trade-off it provides in terms of
efficient performance far outweighs the storage requirement.


27
they represent the set of attributes that constitute external features. This can be
diagrammatically represented in Figure 3-1.
Given these system-defined classes, the functions defined on the type of a
design object can be declared as their members. This allows us to enforce any con
straint on a class of functions. An example given in the next section will serve to
illustrate this point.
3.2 An Example of a Composite Object
Consider a circuit representation of a 4-bit adder. Figure 3-2 shows its
interface specification: a pair of 4-bit numbers (A) Y) are inputs, a 5-bit number
representing their sum (Z) is output. It can have other descriptive attributes, Name,
Designer, etc., which are not shown in the figure. The internal assembly of this
adder is shown in Figure 3-3. It contains four adder-slices. The interface of adder-
slice is given in Figure 3-4. The interface properties of adder-slice are inputs X, Y
(l-bit numbers) and C. (the carry from a previous slice) and outputs Cgut (carry)
and Z (1-bit sum).
The internal assembly of the adder-slice is diagrammatically shown in
Figure 3-5. The composite aggregation of this adder-slice is given by three consti
tuent objects: half-adderl, half-adder2 and OR-gate. Half-adderl and half-adder2
themselves are composite objects. For the purposes of this example, we assume that
OR-gate is a primitive object, and thus has no internal assembly. Interconnections
are shown between the output of half-adderl and the input of half-adder2, between
the output of half-adderl and the input of OR-gate, etc. Correspondences are shown
between input A' of adder-slice and an input of half-adderl, between output Cgut of
adder-slice and an output of OR-gate, etc. As mentioned in the previous section, the
interconnection and correspondence functions are defined only in terms of the inter-


CHAPTER 2
MODELING CONSTRUCTS FOR DESIGN DATABASES
In this chapter, we formally define modeling constructs for design data
bases. These constructs are essentially based on ideas presented in existing func
tional, semantic and object-oriented data models. In defining these constructs, we
have been particularly influenced by Iris, an object-oriented database management
system [Fis87]. The discussion of these constructs is necessary, as they are used for
illustrating and formalizing the concepts developed in this dissertation for the
management of design databases.
The universe of discourse is viewed as a collection of objects. These
objects are a convenient aggregation of information describing real world concepts.
Types, homogeneous sets, functions, user-defined instance objects, and literals (to
be defined shortly) are also objects. Any database conceptually contains a number of
system objects, which makes it possible to define, construct and manipulate user-
defined objects.
Objects of similar behavior are grouped together and are said to have the
same type. Objects are instances of one or more types. Every type is a subtype of
one or more other types, except the system-defined object, the universe of discourse,
U. An instance of any type is also an instance of all its supertypes, and thus inherits
a subset of the operations, functions and rules of its supertypes. A homogeneous set
is an abstraction for a set of objects of the same type; i.e., it is a collection of either
type, function, user-defined instance objects, homogeneous set, or literal objects.
12


125
[Ioa88] Ioannidis, Y. E., and Ramakrishnan, R., "On the Computation of the
Transitive Closure Algorithm," Proc. VLDB Con}., Los Angeles, CA
(1988).
[Jag88] Jagadish, H. V., "A Compressed Transitive Closure Technique for Efficient
Fixed-Point Query System," Proc. Expert Database Systems, Tysons
Corner, Virginia (1988).
[Joh83] Johnson, H. R., and Schweitzer, J. E., "A DBMS facilities for Handling
Structured Enginnering Entities," ACM/IEEE Engineering Design Aplica-
tions, Atlanta, GA (1983).
[Kat82] Katz, R. H., "A Database Approach for Managing VLSI Design Data,"
Proc. of 19th Design Automation Con}, Las Vegas (1982).
[Kat85] Katz, R. LI., Information Management for Engineering Design,, Springer-
Verlag, New York, NY (1985).
[Ivat86] Katz, R., Chang, E., and Bhateja. R., 'Version Modeling Concepts for
Computer-Aided Design Databases," Proc. ACM SIGMOD Conf, Wash
ington, D. C. (1986).
[Ket88a] Ketabchi, M. A., and Berzins, V., "An Object-Oriented Semantic Data
Model for CAD Applications," Information Sciences, vol. 46, no. 1, p.
109-139 (1988)
[Ket88b] Ketabchi, M. A., and Berzins, V., 'Mathematical Model of Composite
Objects and Its Application for Organizing Engineering Databases," IEEE
Trans, on Software Engineering, vol. 14, no. 1, p. 71-84 (1988).
[Kim87] Kim, W., Chou, H-T., and Banerjee, J., "Operations and Implementation
of Complex Objects," Proc. of Data Engineering Conf., Los Angeles, CA
(1987).
[Kim89] Kim, W., Bertino, E., and Garza, J. F., "Composite Object Support
Revisited," Proc. ACM-SIGMOD Conf., Portland, OR (1989).
[Kla86] Klahold, P. and Schlageter, G., "A General Model for Version Manage
ment in Databases," Proc. of VLDB Conf., Kyoto, Japan (1986).
[Lan86] Landis, G. S., 'Design Evolution and History in an Object-Oriented
CAD/CAM Database, IEEE COMPCON, San Francisco, CA (1986).
[Lor82] Lorie, R. A., 'Issues in Databases for Design Applications," File Structures
and Databases for CAD, IFIP, Columbus, OH (1982).
[Lor83] Lorie, R. A., and Plouffe, W., "Complex Objects and Their Use in Design
Transactions," ACM SIGMOD/IEEE Engineering Design Applications,
San Jose, CA (1983).


96
project database) in a private database does not reference objects residing in data
bases that are not accessible from it.
A stable version residing in a project database is essentially unmodifiable.
However, as explained in Section 4.2.1, equivalence modifications are allowed on its
internal assembly; its nonversion-significant attributes can also be modified. The
object can be deleted. Modifications and deletions are privileged operations and can
be performed only by an authorized designer. Since simulation and testing are per
formed in project databases, a stable version can be required to be deleted, if it does
not meet certain specification or predefined constraints. Versions that reference the
deleted version can become incomplete, if they also reside in the project database,
since a stable version in a project database must have all its references bound to
objects in the same database or validated versions in the public database. In such
cases, the project administrator can use replacement modification, if an object in the
version set of the deleted version resides in the accessible databases; otherwise, all the
referencing versions must also be deleted.
In certain circumstances, a project database is also allowed to contain
validated versions, if their replicas (defined in Section 7.2) also exist in the public
database. The situation that warrants this and the protocol to handle it are dis
cussed in Section 7.2. In such cases, a validated version can be deleted from the pro
ject databases.
7.1.4 Private Database
Designers perform much of the design and the bulk of verification and
testing in private databases, which runs on work stations. A private database has
direct access only to the data dictionary and its project database. The direction of
data flow should be noted in Figure 7-1. The design objects in a private database are
accessed and owned by one user. They are not accessible to other designers. A


104
However, if deletion is preceded by a replacement modification, then the cases 4
and 5 apply.
In Cases 1, 2, 3 and 4, notifications must be sent, which initiate an
update. For the cases 5 and 6, an update is not necessary, but the designer of the
object must be aware of the changes in the constituents of its design objects. There
fore, following the literature, we propose message-based and flag-based notifications.
In the message-based notification, which is required for the cases 1, 2, 3
and 4, the system will send a message to notify the change to appropriate databases
(designers) of the affected versions. In the cases 1, 2 and 3, the database address of
the replica is contained by the other version, thus it can be notified. The case 4
presents a problem, as a design object may be referenced by versions of the same
object residing in different private databases; and the reference can be either generic
or specific. On the other hand, in this model, the boundary of an object has been
delineated so that objects that reference a constituent object are not logically a part
of that referenced object. A simple solution would be to notify all the private data
bases, which belong to the project database. The other solution would be to query
the data dictionary that contains the information about Checkout/Checkin and
notify those private databases that contain versions which references the deleted
object.
For the cases 5 and 6, as mentioned in Section 4.1, no update is neces
sary. Therefore, the notification is proposed to be flag-based. For flag-based
notification, every version has the following functions defined on it.
function Creation_Time (Version) = Timestamp;
function Modification-Time (Version) = Timestamp;
function VerificationTime (Version) = Timestamp;


53
G maps a design object onto itself, if it is of type Generic or Unver
sioned; otherwise, it maps it into its generic object.
Rule 1.1. The single-valuedness of the mapping from a constituent to
its composite object is determined by applying function G on these objects.
As Rule 3.1 states, every constituent object instance maps into a single
composite object that contains it. Rule 4.1 relaxes this constraint by allowing any
constituent object instance, which can be of type Generic, Versioned, or Unver
sioned, to be referenced by more than one equivalent versions. By applying function
G on different versions of a composite object, we get the same generic object,
whereby the mapping remains single-valued. The other related question is whether
different versions of a constituent object can be referenced by different composite
objects, which may either be unversioned or versioned. Again, application of G on
the equivalent versions of a constituent object returns an identical generic object, and
the constraint is violated, only if it is being referenced by different generic or unver
sioned composite objects.
The examples given in Figure 4-8 and Figure 4-9 help explain the rule.
In Figure 4-8, all the links from composite object to constituent objects are valid,
since the mapping to the composite generic instance does not violate the single-
valuedness. B.v3 has two composite object links, but the application of G on A.vl
and A.v2 return their generic instance A.g. The case for B.g is similar. In Figure 4-
9, on the other hand, any combination of two or more crossed-out links violate the
constraint. Application of G on D.v3, D.g and D.v4 return D.g, which is referenced
by different composite objects.
The rule given above is close to reality, as it treats different versions as
equivalent design objects. They are considered different manifestations of the same
object with the underlying assumption that in the final phase of design only one of
the multitude of versions will be designated as the accepted version.


CHAPTER 6
A STORAGE STRATEGY FOR VERSIONED COMPOSITE OBJECTS
Design of a complex engineering object or a large software system is an
intricate task. A design object may contain thousands of constituents, which can
themselves have several versions. An efficient storage strategy for design objects is
indispensable for keeping this task manageable. In this chapter, we propose a storage
strategy for versioned composite objects, which involves clustering as well as indexing
techniques for efficient retrieval, update and testing. The physical design of a data
base system requires that a number of decisions be made with respect to the parame
ters of the implemented system. A detailed knowledge of the system characteristics
is required for a good design. However, this alone is not enough, since it is frequently
the case that a group of parameters are so interrelated that changes in one requires
adjustment in others in order to maintain a balanced design. The ostensible intracta
bility of the problem perhaps explains why the work [Har87, Kim88, Ket88b]
reported on storage strategies for composite objects does not take the dimension of
versioning into consideration or deal with the frequent changes during the design
phase.
The proposed storage strategy incorporates the expected design
parameters the structure, access and update pattern, versioning, and testing
requirements of a design object. The underlying idea is to provide indexing facility
for objects for direct retrieval and place them physically clustered on secondary
storage so that disk access and page faults are minimized. The objective is to
develop a database organization technique which supports efficient execution of fre
quent retrieval and update operations in CAD design databases.
74


113
ADName (AdderG) := "Adder";
ADOutput (AdderG) := { Zl, Z2, Z3, Z4, Z5 };
ADInput (AdderG) := { XI, X2, X3, X4, Yl, Y2, Y3, Y4 }.
These function instantiations refers to Figure 3-2. Here we have made
the assumption that the type terminal and its above instances have already been
declared.
The designer can use this generic object as a constituent of any other
composite object. The point that must be emphasized is that the generic object
AdderG can participate in higher level objects, although its internal design is not yet
complete.
To build the internal assembly of AdderG, the designer realizes that he
needs an object called Adder Slice (shown in Figure 3-4). The declaration of this
object is done as follows:
User-Type: adderslicebb;
function ASName (adderslicebb) charstring u
function Designer (adderslicebb) charstring
function ASInput (adderslicebb) terminal u, m
function ASOutput (adderslicebb) terminal u, m
{ ASName } £ D^1
{ ASInput, ASOutput } £ IF
An instance of type adderslicebb is created below.
Addlnstance AdderSliceG to type adderslicebb-,
Addlnstance AdderSliceG to type Generic,
Its functions can be instantiated as follows.
ASName (AdderSliceG) := "Adder-Slice";


114
ASInput (AdderSliceG) := { X, Y, Cl };
ASOutput (AdderSliceG) := { Z, CO };
These function instantiations refer to Figure 3-4.
At this point the designer has two choices: he can declare the internal
assembly functions of AdderG at the type level or he can create different version
instances of AdderSliceG and then declare and instantiate the internal assembly of
AdderG. The second alternative is essentially a bottom-up approach that first tries
to completely define the constituents of a design. In this example, we shall illustrate
the second alternative.
In order to define versions of AdderSlice, the designer defines a type
object that represents an internal assembly of the object:
User-Type : adderslicewbl subtype of adderslicebb\
It should be recalled that a type representing the internal assembly of an
object (i.e., white-box object type) must be a subtype of the object that represents its
external features (i.e., black-box object type).
This composite object references other objects HalfAdder and OR-gate,
which must now be declared.
User-Type: halfadderbb, orgatebb;
Functions on these types can be defined as follows:
function ORName (orgatebb) *> charstring u
function ORInput (orgatebb) terminal m
function OROutput (orgatebb) terminal u
function HName (halfadderbb) charstring u
function HInput (halfadderbb) terminal m


APPENDIX
AN EXAMPLE OF VERSIONING PROCESS
In this appendix, we provide a simple example of the design of a compo
site object which goes through a process of versioning. For the sake of convenience,
the example chosen here is based on the composite object Adder and its constituents
discussed in Chapter 3. The idea behind this example is to illustrate the concepts
and methodologies proposed in Chapter 4.
We mentioned in Chapter 3 that our model is not restricted to either
top-down or bottom-up design strategies. In fact, any combination of these strategies
are allowed. The design example given here evolves using an arbitrary combination
of both of these strategies.
We establish a convention for identifying different objects. A type object
always appears in lower-case italics with a suffix of "bb" or "wb"; "bb" signifies the
fact that it represents the black-box properties whereas "wb" corresponds to white-
box properties. An instance object appears with its first letter capitalized with a
suffix of "G" or 'V.*"; "G" signifies a generic object whereas V.*" stands for a ver
sioned object ( where can be any ordinal number).
Let us consider the design of the composite object Adder (Figures 3-2
and 3-3). In this example, a designer starts with a high level (external features)
description of this object by declaring its type and functions that belong to its exter
nal features; at a later stage of design, its internal assemblies can be defined. The
type and its functions are defined as follows.
User_Type: adderbb;
111


81
should produce a minimal restructuring of the sequential order. In design databases,
an insertion does not necessarily apply to a single edge; a whole subtree representing
an independent composite object can be inserted as a child of a node in another
design hierarchy. This situation occurs when two composite object evolve indepen
dently and later one is referenced as a descendent by the other.
Depth-first and breadth-first traversals are two well-known methods for
traversing a hierarchy. In depth-first traversal, a single branch of a hierarchy is
traversed to the leaf level, and only then are other branches explored. In breadth-
first traversal, a hierarchy is pursued one level at a time until it is fully traversed.
These traversal methods are illustrated by the following examples. A hierarchy is
shown in Figure 6-3. Assuming that child nodes of a given node are traversed from
left to right, the following are the sequences in which depth-first and breadth-first
traversals respectively visit the nodes of the hierarchy.
DFT: ABEHIJFGKLCMNDOQRP
BFT: ABCDEFGMNOPHIJKLQR
It is clear that both traversals meet the first criterion of accessing an
ancestor node before accessing its descendents. However, depth-first traversal does
not satisfy the second, and the most important, criterion of clustering the sibling
nodes. Breadth-first traversal does not closely collocate child nodes with their parent.
Consider an independent design hierarchy shown in Figure 6-4, which is
inserted as a subtree under node A in Figure 6-3; that is, a becomes another child
node of A. The resulting hierarchy is shown in Figure 6-5 and its two traversals are
given below.
DFT: ABEHIJFGKLCMNDOQRP/?^7P


35
Figure 3-2
z
7
5
Figure 3-3


34
account the dimension of versioning. In Chapter 4, we shall present a framework for
version management. We shall also examine whether these rules need to be extended
or relaxed in the context of versioned design objects.
It should be noted that the subdivision of EF and IA discussed in this
chapter may not always be adequate. Further experience in structural/mechanical
engineering design is needed to test the above subdivision and verify its adequacy.


73
A
[5,90]
Figure 5-1
A
[5,90]
Figure 5-2


CHAPTER 1
INTRODUCTION
1.1 Preliminary Discussion
In recent years, there has been a tremendous surge of interest in the
research and development of computer-aided design (CAD) systems for aiding and
controlling the design efforts of a wide variety of engineering products, including
VLSI circuits, mechanical parts, software systems, etc. The size and complexity of
many design projects have rendered existing database tools and support inadequate.
Database systems designed for commercial applications suffer from the fact that they
normally hold only one valid view of the world. In integrated CAD systems,
designers often need to generate and experiment with multiple alternative representa
tions of an object before selecting one that meets the design requirements. This
means that several valid representations of an object may coexist in the database.
Furthermore, a traditional database system, as it deals with only regular and struc
tured data, cannot efficiently manage design data, which are often hierarchical in
nature and entail large variations in their size and structure. In order to support the
varied requirements, we need a unified system which incorporates these concepts and
provides tools for an efficient management of a generalized design database.
Design of an object normally starts with a high level description of some
aspects of that object. Because of the iterative nature of the design process, a com
plete description of the design cannot be provided at once; only a partial description
is provided which is later completed by repeated refinements. Because of the proba
tive nature of the design process, in each step of the iteration, several admissible
alternatives may exist. Designers usually choose one alternative and proceed to
1


36
Figure 3-4
Figure 3-5
O
Figure 3-6


23

Student Faculty
Figure 2-1 The System Type Graph


47
Promote is an operation defined on transient or stable versioned objects.
When applied to transient or stable versions, it changes their states to stable or vali
dated statuses respectively.
Create is an operation defined on a generic object for creating a new
transient versioned object from the generic object. It entails the following steps:
1. This operation requires a mandatory specification of a user-defined type along
with the identifier of the generic object.
2. An object of the given type as well as of type Versioned is created, and it is
assigned a version number.
3. It is made to value-acquire the invariant attributes from the generic object. No
values are assigned to its other attributes.
4. It is inserted as a root in the version graph. This version is returned by function
InitialVersions.
5. This versioned object starts in the transient state. The promote operation,
which may follow possible modifications, changes this version to the stable state.
Derive is an operation defined on stable or validated versioned objects. It
creates a copy of the operand version in the transient state, and assigns it a version
number. It entails the following steps:
1. A new object of the same types as the given versioned object is created and a
version number is assigned to it.
2. It is made to value-acquire all the invariant attributes from the generic object of
the given version. All other attribute values, with the exception of the functions
defined on type Versioned, are copied from the given version.
3. It is inserted in the version graph as an immediate successor of the given ver
sion.


86
IF A has more than one child THEN
BEGIN
Remove B and all its descendents, restructure them
and store them contiguously at a new location;
Restructure the original hierarchical sequence;
END;
END.
The first three steps are straight-forward and need no explanation. In
the last step, the removed subtree rooted at B needs to be restructured, as B and its
descendents may not be contiguous. Deletion can leave the original hierarchy or the
removed subtree in a state where its nodes are not stored contiguously on disk. Res
tructuring refers to their rearrangement in contiguously allocated pages.
6.4 Physical Organization of Composite Objects
In order to present a detailed description of the physical organization of
composite objects, specific assumptions regarding the characteristics of the underlying
storage manager must be made. Therefore, we limit ourselves to giving only an
overview of the basic requirements for implementing the proposed clustering stra
tegy.
We envision a paging environment, where storage space is partitioned in
a number of fixed-size pages. We also assume that the storage manager provides a
facility for linear address space, called chunk here. A chunk is a collection of con
tiguous set of pages. It is useful for grouping clusters together. The storage manager
should provide a mechanism for sequential scan through all objects in a chunk, so
that related objects can be placed in a common chunk. Since pages in a chunk are
contiguous, it can provide support for objects that are required to be collocated on
disk.
For each object, the following information is maintained: (oid, object-
properties, children-pointer-array, parent-oid). The object-properties refer to


77
In an environment that supports versioning, a designer accesses different
versions belonging to the same set in an exploratory manner for browsing and testing
them, or for selecting them to be referenced as constituents, or for deriving a new
version. As discussed in Section 4.2, all objects in a version set are equivalent and
can be interchangeably referenced by a given composite object.
In the derivation operation, a version is created by copying a given ver
sion. The writing of the newly derived version is most likely to be stored on the
same page as the source version. This minimizes page faults, as the page is expected
to remain in buffer. By collocating all the versions of an object, the space can also be
managed efficiently. The invariant attributes need not be replicated, as they are
acquired from the generic object, which is also clustered with the versioned objets.
A technique called delta refinement, which stores only the modified attribute values
of a version, can be efficiently applied to the derived versions, if this scheme is sup
ported.
The proposed model allows a composite object to make generic refer
ences to its constituents, which can be dynamically dereferenced by some default cri
teria. In generic reference no particular version is referenced and any object in the
version set can be dynamically bound to its references. Therefore, by collocating ver
sions in a set, the operations PCT and ST with generic references can be efficiently
supported.
During the derivation phase, a new derived version can exist without
being referenced by any parent object and thus may lead to dispersed storage. An
example should illustrate this point. Consider a composite object A.v4 that refer
ences the object B.v2, which in turn references C.v5. Suppose a new version B.v3 is
derived from B.v2. B.v3 also references the constituent object C.v5; however, A.v4s
reference to B.v2 remains unchanged and for a period of time B.v3 can remain
unreferenced. This implies that B.v3 must be collocated with its potential parents


30
function ALinkl (adderslice, terminal)
function ALink2 (adderslice, terminal) < orgate, termmal>
AContains defines the composite aggregation of adderslice. Functions
AConnectl and AConnect2 describe the interconnection among the constituents of
adder-slice. AConnectl provides a mapping from the composite object, adder-slice,
and its constituents, two half-adders to a pair of terminals through which the inter
faces of these half-adders are connected. Similarly, AConnect2 provides a mapping
from the composite object, adder-slice, and its constituents, a half-adder and an OR-
gate, to a pair of terminals through which the interfaces of half-adder and ORgate
are connected. Functions ALinkl and ALink2 define the correspondence properties.
Alinkl describes a mapping from adder-slice and one of its interface (defined in terms
of a terminal) to the constituent object half-adder and its interface. Similarly,
ALink2 describes a mapping from adder-slice and one of its interface attribute to its
component OR-gate and its interface. The other functions are self-explanatory.
In Section 3.1, we described some system-defined classes. For each
design type object, a subset of the functions defined on them can be declared as a
member of one the subclasses. For instance, we have, for adderslice, the following
relationships.
{ AName, ADesigner } 6 Ds
{ AInput, AOutput } G IF
{AContains } G CA
{ AConnectl, AConnect2 } G Ic
{ ALinkl, ALink2 } G CR
We present a partial extension of adder-slice. We assume the types
declared above have been instantiated and thus we have the following domains.


UNIVERSITY OF FLORIDA
3 1262 08553 4542


proliferation in the absence of any control mechanism. Concepts of invariant attri
butes and value acquisition are found to be useful for developing a notion of version
equivalence. A wide range of methodologies for version management and solutions
for the related problems are discussed.
The interdependence between composition and generalization graphs sug
gests that the effect of updates in these graphs on each other must be evaluated for
maintaining consistency. A time complexity analysis of algorithms devised for this
purpose shows a considerably improved performance when the stored, rather than
the dynamically computed, transitive closures of these graphs are used. The trade-off
it provides far outweighs the space requirement of the transitive closure relations.
Owing to the sheer complexity and size of design databases, efficient
organization and access of versioned composite objects become imperative. The pro
posed scheme and its related algorithms can determine an optimal storage organiza
tion based on significant units of clustering and expected frequency of retrieval and
update operations.
A multi-layer architecture is motivated by the accessibility and stability
of versions they contain. The proposed protocols for sharing and transition of versions
together with change notification provide a unifying framework for managing design
in a cooperative CAD environment.
vii



REFERENCES
[Agr89] Agrawal, R., Borgida, A., and Jagadish, H. V., 'Efficient Management of
Transitive Relationships in Large Data and Knowledge Bases," Proc.
ACM-SIGMOD Con}., Portland, OR (1989).
[Bat84] Batory, D. S., and Buchmann, A. P., "Molecular Objects, Abstract Data
Types, and Data Models A Framework," Proc. VLDB Con}, Singapore
(1984).
[Bat85] Batory, D. S., and Kim, W.,"Modeling Concepts for VLSI CAD Objects,"
ACM TODS, vol. 10, no. 3, p. 322-346 (1985).
[Bee88] Beech, D. and Mahbod, B., "Generalized Version Control in an Object-
Oriented Database," IEEE Con} on Data Engineering,, Los Angeles, CA
(1988).
[Ben82] Bennet, J., "A Database Management System for Design Engineers," 19th
Design Automation Con}., New York, NY (1982).
[Buc85] Buchmann, A. P., and Celis, C. P., "An Architecture and Data Model for
CAD databases," Proc. VLDB Con}., Stockholm, Sweden (1985).
[Car86] Carey, M. J., DeWitt, D. J., Richardson, J. E., and Shekita, E. J., "Object
and File Management in the EXODUS Extensible Database System,"
Proc. VLDB Con}., Kyoto, Japan (1986).
[CI1086] Chou, H-T. and Kim. W., "A Unifying Framework for Version Control in
a CAD Environment,' Proc. VLDB Con}, Kyoto, Japan (1986).
[Eas80] Eastman, C. M., "System Facilities for CAD Databases," Proc. Design
Automation Con}, Washington, D,C. (1980).
[Emo83l Emond, J. C., and Marechal, G., "A computer Aided-Design System Based
On A Relational DBMS," ACM SIGMOD/IEEE Engineering Design
Applications, Atlanta, GA (1983).
[Fis87] Fishman, D. H., 'Iris: An Object-Oriented Database Management System,"
ACM TOOIS, vol. 5, no. 1, p. 48-69 (1987).
[Got86] Goto, S., "Advances in CAD: Design Methodologies," North-Holland, New
York, NY (1986).
[Har87] Harder, T., Meyer-Wegner, K., Mitschang, B., and Sikeler, A., 'PRIMA, A
DBMS Prototype Supporting Engineering Applications," Proc. VLDB
Con}, Brighton, U. K. (1987).
124


8
collection of data pertaining to a design object. An object may have several versions,
which are of two types: in-process versions, which are mutable objects, and released
objects which are immutable objects.
McLeod and Rao propose a scheme, w'here both refinements and alterna
tives are called "revisions" [McL83]. This proposal uses Tichs AND-OR graph model
to abstract the state of a system at an arbitrary stage of its design. Representations
are considered a kind of versions which are equivalent objects describing the same
objects. This scheme requires versions to have the same external interface.
Some investigators have emphasized the multi-aspect characteristics of
design objects [Neu83]. Database objects describing aspects of real world objects are
called "representations". Some representations are derived from others. A
derivation-graph gives type level information about which representation is derived
from which. Versions are different descriptions of the object. Since representations
can have several versions, there is also a version graph.
Katz et al. deal with three aspects of design: version histories,
configurations, and equivalence among objects of different types [Kat86]. In this pro
posed design, descriptions may exist across representations. Some validation tools are
discussed that provide consistency among different representations.
Landis discusses some important concepts of versioning and propagation
of changes [Lan86]. Changes in this scheme can be grouped together that can post
pone automatic generation of versions. This work also proposes a version graph that
can have multiple successors and predecessors; two versions can also be merged into
one, although no definition of "merging" is given.
Beech and Mahbod [Bee88] describe the version control facility incor
porated in Iris [Fis87], an object-oriented database management system. The main
features of this scheme is the treatment of generic and versioned instances of objects,
facilities for explicit references and implicit coercion of references and propagation of


98
project database. Long transactions are not needed in this case, since it is a read
only operation.
Checkin is defined as transferring and installing a version from a less
accessible database to a more accessible database. Thus, by definition, only stable
versions can be transferred to a project database and validated versions can be
transferred to the public database from project databases. A Checkin operation is
not valid unless the version being checked in the new database can access all the ver
sions it references.
RCheckin is defined as a Checkin preceded by a replication of the version
being transferred to some other database. Replication in this case implies creation of
an exact replica of the version. These two versions are identical and have the same
object identifier and the same version number. To maintain the correspondence
between the two replicas, some new functions need to be defined on type Version.
Following functions can be defined.
function Db_Address (Version) = db_id;
function R-Address (Version) = db_id;
The function Db^kddress returns the database where the version ori
ginated and the function R_Address indicates the database where its replica exists; a
null address will signify the nonexistence of a replica. The dbJd stands for database
identifiers, which is unique and is assigned to each database. It is assumed that every
private database generates object identifier unique across all project/public data
bases, which can preclude possible future conflicts.
The concept of replicas is extremely important in a distributed design
environment. Design is a matter of team effort, which goes through several phases of
testing and validation. A designer who needs direct access to a version that refer
enced by versions in the private database and still wants to allow other designers to


82
BFT: ABCDaEFGMNOP^HIJKLQR/i/
The above example illustrates that in depth-first traversal, the insertion
of a subtree creates a minimal restructuring of the existing sequence, as the insertion
is made at only one location. It is clear that the nodes belonging to the subtree are
simply inserted at one point that is, after the node Pwithout any restructuring
of the sequence in the subtree. It should be pointed out that the insertion cannot
always be at the end of the sequence. On the other hand, in breadth-first traversal,
insertions are made at all levels that are common to both the hierarchies; that is, a
must be inserted at the first level, and ¡3 and 7 at the second level and so on. The
subtree that is being inserted will have its nodes sequenced in the given order. The
insertion in depth-first traversal utilizes this fact; however, the breadth-first traversal,
due to its very definition, cannot; and, thus insertion for this case becomes very
inefficient.
Consequently, neither of these traversals satisfies all the requirements of
a design database. This has motivated us to devise a new method of traversal called
sibling-reverse-depth-first (SRDF), which is essentially a hybrid of the above two
traversals. In SRDF traversal, once a node is visited, then all its child nodes are
visited immediately. This procedure is recursively repeated in reverse order. The
following procedural description defines the method in a more precise term.
Procedure SRDFT (A);
BEGIN
Visit node A;
IF node A has any children THEN
BEGIN
Visit all child nodes of A;
For each child B of A
Call SRDFT (B) in the reverse order;
END;
END.


40
4.1 Generic, Versioned and Unversioned Objects
In this section, we discuss three system-defined types, which provide the
basic framework for our proposed methodologies for version management.
Each design object, in addition to possessing its own types, belongs to one
of three system-defined types: Versioned, Generic, or Unversioned, which are sub-
types of DesignObject. Generic objects are instance of type Generic. The instances
of type Versioned are versioned objects, which are also called versions. Design
objects which are not going through a process of evolution are instances of type
Unversioned. These three types are mutually exclusive. It should also be possible
to dynamically acquire and discard one of these types. The protocol of such conver
sion is discussed in Section 4.2.2. We stipulate that only design objects are version-
able.
The common characteristics that are used to relate all versions of a
design object are called its invariant properties. Invariance, however, does not imply
that they can never be modified; it means that they are invariant over the version
set.
A generic design object is characterized by its invariant external
features, which subsumes the interface properties. Therefore, a generic object
identifies the design object, represents its essence and contains a high level abstrac
tion of its functionality.
In this model, all versions of a design object, which are allowed to have
different types, value-acquire (Definition 2.10) the invariant external features from its
generic object. The type of a versioned object appears in the generalization graph as
a subtype of the generic object type, if they are of different assigned-types. Further
more, the versioned objects appear as receptors with the generic object as their
transmitter in the instance graph. There is only one generic object for each version


90
A
Figure 6-3
a
(3 7
6 6 n v
Figure 6-4


3
2. Developing an abstraction for composite objects based on the categorization of
their attributes.
3. Proposing a mechanism for the management and control of versions for design
databases.
4. Maintaining a consistent semantics of schema as the composition and generaliza
tion graphs interact with each other.
5. Proposing an efficient strategy for organizing and retrieving versioned composite
objects.
6. Proposing a cooperative environment and describing protocols for efficiently
managing a complex design, which is collectively developed by a group of
designers working on different projects.
The remainder of the dissertation is organized as follows. In Section 1.3,
the work related to this research is reviewed. The formal treatment of the proposed
data modeling constructs are presented in Chapter 2. In Chapter 3, the abstraction
developed for a complex design object is discussed. Chapter 4 deals with the basic
modeling constructs, constraints and rules for managing version control. Then in
Chapter 5, the interaction between composition and generalization graphs are investi
gated; an analysis of algorithms for maintaining consistent semantics and querying
these constructs are presented for the case when the transitive closure is maintained
vis-a-vis and when its dynamically computed. A clustering storage strategy is
presented for the efficient organization and retrieval of versioned composite objects in
Chapter 6. In Chapter 7, a cooperative CAD architecture is proposed to deal with a
collective design effort made by a group of designers working on different projects.
And finally in Chapter 8, the main results of this work are summarized and the
directions for the future research in this area are indicated.


54
Rules 3.2 and 3.3 need no modifications. However, it should be noted
that either specific or generic binding is deemed sufficient.
Rule 3.4 needs an addendum. In case of versioned objects, the interface
properties are considered invariant. Hence, they cannot be modified at the version
level. These modifications can be performed only on generic objects.
Rule 4.2. The interface values of a versioned composite objects can be
modified only at the generic level.
Rule 3.5, on the other hand, needs to be supplanted by the following rule.
T3. a modification in the internal assembly of a version object
gives rise to another version except in the case when a constituent is replaced by an
equivalent versioned or generic object.
The Rule 3.6 remains valid. However, a rule is required to deal with the
deletion of generic objects.
Rule 4.4. All version objects in a set are considered existentially depen
dent on its generic object. Therefore, deletion of a generic object will result in the
deletion of all its versions.
Table 4-2 shows the correspondence, if any, between the rules given in
Chapter 3 and the rules needed in the context of versioning.
In this chapter, we discussed basic modeling concepts and protocols for
managing and controlling versions of composite objects. A precise definition of ver
sions for design objects was given, version graph was defined, and two states for ver
sioned objects wrere proposed. A protocol was provided for controlling update propa
gation and version proliferation. A notion of generic object was introduced in order
to relate members of a version set and to provide dynamic binding. A methodology
was proposed to deal with versioning at the instance and template levels. A number
of rules were also given for providing a consistent semantics of composite version
objects.


97
private database interfaces with other designers of the project through its project
database.
Data retrieval, data definition and data manipulation and constraint
management facilities are required in private databases. There is no need for con
currency control because these are single user databases.
Private database contain both transient and stable versions. Here, a
designer can create new versions, derive versions from existing versions, promote
transient versions to stable status, and check in stable versions to its project data
base, and check out copies of versions residing in its project and the public databases.
All design objects referenced by versions in a private database must reside in the
same private database, its project database or the public database.
Interface values of a generic object can be modified in a private database,
only if it resides in the database of its origin, is not referenced by other objects, and
the modification does not affect the internal assembly of stable versions. In all other
cases, interface is considered invariant, as its modification can render all objects that
reference it invalid. Schema and data definitions, as mentioned earlier, are also
defined in a private database.
7.2 Operations on Versions in Distributed Environment
In Chapter 4, we defined several operations on versions such as version
creation, derivation and promotion. In this section, we define high level operations in
terms of these operations for the distributed CAD environment.
Checkout is defined as a derivation from a stable or validated version
residing in a project or public database and installing it as a transient version in the
private database that invoked the operation. It should be noted that the Checkout
operation can be invoked only from a private database to the public database or its


118
it value-acquires all the results of functions defined on this object and declared as
either IF or Dg The system updates the following functions.
GenericInst(Halfadder.Vl) := HalfadderG; (S)
FirstVersion(HalfadderG) := Halfadder.Vl; (S)
InitialVersions(HalfadderG) :={ Halfadder.Vl}; (S)
VersionSet(HalfadderG) :={ Halfadder.Vl}; (S)
VersionNumber(Halfadder.Vl) := 1; (S)
CreationTime(Halfadder.Vl) := 11/29/1989; (S)
VersionStatus(Halfadder.Vl) := Transient-, (S)
We can create instances of XOR-gate and AND-gate and define the
internal assembly of Halfadder.Vl.
Addlnstance XOR-gateG to type xorgatebb;
Addlnstance XOR-gateG to type Generic;
Addlnstance AND-gateG to type andgatebb;
Addlnstance AND-gateG to type Generic;
The Halfadder.Vl is created in transient state. Therefore, a designer can
make any update to its internal assembly. These internal assembly functions are
instantiated below.
HContains (Halfadder.Vl) :=
HLinkl (Halfadder.Vl, A) :=
HLinkl (Halfadder.Vl, B) :=
HLinkl (Halfadder.Vl, Si) :=
HLink2 (Halfadder.Vl, A) :=
HLink2 (Halfadder.Vl, B) :=


56
Figure 4-2 Unversioned Object
Figure 4-3 Generic Object
Figure 4-4 Versioned Object


102
Different versions of a generic object reside in various databases, which
may not have direct access to one another. This implies that different subsets of a
version graph will be stored in these databases. Moreover, associated with each of
these subsets of a version graph, there is a default mechanism for dereferencing a
generic reference.
In view of the three operations defined in Section 7.2, the following stra
tegy is proposed. In each database the version graph contains the versions that reside
in the database and their parent version from which they were derived. Since a ver
sion can be derived through a Checkout operation from version residing in project
databases, the parent of a version in the version graph of private database may not
exist there. Moreover, different versions of a generic object can be derived indepen
dently in different private databases, there can be a conflict in version numbers at the
time of Checkin to a project and the public database, which must have capability to
resolve this. Deletion of a version should not lead to its deletion from a version
graph; version graphs, as they represent the version derivation history, should only
flag that version as nonexistent. The union of all subsets of version sets should pro
vide the complete version graph of a generic object.
7.4 Requirements for Notification
In our model, a design object can be referenced by more than one version
of its composite objects, which can reside in different databases and can have
different statuses. Therefore, a change notification must be issued to the affected
databases so that appropriate actions can be taken, when constituent objects are
updated or deleted. It should be noted that modification and deletion can take place
both in private and project databases. Following instances of update and deletion
require change notification.


126
[McL83] McLeod, D. and Rao, K. V., "An Approach to Information Management
for CAD/VLSI Applications," ACM SIGMOD/IEEE, Engineering Design
Applications, San Jose, CA (1983).
[Mei83] Meier, A., and Lorie, R. A., "A Surrogate Concept for Enginnering Data
bases," Proc. of VLDB Conf, Venice, Italy (1983).
[Nav88] Navathe, S. B., and Ahmed, R., "Temporal Aspects of Version Manage
ment," IEEE Data Engineering Special Issue, vol. 11, no. 4, p. 34-37
(1988).
[Neu83] Neumann, T., "On Representing the Design Information in a Common
Database," ACM/IEE Engineering Design Applications, San Jose, CA
(1983).
[Rob8l] Roberts, K. A., Baker, T. E., and Jerome, D. H., "A Vertically Organized
Computer-Aided Design Database," Proc. 18th Design Automation Conf.,
Boston, MA (1981).
[Sch77] Schkolnick, M., "A Clustering Algorithm for Hierarchical Structures,"
ACM Trans, on Database Systems, vol. 2, no. 1, p. 27-44 (1977).
[Sch83] Schubert, M. A., Papalaskaris, M. A., and Taugher, J., 'Determining
Type, Part, Color and Time Relationships," IEEE Computer, vol. 16, no.
10, p. 53-61 (1983).
[Sto83] Stonebraker, M., Rubenstein, B., and Guttman, A., "Application of
Abstract Data Types and Abstract Indices to CAD Databases," ACM
SIGMOD/IEEE Engineering Design Applications, San Jose, CA (1983).
[Su88] Su, S. Y. W., Krishnamurthy, V., and Lam, H., "An Object-Oriented
Semantic Association Model (OSAM*)," AI in Industrial and Manufactur
ing: Theoretical Issues and Applications, S. Kumara, R. L. Kashyap, and
A. L. Soyster (Eds.), American Institute of Industrial Engineers, New
York, NY (1988).
[Wie82] Wiederhold, G., Beetam, A. F., and Short, G. E., "A Database Approach
to Communication in VLSI Design," IEEE Trans, on CAD of ICS, vol 1,
no. 2, p. 35-38 (1982).


22
an n-place tuple. For example, a function called Age can be defined in the follwing
way.
Function Age (Person) Integer
The update of this function can be performed in the following way.
Age (pi) := 32
This data manipulation language is based on domain calculus. Interface
variables can be used in queries and updates as references to objects in the result or
argument of a function. As in domain calculus, these variables range over the
domains of the types they reference. When an object is retrieved into a variable, it
is bound to the identifier of the variable which may thereafter be used to refer
directly to the object. It is also possible to universally or existentially quantify a
variable. A variable referring to a type of the parameters of a function can be omit
ted, if it is not needed in the formulation of a query.
A query can be expressed by using the following syntax: A | B / P. A
contains a fist of variables or function names that are being retrieved. B contains the
quantification and declaration of the types of variables used in A or P. P is an
optional predicate expression that can involve both functions and variables. A func
tion can be derived from one or more defined functions.
This overview describes the logical primitives and the constructs that are
essential to illustrate and formalize concepts for design databases. In later sections,
some additional features that are needed for dealing with composite objects and ver
sioning will be defined in terms of the basic set of constructs discussed here.


93
databases. As design objects are hierarchically formed of other design objects, the
constituent objects of a design object may reside in different databases and may have
different statuses. Therefore, when a constituent object that references it is modified
or deleted, the composite object must be notified of the change. In the following sec
tions, we give the details of the proposed architecture and describe protocols for
change notification.
7.1 A CAD Architecture
The proposed CAD architecture comprises four types of databases called
data dictionary, public database, project database and private database. This archi
tecture is essentially hierarchical as illustrated in Figure 7-1. Different design data
bases contain data under different characteristics. The logical and physical division is
based on the accessibility and stability of design data and the types of operations per
formed on them. In Chapter 4, we outlined three classes of version states: validated,
stable, and transient. In a distributed environment, versions with different states
reside in different databases. This reduces the overhead of their management and
enhances their independent evolution, shareability and testing. The next four sec
tions describe the distinguishing functions and features of these databases.
7.1.1 Data Dictionary
Data dictionary contains the information about the meta data
schema, data definitions, constraints as well as control of database such as the
information about Checkout and Checkin and change-notification protocols. It is
managed by a central database server, which also coordinates the sharing of data
among different databases.


39
interface can be materialized from different implementations internal
assemblies of an object. For example, Figure 3.4 and Figure 3.5 show an Adder-
Slice, its interface, and its internal assembly respectively. Figure 3.6 presents a
different internal assembly for the same object Adder-Slice. This internal assembly
contains a different set of constituent objects, but shares the same interface (shown in
Fig. 3.4) and provides the same functionality.
One of our basic theses is that different versions of a design object share
the same interface but have different internal assemblies. If the interface properties
change, this implies that the object itself has changed in some fundamental way.
Several arguments can be put forth in the support of this hypothesis.
1. Interface defines the functionality of the object and is visible to the external
world.
2. Design objects interactcorrespond, interconnectwith one another through
interface.
3. A composite object enters into correspondence relationships with the interface
properties of its constituents. Therefore, any modification of the interface of an
object may disqualify it from being used as a component of its composite object.
4. Changes in the internal assembly of an object, if its interface remains invariant,
are not visible to the external world and may thus warrant creation of only a
different version.
Therefore, we maintain that different versions of an object share the
same interface properties and some descriptive attributes but can differ from one
another in their internal structure both at the type and instance levels.


106
Central Database Server
Figure 7-1


CHAPTER 3
AN ABSTRACT VIEW OF COMPOSITE OBJECTS
In this section, basic modeling concepts for composite objects are
developed. These notions are of fundamental importance for understanding the
nature of design objects and their version management.
A composite object, as represented by the composition graph described in
Chapter 2, is a recursively defined aggregation of its constituent objects. In the exist
ing literature, the composition property is deemed sufficient to represent a composite
object. It is one of the premises of this work that composition, though essential, is
inadequate for modeling objects in a complex engineering design.
Objects modeled in engineering applications are assemblies as well as
aggregations of their constituent objects that may, in turn, contain other objects.
The familiar abstractions of white-box and black-box properties can provide some
insight into the nature of design objects. The properties that describe an object
without any concern for their internal structure are viewed as black-box properties.
The properties that describe the entire structure are looked upon as white-box pro
perties. In the following, we propose a classification of the properties of design
objects based on the above abstraction.
External features (EF) of a design object are its non-structural attributes
that are visible to the external world.
Internal assembly (IA) of a composite design object is its structural
attributes that identify its constituent objects and describe their interrelationships.
24


version creation, and the use of contexts to achieve fine control in a declarative way.
This paper makes a significant contribution in this area.
Navathe and Ahmed discuss the temporal semantics of version manage
ment [Nav88]. They investigate whether the work on temporal modeling bears any
relationship with version control; the result of their work suggests that version
management, though in need of temporal information, has significantly different
requirements than that of temporal databases.
Buchmann and Celis discuss an architecture for process-plant CAD sys
tem to serve as a framework for the presentation of a data model based on the
notion of molecular aggregation [Buc85]. They also suggest mechanism for con
straint handling.
Chou and Kim present a model that attempts to incorporate the distri
buted nature of CAD environment and the complex configurations of CAD objects
[Cho86]. The proposed distributed architecture has a global database that is
hierarchically partioned into three different types of databases; this partitioned data
base interacts with three classes of versions that have different capabilities and
characteristics in different databases.
1.3.3 Transitive Closure Computation
In Chapter 5, we propose maintenance and precomputation of transitive
closure of type and composition graphs for their efficient processing.
The computation of transitive relationship has been recognized as a
sufficiently useful operation for it to have been included in a variety of query
languages. Ioannidis and Ramakrishnan present some efficient algorithms for com
puting the transitive closure of a directed graph [Ioa88]. They address it as a prob
lem of reachability. They also provide an excellent comparative analysis of published
algorithms in literature.


41
set. This scheme provides a paradigm that relates all versions of a design object and
also ensures that they have identical interface attributes.
A number of functions can be defined to relate a generic object and its
versions and to model their basic properties. Some of these system-defined functions
are shown here.
Genericlnst (Versioned) Generic;
FirstVersion (Generic) Versioned;
InitialVersions (Generic) Versioned m;
VersionSet (Generic) Versioned m;
ImmedSuccessor (Versioned) * Versioned ;
ImmedPredecessor (Versioned) Versioned ;
VersionNumber (Versioned) Integer;
CreationTime (Versioned) TimeStamp;
VersionStatus (Versioned) Status.
Genericlnst maps a versioned object onto its generic object, from which
it acquires its invariant attributes. FirstVersion returns the earliest version of the
version set. InitialVersion returns the set of all the versions which are initially
created and have no predecessors. These versions are considered alternatives (to be
explained later) of the design. VersionNumber returns the version identifier that is
unique within a version set. Other functions are self-explanatory.
4.1.1 Version Graph
A version graph captures the evolution history of versioned objects. We
define a version graph (VG) as a disconnected, acyclic, directed graph. The edges of
this graph represent the successor/predecessor relationship. The version graph
VG = (F Ev), where Vy C Versioned and Ev is a set of directed edges :


59
Figure 4-8
Figure 4-9


16
Definition 2.6. Generalization is represented as a rooted, labeled,
directed, acyclic graph GG = {V, E), where V is a set of vertices, V C Tu and E
is a set of labeled, directed edges,
E C { (t, t- s ) | ti t- £ V A s dom(HS) A V / £ s A 6 ^4r^(/) }
We assume that trivial cycles are present in the generalization graph;
that is, V v £ V, (v, v, s) £ E
Arg is a system-defined function which maps members of user-defined
function type Fv into the types of their arguments. An edge is defined as a triplet
(a, b, s), where a and b are the tail and head of the directed edge such that b -<
a, and c is the label of the edge. The root of GG is the system-defined type I
Definition 2.7. The extended domain of type t £ T is defined as the
union of the extended domains of all V such that (A t, s) £ E of GG.
Definition 2.8. The function inheritance by a type t is defined as
V / £ u s. A V (t{ t, s{ ) G E = t £ Arg(f)
t
It should be noted that an unlabeled edge (a, b, ) implies that it includes
all functions, / such that a £ Arg(f). The labeled generalization graph provides a
mechanism that specifies full as well as partial function (attribute) inheritance.
Definition 2.9. AT (AssignedType) is a mapping from to T(J's
power set. It returns one or more types t £ don^T^j) that are explicitly assigned to
an instance object i £ dom[UO).
AT : UO - 2Tu-0
V i£UO 3 t £ Tu I t £ AT(i) A -13 (t, p, s) £ E A p(i)
A notion of value acquisition is needed in design databases. This is
closely related to the idea of function (attribute) inheritance. The difference is that


29
function TName (terminal) charstring u
function IOtype (terminal) char
function ORName (orgate) charstring u
function ORInput (orgate) terminal m
function OROutput (orgate) terminal u
function
function
function
function
function
function
HName (halfadder) charstring u
HInput (halfadder) terminal m
HOutput (halfadder) terminal m
HContains (halfadder) HLinkl {halfadder, terminal) HLink2 {halfadder, terminal) * m
Functions HName, HInput and HOutput constitute the external features
of object type halfadder, whereas functions HInput and HOutput define the interface.
Functions HContains, HLinkl and FILink2 define the internal assembly. This inter
nal assembly does not have any interconnection attributes. HContains defines the
composition aggregation and the other two functions define the correspondence.
function AName {adderslice) * charstring u
function ADesigner {adderslice) charstring
function AInput {adderslice) * terminal u, m
function AOutput {adderslice) terminal u, m
function AContains {adderslice) * function AConnectl {adderslice, halfadder, halfadder) < terminal, termi
nals
function AConnect2 {adderslice, halfadder, orgate) *> < terminal, terminals


122
< terminal, terminal>;
function ASNLinkl (addersliceu¡b2, andgatebb) < terminal, terminal^;
function ASNLink2 [adderslicewb2, xorgatebb)* function ASNLink3 (adderslicewb2, orgatebb) < terminal, terminal>;
{ ASNContain, ASNConnectl, ASNConnect2, ASNLinkl, ASNLink2,
ASNLink3 } E LA
A new version of this type can be created by the following command:
Create instance of type adderslicewb2 version of AdderSliceG;
Let the surrogate of the versioned object returned by this operation be
AdderSlice.V2. The system updates the following functions:
GenericInst(Adderslice.V2) := AdderSliceG; (S)
InitialVersions(AdderSliceG) := { AdderSlice.Vl, AdderSlice.V2}; (S)
VersionSet(AdderSliceG) :={ AdderSlice.Vl, AdderSlice.V2}; (S)
VersionNumber(AdderSlice.V2) := 2; (S)
CreationTime(AdderSlice.V2) := 12/13/1989; (S)
VersionStatus(AdderSlice.V2) := Transient; (S)
Also by virtue of value-acquisition, the following results will be returned
by the functions inherited by AdderSlice.V2:
ASName (AdderSlice.V2) := "Adder-Slice";
ASInput (AdderSlice.V2) := {X, Y, Cl };
ASOutput (AdderSlice.V2) := { Z, CO };
The next step would be to define the internal structure of the highest
level (for the purpose of this example) object AdderG, as it has its components and
their versions completely defined. However, we stop our example at this point.



PAGE 1

9(56,21 &21752/ $1' 0$1$*(0(17 ,1 &20387(5$,'(' '(6,*1 '$7$%$6(6 %\ 5$), $+0(' $ ',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

7R 0\ 0RWKHU

PAGE 3

$&.12:/('*(0(176 ZLVK WR H[SUHVV P\ GHHS JUDWLWXGH WR P\ DGYLVRU 'U 6KDP 1DYDWKH IRU KLV LQVLJKWIXO FULWLTXH DQG SHUVSLFDFLRXV JXLGDQFH LQ WKH FRXUVH RI WKLV ZRUN 2YHU WKH ORQJ \HDUV RI RXU DVVRFLDWLRQ FDPH WR KLJKO\ YDOXH KLV IULHQGVKLS FRQVXO DQG HUXGLWLRQ LQGHHG RZH KLP D JUHDW GHDO DP LQGHEWHG WR P\ VXSHUYLVRU\ FRPPLWWHH PHPEHUV 'U 6WDQOH\ 6X 'U 5DYL 9DUDGDUDMDQ 'U 3UDEKDW +DMHOD 'U 6KDUPD &KDNUDYDUWK\ DQG 'U +HUn PDQ /DP IRU WKHLU WLPH SDWLHQFH DQG KHOSIXO VXJJHVWLRQV 0\ VLQFHUHVW WKDQNV JR WR 'U 'DQLHO )LVKPDQ RI +HZOHWW3DFNDUG /DERUDWRULHV IRU KLV FRQVWDQW HQFRXUDJHPHQW DQG VXSSRUW 7KLV UHVHDUFK ZDV SDUn WLDOO\ IXQGHG ZLWK D JUDQW PDGH E\ KLP JUHDWO\ DSSUHFLDWH WKH XQFHDVLQJ KHOS DQG DVVLVWDQFH SURYLGHG E\ 0UV 6KDURQ *UDQW $V SUHSDUH WR ELG IDUHZHOO WR P\ DOPD PDWHU ZRXOG OLNH WR WDNH WKLV RSSRUWXQLW\ WR WKDQN DOO WKRVH XQQDPHG IULHQGV DQG DVVRFLDWHV ZKR FRQWULEXWHG LQ FUHDWLQJ D FOLPDWH FRQGXFLYH WR P\ DFDGHPLF DQG QRQDFDGHPLF SXUVXLWV

PAGE 4

7$%/( 2) &217(176 3DJH $&.12:/('*0(176 LLL $%675$&7 YL &+$37(56 ,1752'8&7,21 3UHOLPLQDU\ 'LVFXVVLRQ 7KH 2XWOLQH 5HYLHZ RI 5HODWHG :RUN 02'(/,1* &216758&76 )25 '(6,*1 '$7$%$6(6 7KH %DVLF &RQVWUXFWV $Q ([DPSOH 'DWDEDVH 5HWULHYDO 8VLQJ )XQFWLRQV $1 $%675$&7 9,(: 2) &20326,7( 2%-(&76 ([WHUQDO )HDWXUHV DQG ,QWHUQDO $VVHPEO\ $Q ([DPSOH RI D &RPSRVLWH 2EMHFW 0RGHOLQJ &RPSRVLWH 2EMHFW LQ *22'0 5XOHV IRU %XLOGLQJ &RPSRVLWH 2EMHFWV 9(56,21 &21752/ $1' 0$1$*(0(17 *HQHULF 9HUVLRQHG DQG 8QYHUVLRQHG 2EMHFWV &UHDWLRQ DQG 8SGDWDELOLW\ RI 9HUVLRQV '\QDPLF %LQGLQJ DQG *HQHULF 2EMHFWV 5XOHV IRU 9HUVLRQHG &RPSRVLWH 2EMHFWV 0$,17(1$1&( 2) &216,67(17 6(0$17,&6 )25 &20326,7( 2%-(&76 3URWRFROV IRU ,QVHUWLRQV DQG 'HOHWLRQV ,QWHUDFWLRQ EHWZHHQ ** DQG &* (IILFLHQW 0DQDJHPHQW RI ** DQG &* ,9

PAGE 5

$ 6725$*( 675$7(*< )25 9(56,21(' &20326,7( 2%-(&76 'HVLJQ 'DWDEDVH 2SHUDWLRQV 8QLWV RI &OXVWHULQJ 7UDYHUVDO RI +LHUDUFKLHV 3K\VLFDO 2UJDQL]DWLRQ RI &RPSRVLWH 2EMHFWV '(6,*1 ,1 $ &223(5$7,9( &$' (19,5210(17 $ &$' $UFKLWHFWXUH 2SHUDWLRQV RQ 9HUVLRQV LQ 'LVWULEXWHG (QYLURQPHQW '\QDPLF DQG 6WDWLF %LQGLQJV LQ 'LVWULEXWHG (QYLURPHQW 5HTXLUHPHQWV IRU 1RWLILFDWLRQ &21&/86,21 0DMRU 5HVXOWV )XWXUH 5HVHDUFK 'LUHFWLRQV $33(1',; ,OO 5()(5(1&(6 %,2*5$3+,&$/ 6.(7&+ Y

PAGE 6

$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\ 9(56,21 &21752/ $1' 0$1$*(0(17 ,1 &20387(5$,'(' '(6,*1 '$7$%$6(6 %\ 5DLO $KPHG 'HFHPEHU &KDLUPDQ 'U 6KDPNDQW % 1DYDWKH 0DMRU 'HSDUWPHQW &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFHV 7KHUH DUH HVVHQWLDOO\ WZR FKDUDFWHULVWLFV RI GHVLJQ REMHFWV ZKLFK LPSDFW XSRQ WKH LWHUDWLYH DQG SUREDWLYH QDWXUH RI WKH GHVLJQ SURFHVV )LUVW WKH\ DUH KLHUDUFKLFDOO\ IRUPHG DVVHPEOLHV RI FRPSRQHQW REMHFWV 6HFRQG WKH\ KDYH VHYHUDO DOWHUQDWLYH UHSUHVHQWDWLRQV 7KLV GLVVHUWDWLRQ DGGUHVVHV D EURDG VSHFWUXP RI PRGHOn LQJ DQG RSHUDWLRQDO LVVXHV UHODWHG WR WKHVH WZR DVSHFWV LQ FRPSXWHUDLGHG GHVLJQ GDWDn EDVHV $ IRUPDO WUHDWPHQW RI GDWD PRGHOLQJ FRQFHSWV ZKLFK DUH GHILQHG LQ WHUPV RI SULPLWLYH FRQVWUXFWV RI LQVWDQFHV W\SHV KRPRJHQHRXV VHWV DQG IXQFWLRQV DQG DEVWUDFWLRQV RI JHQHUDOL]DWLRQ DQG FRPSRVLWLRQ LV SUHVHQWHG IRU GHVLJQ DSSOLFDn WLRQV $ FODVVLILFDWLRQ RI FRPSRVLWH REMHFW DWWULEXWHV LQWR LQWULQVLF LQWHUIDFH DQG H[WULQVLF LQWHUQDO DVVHPEO\ SURYLGHV DQ LQVLJKW LQWR WKHLU EHKDYLRU DQG IXQFWLRQDOLW\ 7KH GHVLJQ SURFHVV LV VWXGLHG ZLWK UHVSHFW WR WKHVH FODVVHV RI DWWULEXWHV $ GHVLJQ HYROYHV LQ GLVFUHWH VWDWHV WKURXJK PXWDWLRQ DQG GHULYDWLRQ ZKLFK PD\ FDXVH YHUVLRQ YL

PAGE 7

SUROLIHUDWLRQ LQ WKH DEVHQFH RI DQ\ FRQWURO PHFKDQLVP &RQFHSWV RI LQYDULDQW DWWULn EXWHV DQG YDOXH DFTXLVLWLRQ DUH IRXQG WR EH XVHIXO IRU GHYHORSLQJ D QRWLRQ RI YHUVLRQ HTXLYDOHQFH $ ZLGH UDQJH RI PHWKRGRORJLHV IRU YHUVLRQ PDQDJHPHQW DQG VROXWLRQV IRU WKH UHODWHG SUREOHPV DUH GLVFXVVHG 7KH LQWHUGHSHQGHQFH EHWZHHQ FRPSRVLWLRQ DQG JHQHUDOL]DWLRQ JUDSKV VXJn JHVWV WKDW WKH HIIHFW RI XSGDWHV LQ WKHVH JUDSKV RQ HDFK RWKHU PXVW EH HYDOXDWHG IRU PDLQWDLQLQJ FRQVLVWHQF\ $ WLPH FRPSOH[LW\ DQDO\VLV RI DOJRULWKPV GHYLVHG IRU WKLV SXUSRVH VKRZV D FRQVLGHUDEO\ LPSURYHG SHUIRUPDQFH ZKHQ WKH VWRUHG UDWKHU WKDQ WKH G\QDPLFDOO\ FRPSXWHG WUDQVLWLYH FORVXUHV RI WKHVH JUDSKV DUH XVHG 7KH WUDGHRII LW SURYLGHV IDU RXWZHLJKV WKH VSDFH UHTXLUHPHQW RI WKH WUDQVLWLYH FORVXUH UHODWLRQV 2ZLQJ WR WKH VKHHU FRPSOH[LW\ DQG VL]H RI GHVLJQ GDWDEDVHV HIILFLHQW RUJDQL]DWLRQ DQG DFFHVV RI YHUVLRQHG FRPSRVLWH REMHFWV EHFRPH LPSHUDWLYH 7KH SURn SRVHG VFKHPH DQG LWV UHODWHG DOJRULWKPV FDQ GHWHUPLQH DQ RSWLPDO VWRUDJH RUJDQL]Dn WLRQ EDVHG RQ VLJQLILFDQW XQLWV RI FOXVWHULQJ DQG H[SHFWHG IUHTXHQF\ RI UHWULHYDO DQG XSGDWH RSHUDWLRQV $ PXOWLOD\HU DUFKLWHFWXUH LV PRWLYDWHG E\ WKH DFFHVVLELOLW\ DQG VWDELOLW\ RI YHUVLRQV WKH\ FRQWDLQ 7KH SURSRVHG SURWRFROV IRU VKDULQJ DQG WUDQVLWLRQ RI YHUVLRQV WRJHWKHU ZLWK FKDQJH QRWLILFDWLRQ SURYLGH D XQLI\LQJ IUDPHZRUN IRU PDQDJLQJ GHVLJQ LQ D FRRSHUDWLYH &$' HQYLURQPHQW YLL ‘

PAGE 8

&+$37(5 ,1752'8&7,21 3UHOLPLQDU\ 'LVFXVVLRQ ,Q UHFHQW \HDUV WKHUH KDV EHHQ D WUHPHQGRXV VXUJH RI LQWHUHVW LQ WKH UHVHDUFK DQG GHYHORSPHQW RI FRPSXWHUDLGHG GHVLJQ &$'f V\VWHPV IRU DLGLQJ DQG FRQWUROOLQJ WKH GHVLJQ HIIRUWV RI D ZLGH YDULHW\ RI HQJLQHHULQJ SURGXFWV LQFOXGLQJ 9/6, FLUFXLWV PHFKDQLFDO SDUWV VRIWZDUH V\VWHPV HWF 7KH VL]H DQG FRPSOH[LW\ RI PDQ\ GHVLJQ SURMHFWV KDYH UHQGHUHG H[LVWLQJ GDWDEDVH WRROV DQG VXSSRUW LQDGHTXDWH 'DWDEDVH V\VWHPV GHVLJQHG IRU FRPPHUFLDO DSSOLFDWLRQV VXIIHU IURP WKH IDFW WKDW WKH\ QRUPDOO\ KROG RQO\ RQH YDOLG YLHZ RI WKH ZRUOG ,Q LQWHJUDWHG &$' V\VWHPV GHVLJQHUV RIWHQ QHHG WR JHQHUDWH DQG H[SHULPHQW ZLWK PXOWLSOH DOWHUQDWLYH UHSUHVHQWDn WLRQV RI DQ REMHFW EHIRUH VHOHFWLQJ RQH WKDW PHHWV WKH GHVLJQ UHTXLUHPHQWV 7KLV PHDQV WKDW VHYHUDO YDOLG UHSUHVHQWDWLRQV RI DQ REMHFW PD\ FRH[LVW LQ WKH GDWDEDVH )XUWKHUPRUH D WUDGLWLRQDO GDWDEDVH V\VWHP DV LW GHDOV ZLWK RQO\ UHJXODU DQG VWUXFn WXUHG GDWD FDQQRW HIILFLHQWO\ PDQDJH GHVLJQ GDWD ZKLFK DUH RIWHQ KLHUDUFKLFDO LQ QDWXUH DQG HQWDLO ODUJH YDULDWLRQV LQ WKHLU VL]H DQG VWUXFWXUH ,Q RUGHU WR VXSSRUW WKH YDULHG UHTXLUHPHQWV ZH QHHG D XQLILHG V\VWHP ZKLFK LQFRUSRUDWHV WKHVH FRQFHSWV DQG SURYLGHV WRROV IRU DQ HIILFLHQW PDQDJHPHQW RI D JHQHUDOL]HG GHVLJQ GDWDEDVH 'HVLJQ RI DQ REMHFW QRUPDOO\ VWDUWV ZLWK D KLJK OHYHO GHVFULSWLRQ RI VRPH DVSHFWV RI WKDW REMHFW %HFDXVH RI WKH LWHUDWLYH QDWXUH RI WKH GHVLJQ SURFHVV D FRPn SOHWH GHVFULSWLRQ RI WKH GHVLJQ FDQQRW EH SURYLGHG DW RQFH RQO\ D SDUWLDO GHVFULSWLRQ LV SURYLGHG ZKLFK LV ODWHU FRPSOHWHG E\ UHSHDWHG UHILQHPHQWV %HFDXVH RI WKH SUREDn WLYH QDWXUH RI WKH GHVLJQ SURFHVV LQ HDFK VWHS RI WKH LWHUDWLRQ VHYHUDO DGPLVVLEOH DOWHUQDWLYHV PD\ H[LVW 'HVLJQHUV XVXDOO\ FKRRVH RQH DOWHUQDWLYH DQG SURFHHG WR

PAGE 9

ILQDOL]H WKH GHVLJQ ,I WKDW DOWHUQDWLYH WXUQV RXW WR EH LQDSSURSULDWH WKH\ EDFN XS DQG SXUVXH DQRWKHU DOWHUQDWLYH 7KH LWHUDWLYH DQG SUREDWLYH QDWXUH RI WKH GHVLJQ SURFHVV LQWHUDFWV ZLWK WZR GLPHQVLRQV RI GHVLJQ REMHFWV )LUVW WKH\ DUH XVXDOO\ FRPSOH[ WKDW LV WKH\ DUH DVVHPEOLHV RI SDUWV WKDW WKHPVHOYHV PD\ EH FRQVWUXFWHG KLHUDUFKLFDOO\ IURP FRPn SRQHQW REMHFWV 6HFRQG WKHUH FDQ EH VHYHUDO FRQFXUUHQW GHVFULSWLRQV FDOOHG YHUVLRQV RI GHVLJQ REMHFWV 7KH SUREOHP RI PDQDJLQJ D GHVLJQ LV FRPSRXQGHG E\ WKH IDFW WKDW FRPSRVLWH REMHFWV FDQ KDYH PXOWLSOH DOWHUQDWLYH FRQILJXUDWLRQV LI YHUVLRQV RI FRPn SRQHQWV DUH WDNHQ LQWR FRQVLGHUDWLRQ )XUWKHU FUHDWLRQ RI YHUVLRQV FDQ WDNH SODFH HLWKHU DW WKH WHPSODWH D W\SH DQG D FROOHFWLRQ RI DWWULEXWHV GHILQHG RQ LW OHYHO RU DW WKH LQVWDQFH OHYHO 7KH GHULYDWLRQ VHTXHQFH RI YHUVLRQV PXVW EH UHSUHVHQWHG H[SOLn FLWO\ WR PDLQWDLQ D WUXH YHUVLRQ KLVWRU\ 7KHVH FKDUDFWHULVWLFV PXVW EH WDNHQ LQWR DFFRXQW IRU DQ\ V\VWHPDWLF DQG HIILFLHQW PDQDJHPHQW RI GHVLJQ DQG YHUVLRQLQJ RI FRPSRVLWH REMHFWV 7KH VKHHU VL]H DQG FRPSOH[LW\ RI YHUVLRQHG FRPSRVLWH REMHFWV DOVR UHTXLUH DQ HIILFLHQW RUJDQL]DWLRQ DQG UHWULHYDO VWUDWHJ\ 0DQDJHPHQW RI GHVLJQ GDWD LQ WKH SUHVHQFH RI DOWHUQDWLYHV DQG DVVHPEO\ LV DQ LQWULFDWH WDVN ZKLFK FDQQRW EH FDUULHG RXW HIILFLHQWO\ ZLWK DG KRF DSSURDFKHV 7KLV SURSRVDO DGGUHVVHV D ZLGH UDQJH RI UHODWHG SUREOHPV DQG SURYLGHV D ZHOOGHILQHG IRUPDOLVP DQG V\VWHPDWLF PHWKRGRORJ\ QHHGHG IRU WKLV SXUSRVH 7KH 2XWOLQH 7KLV GLVVHUWDWLRQ LV SULPDULO\ FRQFHUQHG ZLWK WKH PDQDJHPHQW RI FRPSXWHUDLGHG GHVLJQ GDWDEDVHV DQG DGGUHVVHV WKH IROORZLQJ LVVXHV 6XSSRUWLQJ WKH GDWD PRGHOLQJ UHTXLUHPHQWV RI D GHVLJQ GDWDEDVH WKURXJK D VHW RI IRUPDOO\ GHILQHG PRGHOLQJ FRQVWUXFWV

PAGE 10

'HYHORSLQJ DQ DEVWUDFWLRQ IRU FRPSRVLWH REMHFWV EDVHG RQ WKH FDWHJRUL]DWLRQ RI WKHLU DWWULEXWHV 3URSRVLQJ D PHFKDQLVP IRU WKH PDQDJHPHQW DQG FRQWURO RI YHUVLRQV IRU GHVLJQ GDWDEDVHV 0DLQWDLQLQJ D FRQVLVWHQW VHPDQWLFV RI VFKHPD DV WKH FRPSRVLWLRQ DQG JHQHUDOL]Dn WLRQ JUDSKV LQWHUDFW ZLWK HDFK RWKHU 3URSRVLQJ DQ HIILFLHQW VWUDWHJ\ IRU RUJDQL]LQJ DQG UHWULHYLQJ YHUVLRQHG FRPSRVLWH REMHFWV 3URSRVLQJ D FRRSHUDWLYH HQYLURQPHQW DQG GHVFULELQJ SURWRFROV IRU HIILFLHQWO\ PDQDJLQJ D FRPSOH[ GHVLJQ ZKLFK LV FROOHFWLYHO\ GHYHORSHG E\ D JURXS RI GHVLJQHUV ZRUNLQJ RQ GLIIHUHQW SURMHFWV 7KH UHPDLQGHU RI WKH GLVVHUWDWLRQ LV RUJDQL]HG DV IROORZV ,Q 6HFWLRQ WKH ZRUN UHODWHG WR WKLV UHVHDUFK LV UHYLHZHG 7KH IRUPDO WUHDWPHQW RI WKH SURSRVHG GDWD PRGHOLQJ FRQVWUXFWV DUH SUHVHQWHG LQ &KDSWHU ,Q &KDSWHU WKH DEVWUDFWLRQ GHYHORSHG IRU D FRPSOH[ GHVLJQ REMHFW LV GLVFXVVHG &KDSWHU GHDOV ZLWK WKH EDVLF PRGHOLQJ FRQVWUXFWV FRQVWUDLQWV DQG UXOHV IRU PDQDJLQJ YHUVLRQ FRQWURO 7KHQ LQ &KDSWHU WKH LQWHUDFWLRQ EHWZHHQ FRPSRVLWLRQ DQG JHQHUDOL]DWLRQ JUDSKV DUH LQYHVWLn JDWHG DQ DQDO\VLV RI DOJRULWKPV IRU PDLQWDLQLQJ FRQVLVWHQW VHPDQWLFV DQG TXHU\LQJ WKHVH FRQVWUXFWV DUH SUHVHQWHG IRU WKH FDVH ZKHQ WKH WUDQVLWLYH FORVXUH LV PDLQWDLQHG YLVDYLV DQG ZKHQ LWV G\QDPLFDOO\ FRPSXWHG $ FOXVWHULQJ VWRUDJH VWUDWHJ\ LV SUHVHQWHG IRU WKH HIILFLHQW RUJDQL]DWLRQ DQG UHWULHYDO RI YHUVLRQHG FRPSRVLWH REMHFWV LQ &KDSWHU ,Q &KDSWHU D FRRSHUDWLYH &$' DUFKLWHFWXUH LV SURSRVHG WR GHDO ZLWK D FROOHFWLYH GHVLJQ HIIRUW PDGH E\ D JURXS RI GHVLJQHUV ZRUNLQJ RQ GLIIHUHQW SURMHFWV $QG ILQDOO\ LQ &KDSWHU WKH PDLQ UHVXOWV RI WKLV ZRUN DUH VXPPDUL]HG DQG WKH GLUHFWLRQV IRU WKH IXWXUH UHVHDUFK LQ WKLV DUHD DUH LQGLFDWHG

PAGE 11

5HYLHZ RI 5HODWHG :RUN 0DQ\ UHFHQW LQYHVWLJDWRUV KDYH UHFRJQL]HG WKH QHHG RI GDWDEDVH WHFKQROn RJ\ LQ WKH &$' DSSOLFDWLRQV 7KH RUJDQL]DWLRQV XVLQJ FRPPHUFLDOO\ DYDLODEOH FRQn YHQWLRQDO GDWDEDVH PDQDJHPHQW V\VWHPV KDYH HQFRXQWHUHG GLIILFXOWLHV EHFDXVH FRQn YHQWLRQDO GDWDEDVHV GR QRW KDYH IHDWXUHV WR GHDO ZLWK XQVWUXFWXUHG GDWD DQG GLIIHUHQW YHUVLRQV RU DOWHUQDWLYHV RI D GHVLJQ ZKLFK DUH UHTXLUHG LQ &$' DSSOLFDWLRQV >*RW@ 7KHUH DUH HVVHQWLDOO\ WKUHH GLIIHUHQW VROXWLRQV WR WKHVH SUREOHPV ([WHQGLQJ WKH FRQYHQWLRQDO '%06 E\ DGGLQJ QHZ FDSDELOLWLHV %XLOGLQJ D OD\HU RI VRIWZDUH RQ WRS RI FRQYHQWLRQDO '%06V WR SURYLGH WKH UHTXLUHG IHDWXUHV 'HYHORSLQJ QHZ GDWDEDVH PDQDJHPHQW V\VWHPV IRU GHVLJQ DSSOLFDWLRQV ZKLFK LQYROYHV WKH GHYHORSPHQW RI D QHZ GDWD PRGHO QHZ DUFKLWHFWXUH VWRUDJH VWUDn WHJ\ DQG HQKDQFHG IDFLOLWLHV 6RPH RI WKH H[DPSOHV RI WKH ILUVW DSSURDFK ZHUH EDVHG RQ WKH HQKDQFHn PHQW RI H[LVWLQJ V\VWHPV /RUL >/RU@ GLVFXVVHV WKH H[WHQVLRQV RI V\VWHP 5 DQG 6WRQHEUDNHU HW DO >6WR@ UHSRUW RQ WKH HQKDQFHPHQWV RI ,1*5(6 7KLV DSSURDFK UHTXLUHV WRR H[WHQVLYH DQ HQKDQFHPHQW WR PDNH LW IHDVLEOH 6RPH UHVHDUFKHUV SURYLGH H[DPSOHV RI WKH VHFRQG DSSURDFK ZKLFK KDV VRPH GUDZEDFNV >-RK (PR@ 7KH FRQYHQWLRQDO '%06fV SHUIRUP SRRUO\ LQ GHVLJQ DSSOLFDWLRQV DV WKH\ UHTXLUH DQRWKHU OHYHO RI WUDQVIRUPDWLRQV IRU UHWULHYDO DQG PDQLSXODWLRQ RI GDWD 7KH H[WHQVLRQV RU PRGLILFDWLRQ RI JOREDO VFKHPD UHTXLUHV PDMRU FKDQJHV WR WKH V\VWHP 7KH WKLUG DSSURDFK DOVR DGYRFDWHV WKLV ZLWK VHYHUDO HQKDQFHPHQWV >.DW .OD .LP@

PAGE 12

7UHDWPHQW RI &RPSOH[ 2EMHFW DQG ([WHQVLRQ RI '%06V 6HYHUDO LQYHVWLJDWRUV KDYH REVHUYHG WKH LPSRUWDQFH RI WKH FRQFHSW RI FRPSRVLWH REMHFWV LQ &$' GDWDEDVHV DQG WKH GHILFLHQFLHV RI FXUUHQW GDWDEDVHV LQ VXSn SRUWLQJ WKHP %DWRU\ DQG %XFKPDQQ >%DW@ FDOO FRPSRVLWH REMHFWV PROHFXODU REMHFWV DQG GHYHORS D IUDPHZRUN IRU PRGHOLQJ WKHVH REMHFWV 7KH\ LQWURGXFH WKH QRWLRQ RI PROHFXODU DJJUHJDWLRQ ZKLFK LV WKH DEVWUDFWLRQ RI DVVHPEOLHV RI SDUWV DQG WKHLU UHODWLRQVKLSV WR KLJKHU OHYHO HQWLWLHV 7KH\ GLVWLQJXLVK IRXU GLIIHUHQW W\SHV RI PROHFXODU REMHFWV DQG SURYLGH PHWKRGV WR PRGHO REMHFWV RI HDFK W\SH 7KH\ GR QRW DGGUHVV WKH SK\VLFDO RUJDQL]DWLRQ RI WKH GDWDEDVH IRU PROHFXODU REMHFWV /RULH DQG 3ORXIIH >/RU@ GLVFXVV DQ LPSOHPHQWDWLRQ IRU REMHFWV ZKLFK WKH\ FDOO FRPSOH[ REMHFWV 7KHLU FHQWUDO LGHD LV WR XVH LQWHUQDO ILHOGV LQ RUGHU WR PDNH WKH V\VWHP DZDUH RI WKH KLHUDUFKLFDO VWUXFWXUH RI REMHFWV ZKLFK DOORZV WKH V\Vn WHP WR RSHUDWH RQ D FROOHFWLRQ RI WXSOHV WKDW UHSUHVHQWV D FRPSRVLWH REMHFW DV D XQLW 7KLV LGHD KDV EHHQ H[WHQGHG E\ 0HLHU DQG /RULH WKURXJK WKH FRQFHSWV RI VXUURJDWHV DQG LPSOLFLW KLHUDUFKLFDO MRLQV >0HL@ 7KH LPSOHPHQWDWLRQ VXJJHVWHG LQ WKLV ZRUN VLPSOLILHV VRPH LPSRUWDQW RSHUDWLRQV WKDW DUH SHUIRUPHG RQ D FRPSRVLWH REMHFW DV D ZKROH $V D PDWWHU RI IDFW LQ WKHLU VFKHPH WKH ZKROH GHVLJQ GDWDEDVH LV DERXW RQH REMHFW EXW GHVLJQHUV PDQLSXODWH RQO\ WKH SRUWLRQV RI WKH GHVLJQ REMHFW DW HDFK VWDJH RI GHVLJQ WKHUHIRUH RQO\ VRPH RI WKH GDWD WKDW GHVFULEHV WKH GHVLJQ QHHGV WR EH DFFHVVHG :LHGHUKROG HW DO DGGUHVV WKH SUREOHP RI FRPPXQLFDWLRQ ZLWKLQ D 9/6, GHVLJQ DQG LWV GLIIHUHQW UHSUHVHQWDWLRQV DQG KLHUDUFKLFDO OHYHOV LQ D PXOWLSOH GHVLJQHU HQYLURQPHQW XVLQJ FRPPHUFLDO GDWDEDVH V\VWHPV >:LH@ 7KH\ GHVFULEH VRPH LQLWLDO UHVXOWV RI DQ RQJRLQJ SURMHFW -RKQVRQ DQG 6FKZHLW]HU SURYLGH IDFLOLWLHV WR WUHDW FRPSRVLWH REMHFWV DV VLQJOH HQWLWLHV WKDW WKH\ FDOO VWUXFWXUH >-RK@ 7KH\ SURSRVH D WKUHHOHYHO PRGHOLQJ

PAGE 13

DSSURDFK 7KH LQWHUQDO OHYHO LV EDVHG RQ WKH QHWZRUN GDWD PRGHO 7KH PDSSLQJ IURP ORJLFDO OHYHO WR LQWHUYDO OHYHO LV GHILQHG E\ GDWDEDVH GHVLJQHUV 7KH PDSSLQJ IURP WKH LQWHUQDO OHYHO WR WKH SK\VLFDO OHYHO LV SURYLGHG E\ WKH V\VWHP (PRQG DQG 0HUHFKDO XVH WKH (5 DSSURDFK WR PRGHO FRPSRVLWH REMHFW DW WKH ORJLFDO OHYHO >(PR@ 7KHVH PRGHOV DUH WKHQ WUDQVODWHG E\ WKH GHVLJQHU LQWR D UHODWLRQDO GDWDEDVH ,Q WKLV ZRUN LQIRUPDWLRQ LV GLYLGHG LQWR EORFNV FDOOHG YLHZ HGLWLRQV ZKLFK DUH WKH XQLWV RI VWRUDJH UHWULHYDO DQG XSGDWH RSHUDWLRQV 6WRQHEUDNHU HW DO LQWURGXFH XVHUGHILQHG $'7fV $EVWUDFW 'DWD 7\SHVf DQG $'7 LQGLFHV WR UHODWLRQDO '%06 ,1*5(6 IRU VXSSRUWLQJ UHSUHVHQWDWLRQ DQG UHWULHYDO RI FRPSRVLWH REMHFWV >6WR@ 7KH XVH RI $'7 VLPSOLILHV WKH GHILQLWLRQ DQG ORJLFDO PDQLSXODWLRQ RI FRPSRVLWH REMHFWV E\ DOORZLQJ XVHU GHILQHG GDWD W\SHV DQG RSHUDWLRQV RQ WKHVH W\SHV 6X HW DO SURSRVH DQ REMHFWRULHQWHG VHPDQWLF DVVRFLDWLRQ PRGHO FDOOHG 26$0r >6X@ 26$0r KDV SRZHUIXO H[SUHVVLYH FDSDELOLWLHV DV LW VXSSRUWV FRQVWUXFn WRUV LQ QHVWHG DQG UHFXUVLYH IDVKLRQV WR UHSUHVHQW FRPSOH[ DQG FRPSRVLWH REMHFWV %DWRU\ DQG .LP SURSRVH PRGHOLQJ FRQFHSWV IRU 9/6, REMHFWV >%DW@ 7KH\ XVH HQWLW\UHODWLRQVKLS GLDJUDP WR UHSUHVHQW WKHVH REMHFWV ZKLFK KDV LQWHUIDFH GHVFULSWLRQV DQG LPSOHPHQWDWLRQ GHVFULSWLRQV $ PROHFXODU REMHFW LV FUHDWHG E\ LQWHJUDWLQJ WKHVH WZR VHWV RI KHWHURJHQHRXV UHFRUGV 7KH\ DOVR SURSRVH D QRWLRQ RI LQVWDQWLDWLRQ ZKLFK DUH HVVHQWLDOO\ FRSLHV RI RWKHU REMHFWV DV WKH\ VKDUH WKH VDPH IHDWXUHV DQG DUH QHHGHG DV FRQVWLWXHQWV RI RWKHU REMHFWV 7KH PRGHOLQJ IUDPHZRUN SURYLGHG LQ WKLV ZRUN LV YHU\ XVHIXO LQ UHSUHVHQWLQJ FRPSRVLWH REMHFWV DQG WKHLU YHUn VLRQV KRZHYHU LW GRHV QRW SURYLGH H[SOLFLW VXSSRUW IRU WKH DJJUHJDWLRQ KLHUDUFK\ .LP HW DO GLVFXVV WKH IDFLOLWLHV IRU WKH FRPSRVLWH REMHFWV LQ 25,21 GDWD PRGHO E\ LQWURGXFLQJ LVSDUWRI UHODWLRQVKLS EHWZHHQ REMHFWV >.LP@ &RPSRVLWH REMHFWV LQ 25,21 DUH VLPSO\ DQ DJJUHJDWLRQ KLHUDUFK\ ZLWK VRPH QRWLRQV RI LQWHJULW\ DQG H[LVWHQFH GHSHQGHQFLHV 7KH\ DOVR SUHVHQW VRPH PHFKDQLVPV IRU HQKDQFLQJ WKH

PAGE 14

SHUIRUPDQFH RI RSHUDWLRQDO GDWDEDVH V\VWHPV E\ XVLQJ LGHDV RI FOXVWHULQJ DQG REMHFWV DV WKH XQLW RI ORFNLQJ 9HUVLRQ 0DQDJHPHQW 7KH GHILFLHQFLHV RI FXUUHQW '%06fV ZLWK UHVSHFW WR WKH PDQDJHPHQW RI UHILQHPHQWV DOWHUQDWLYHV DQG YHUVLRQV RI GHVLJQV KDYH EHHQ UHFRJQL]HG DQG GLVFXVVHG LQ WKH OLWHUDWXUH H[WHQVLYHO\ 0RVW RI WKH SURSRVHG VROXWLRQV FODLP WR EH REMHFW RULHQWHG 5HILQHPHQWV RI D GHVLJQ DUH UHSUHVHQWHG DV YHUVLRQV RI GHVLJQ ILOHV E\ WKH VXEV\VWHP FDOOHG WKH GDWDPDQDJHU >%HQ@ 7KH GDWDPDQDJHU PDQDJHV WKH HYROXn WLRQ RI GLIIHUHQW YHUVLRQV RI WKH ILOH WKURXJK WLPH $ JURXS RI ILOHV FDQ EH UHODWHG LQ FRQWHQW 7KH QDWXUH RI UHODWLRQV DUH XVHU GHILQHG DQG DSSOLFDWLRQ GHSHQGHQW )RU LQVWDQFH WZR UHODWHG ILOHV PD\ FRQWDLQ D GHVFULSWLRQ RI WKH WZR DVSHFWV RI WKH VDPH REMHFW RQH ILOH PD\ DOVR GHVFULEH WKH FRPSRQHQW RI WKH REMHFW UHSUHVHQWHG E\ RWKHU ILOH (DVWPDQ XVHV WKH QRWLRQ RI D FKHFNSRLQW ILOH WR VXSSRUW UHILQHPHQWV >(DV@ &KHFNSRLQW ILOHV DUH WHPSRUDU\ ILOHV LQWR ZKLFK D VHW RI GDWDEDVH XSGDWHV DUH VWRUHG (DFK FKHFNSRLQW ILOH FDOOHG DQ DOWHUQDWLYH LV D UHILQHPHQW RI WKH GHVLJQ 0XOWLSOH DOWHUQDWLYHV PD\ EH FUHDWHG VWDUWLQJ IURP WKH LQLWLDO GHVLJQ FRQGLWLRQV $OWHUQDWLYHV PD\ EUDQFK IURP RWKHU DOWHUQDWLYHV DQG WKXV FUHDWH D WUHH .DW] SURSRVHV D VHW RI DOWHUQDWLYHV REMHFWV ZKLFK DUH WKHPVHOYHV JURXSn LQJV RI YHUVLRQV >.DW@ $OWHUQDWLYHV KDYH WKH VDPH EHKDYLRU EXW KDYH GLIIHULQJ SHUn IRUPDQFH FKDUDFWHULVWLFV 9HUVLRQV DUH LPSURYHPHQWV RU FRUUHFWLRQV DSSOLHG WR GHVLJQ REMHFWV 5HSUHVHQWDWLRQV KDYH KLHUDUFKLFDO VWUXFWXUH UHSUHVHQWHG DV D GLUHFWHG DF\FOLF JUDSK 7KH OHDYHV RI WKLV KLHUDUFK\ DUH SULPLWLYH REMHFWV ZKLOH LQWHUQDO QRGHV DUH FRPSOH[ REMHFWV 2EMHFWV DUH LPSOHPHQWHG DV ILOHV H[WHQGHG ZLWK LQIRUPDWLRQ ZKLFK GHVFULEHV WKH GHVLJQ GDWD VWUXFWXUHV 7KH VXEV\VWHP UHVSRQVLEOH IRU WKH PDQDJHPHQW RI YHUVLRQV LV FDOOHG nOLEUDU\ >5RE@ $V LQ RWKHU SURSRVDOV D GDWDEDVH REMHFW LV D

PAGE 15

FROOHFWLRQ RI GDWD SHUWDLQLQJ WR D GHVLJQ REMHFW $Q REMHFW PD\ KDYH VHYHUDO YHUVLRQV ZKLFK DUH RI WZR W\SHV LQSURFHVV YHUVLRQV ZKLFK DUH PXWDEOH REMHFWV DQG UHOHDVHG REMHFWV ZKLFK DUH LPPXWDEOH REMHFWV 0F/HRG DQG 5DR SURSRVH D VFKHPH ZnKHUH ERWK UHILQHPHQWV DQG DOWHUQDn WLYHV DUH FDOOHG UHYLVLRQV >0F/@ 7KLV SURSRVDO XVHV 7LFKfV $1'25 JUDSK PRGHO WR DEVWUDFW WKH VWDWH RI D V\VWHP DW DQ DUELWUDU\ VWDJH RI LWV GHVLJQ 5HSUHVHQWDWLRQV DUH FRQVLGHUHG D NLQG RI YHUVLRQV ZKLFK DUH HTXLYDOHQW REMHFWV GHVFULELQJ WKH VDPH REMHFWV 7KLV VFKHPH UHTXLUHV YHUVLRQV WR KDYH WKH VDPH H[WHUQDO LQWHUIDFH 6RPH LQYHVWLJDWRUV KDYH HPSKDVL]HG WKH PXOWLDVSHFW FKDUDFWHULVWLFV RI GHVLJQ REMHFWV >1HX@ 'DWDEDVH REMHFWV GHVFULELQJ DVSHFWV RI UHDO ZRUOG REMHFWV DUH FDOOHG UHSUHVHQWDWLRQV 6RPH UHSUHVHQWDWLRQV DUH GHULYHG IURP RWKHUV $ GHULYDWLRQJUDSK JLYHV W\SH OHYHO LQIRUPDWLRQ DERXW ZKLFK UHSUHVHQWDWLRQ LV GHULYHG IURP ZKLFK 9HUVLRQV DUH GLIIHUHQW GHVFULSWLRQV RI WKH REMHFW 6LQFH UHSUHVHQWDWLRQV FDQ KDYH VHYHUDO YHUVLRQV WKHUH LV DOVR D YHUVLRQ JUDSK .DW] HW DO GHDO ZLWK WKUHH DVSHFWV RI GHVLJQ YHUVLRQ KLVWRULHV FRQILJXUDWLRQV DQG HTXLYDOHQFH DPRQJ REMHFWV RI GLIIHUHQW W\SHV >.DW@ ,Q WKLV SURn SRVHG GHVLJQ GHVFULSWLRQV PD\ H[LVW DFURVV UHSUHVHQWDWLRQV 6RPH YDOLGDWLRQ WRROV DUH GLVFXVVHG WKDW SURYLGH FRQVLVWHQF\ DPRQJ GLIIHUHQW UHSUHVHQWDWLRQV /DQGLV GLVFXVVHV VRPH LPSRUWDQW FRQFHSWV RI YHUVLRQLQJ DQG SURSDJDWLRQ RI FKDQJHV >/DQ@ &KDQJHV LQ WKLV VFKHPH FDQ EH JURXSHG WRJHWKHU WKDW FDQ SRVWn SRQH DXWRPDWLF JHQHUDWLRQ RI YHUVLRQV 7KLV ZRUN DOVR SURSRVHV D YHUVLRQ JUDSK WKDW FDQ KDYH PXOWLSOH VXFFHVVRUV DQG SUHGHFHVVRUV WZR YHUVLRQV FDQ DOVR EH PHUJHG LQWR RQH DOWKRXJK QR GHILQLWLRQ RI PHUJLQJ LV JLYHQ %HHFK DQG 0DKERG >%HH@ GHVFULEH WKH YHUVLRQ FRQWURO IDFLOLW\ LQFRUn SRUDWHG LQ ,ULV >)LV@ DQ REMHFWRULHQWHG GDWDEDVH PDQDJHPHQW V\VWHP 7KH PDLQ IHDWXUHV RI WKLV VFKHPH LV WKH WUHDWPHQW RI JHQHULF DQG YHUVLRQHG LQVWDQFHV RI REMHFWV IDFLOLWLHV IRU H[SOLFLW UHIHUHQFHV DQG LPSOLFLW FRHUFLRQ RI UHIHUHQFHV DQG SURSDJDWLRQ RI

PAGE 16

YHUVLRQ FUHDWLRQ DQG WKH XVH RI FRQWH[WV WR DFKLHYH ILQH FRQWURO LQ D GHFODUDWLYH ZD\ 7KLV SDSHU PDNHV D VLJQLILFDQW FRQWULEXWLRQ LQ WKLV DUHD 1DYDWKH DQG $KPHG GLVFXVV WKH WHPSRUDO VHPDQWLFV RI YHUVLRQ PDQDJHn PHQW >1DY@ 7KH\ LQYHVWLJDWH ZKHWKHU WKH ZRUN RQ WHPSRUDO PRGHOLQJ EHDUV DQ\ UHODWLRQVKLS ZLWK YHUVLRQ FRQWURO WKH UHVXOW RI WKHLU ZRUN VXJJHVWV WKDW YHUVLRQ PDQDJHPHQW WKRXJK LQ QHHG RI WHPSRUDO LQIRUPDWLRQ KDV VLJQLILFDQWO\ GLIIHUHQW UHTXLUHPHQWV WKDQ WKDW RI WHPSRUDO GDWDEDVHV %XFKPDQQ DQG &HOLV GLVFXVV DQ DUFKLWHFWXUH IRU SURFHVVSODQW &$' V\Vn WHP WR VHUYH DV D IUDPHZRUN IRU WKH SUHVHQWDWLRQ RI D GDWD PRGHO EDVHG RQ WKH QRWLRQ RI PROHFXODU DJJUHJDWLRQ >%XF@ 7KH\ DOVR VXJJHVW PHFKDQLVP IRU FRQn VWUDLQW KDQGOLQJ &KRX DQG .LP SUHVHQW D PRGHO WKDW DWWHPSWV WR LQFRUSRUDWH WKH GLVWULn EXWHG QDWXUH RI &$' HQYLURQPHQW DQG WKH FRPSOH[ FRQILJXUDWLRQV RI &$' REMHFWV >&KR@ 7KH SURSRVHG GLVWULEXWHG DUFKLWHFWXUH KDV D JOREDO GDWDEDVH WKDW LV KLHUDUFKLFDOO\ SDUWLRQHG LQWR WKUHH GLIIHUHQW W\SHV RI GDWDEDVHV WKLV SDUWLWLRQHG GDWDn EDVH LQWHUDFWV ZLWK WKUHH FODVVHV RI YHUVLRQV WKDW KDYH GLIIHUHQW FDSDELOLWLHV DQG FKDUDFWHULVWLFV LQ GLIIHUHQW GDWDEDVHV 7UDQVLWLYH &ORVXUH &RPSXWDWLRQ ,Q &KDSWHU ZH SURSRVH PDLQWHQDQFH DQG SUHFRPSXWDWLRQ RI WUDQVLWLYH FORVXUH RI W\SH DQG FRPSRVLWLRQ JUDSKV IRU WKHLU HIILFLHQW SURFHVVLQJ 7KH FRPSXWDWLRQ RI WUDQVLWLYH UHODWLRQVKLS KDV EHHQ UHFRJQL]HG DV D VXIILFLHQWO\ XVHIXO RSHUDWLRQ IRU LW WR KDYH EHHQ LQFOXGHG LQ D YDULHW\ RI TXHU\ ODQJXDJHV ,RDQQLGLV DQG 5DPDNULVKQDQ SUHVHQW VRPH HIILFLHQW DOJRULWKPV IRU FRPn SXWLQJ WKH WUDQVLWLYH FORVXUH RI D GLUHFWHG JUDSK >,RD@ 7KH\ DGGUHVV LW DV D SUREn OHP RI UHDFKDELOLW\ 7KH\ DOVR SURYLGH DQ H[FHOOHQW FRPSDUDWLYH DQDO\VLV RI SXEOLVKHG DOJRULWKPV LQ OLWHUDWXUH

PAGE 17

6FKXEHUW HW DO SURSRVHG D WHFKQLTXH IRU HQFRGLQJ UHDFKDELOLW\ LQIRUPDn WLRQ ZKHUHLQ DQ LQWHUYDO FRQVLVWLQJ RI WKH SUHRUGHU QXPEHU RI WKH QRGH DQG WKH KLJKHVW SUHRUGHU QXPEHU DPRQJ LWV GHVFHQGHQWV LV DVVRFLDWHG ZLWK D QRGH >6FK@ 7KH\ DOVR JHQHUDOL]H WKHLU VFKHPH WR ZRUN IRU RYHUODSSLQJ KLHUDUFKLHV $ WUDQVLWLYH FORVXUH WHFKQLTXH EDVHG RQ FKDLQ GHFRPSRVLWLRQ RI JUDSKV LV SURSRVHG E\ -DJDGLVK >-DJ@ ,Q WKLV VFKHPH HDFK QRGH LV LQGH[HG ZLWK D FKDLQ QXPEHU DQG LWV VHTXHQFH QXPEHU LQ WKH FKDLQ $W HDFK QRGH RQO\ WKH HDUOLHVW QRGH LQ WKH FKDLQ ZGLLFK FDQ EH UHDFKHG IURP LW QHHGV WR EH VWRUHG 7KH QRGHV WKDW DUH UHDFKDEOH LQ WKLV FKDLQ FDQ EH GHGXFHG IURP WKLV $JUDZDO HW DO SUHVHQW WUDQVLWLYH FORVXUH FRPSUHVVLRQ WHFKQLTXH EDVHG RQ ODEHOLQJ VSDQQLQJ WUHHV ZLWK QXPHULF LQWHUYDOV >$JU@ 7KH\ DOVR SURYLGH DQDO\WLFDO DQG HPSLULFDO HYLGHQFHV RI LWV HIILFLHQF\ GHPRQVWUDWHG E\ D ZLGH UDQJH RI VLPXODWLRQ H[SHULPHQWV DQG SHUIRUPDQFH HYDOXDWLRQ 6WRUDJH 6WUDWHJLHV 6FKNROQLFN GLVFXVVHV WKH SUREOHP RI VWRULQJ KLHUDUFKLF VWUXFWXUH LQ RUGHU WR PLQLPL]H WKH H[SHFWHG DFFHVV WLPH >6FK@ ,Q LW DQ DOJRULWKP LV SUHVHQWHG WKDW FDQ GHWHUPLQH WKH RSWLPDO SDUWLWLRQ RI DQ ,06 W\SH WUHH LQWR GDWD VHW JURXSV 7KH OLPLWDWLRQ RI WKLV ZRUN LV WKDW WKH LQVWDQFHV RI WKH JLYHQ WUHH DUH DVVXPHG WR EH UHJXn ODU ZLWK VDPH IDQRXW DQG WKDW WKH SDUWLWLRQV DUH VWRUHG FRPSOHWHO\ LQGHSHQGHQW RI RQH DQRWKHU &DUH\ HW DO GHVFULEH WKH ILOH PDQDJHPHQW V\VWHP RI WKH (;2'86 H[WHQn VLEOH GDWDEDVH V\VWHP >&DU@ 7KH EDVLF DEVWUDFWLRQ LQ WKLV V\VWHP LV WKH VWRUDJH REMHFW DQ XQLQWHUSUHWHG YDULDEOHOHQJWK UHFRUG RI DUELWUDU\ VL]H 7KH PDQDJHPHQW RI ODUJH G\QDPLF REMHFW ZKLFK FDQ RFFXS\ PDQ\ GLVN SDJHV DQG FDQ JURZ DQG VKULQN LV VXSSRUWHG 7KH REMHFW LV UHSUHVHQWHG RQ GLVN DV % WUHH LQGH[ RQ E\WH SRVLWLRQ ZLWKLQ WKH REMHFW SOXV D FROOHFWLRQ RI OHDI EORFNV FRQWDLQLQJ GDWD $V REMHFWV DUH

PAGE 18

SULPDULO\ WUHDWHG DV D VHTXHQFH RI E\WHV WKLV WHFKQLTXH GRHV QRW DSSHDU WR EH VXLWDEOH IRU VWRULQJ KLJKO\ VWUXFWXUHG FRPSRVLWH DQG FRQVWLWXHQW REMHFWV .HWDEFKL DQG %HU]LQV LQWURGXFH D FOXVWHULQJ FRQFHSWV FDOOHG FRPSRQHQW DJJUHJDWLRQ ZKLFK FRQVLGHUV DVVHPEOLHV KDYLQJ WKH VDPH W\SH RI SDUWV DV HTXLYDOHQW REMHFWV >.HWE@ 7KH\ GHYHORS D PDWKHPDWLFDO PRGHO ZKLFK WUHDWV HTXLYDOHQFH FODVVHV DV D IRUP RI %RROHDQ DOJHEUD +RZHYHU WKH WHFKQLTXH SURSRVHG LQ WKLV ZRUN GRHV QRW JURXS REMHFWV LQ XVHIXO DQG PHDQLQJIXO SDUWLWLRQV LQVHUWLRQ DQG GHOHWLRQ DOJRULWKPV DUH QRW GLVFXVVHG +DUGHU HW DO GHVFULEH WKH 0ROHFXOH$WRP GDWD PRGHO DLPHG DW WKH VXSn SRUW RI HQJLQHHULQJ DSSOLFDWLRQV >+DU@ 7KHLU GDWDEDVH NHUQHO SURYLGHV D YDULHW\ RI DFFHVV SDWK VWUXFWXUH WXQLQJ PHFKDQLVP VRUW RUGHU DQG VRPH UXGLPHQWDU\ QRWLRQV RI DWRP FOXVWHULQJ ZLWK YDULDEOH VL]H SDJHV DQG VWRUDJH UHGXQGDQF\ $OPRVW DOO UHSRUWHG ZRUN WKDW LV JHUPDQH WR SUHVHQW LQYHVWLJDWLRQ KDV EHHQ UHYLHZHG KHUH 7KH SRLQW WKDW HPHUJHV IURP WKH IRUHJRLQJ GLVFXVVLRQ LV WKDW WKHUH LV D FOHDU ODFN RI FRKHVLRQ DPRQJ GLIIHUHQW VFKHPHV DQG WKDW VRPH PHWKRGRORn JLHV KDYH EHHQ SURSRVHG ZLWKRXW D FRQFUHWH XQGHUO\LQJ GDWD PRGHO 7KLV GLVVHUWDWLRQ DGGUHVVHV DOO DVSHFWV RI WKLV SUREOHP DQG SURYLGHV IHDVLEOH VROXWLRQV ZLWKLQ DQ XQGHUn O\LQJ GDWD PRGHO

PAGE 19

&+$37(5 02'(/,1* &216758&76 )25 '(6,*1 '$7$%$6(6 ,Q WKLV FKDSWHU ZH IRUPDOO\ GHILQH PRGHOLQJ FRQVWUXFWV IRU GHVLJQ GDWDn EDVHV 7KHVH FRQVWUXFWV DUH HVVHQWLDOO\ EDVHG RQ LGHDV SUHVHQWHG LQ H[LVWLQJ IXQFn WLRQDO VHPDQWLF DQG REMHFWRULHQWHG GDWD PRGHOV ,Q GHILQLQJ WKHVH FRQVWUXFWV ZH KDYH EHHQ SDUWLFXODUO\ LQIOXHQFHG E\ ,ULV DQ REMHFWRULHQWHG GDWDEDVH PDQDJHPHQW V\VWHP >)LV@ 7KH GLVFXVVLRQ RI WKHVH FRQVWUXFWV LV QHFHVVDU\ DV WKH\ DUH XVHG IRU LOOXVWUDWLQJ DQG IRUPDOL]LQJ WKH FRQFHSWV GHYHORSHG LQ WKLV GLVVHUWDWLRQ IRU WKH PDQDJHPHQW RI GHVLJQ GDWDEDVHV 7KH XQLYHUVH RI GLVFRXUVH LV YLHZHG DV D FROOHFWLRQ RI REMHFWV 7KHVH REMHFWV DUH D FRQYHQLHQW DJJUHJDWLRQ RI LQIRUPDWLRQ GHVFULELQJ UHDO ZRUOG FRQFHSWV 7\SHV KRPRJHQHRXV VHWV IXQFWLRQV XVHUGHILQHG LQVWDQFH REMHFWV DQG OLWHUDOV WR EH GHILQHG VKRUWO\f DUH DOVR REMHFWV $Q\ GDWDEDVH FRQFHSWXDOO\ FRQWDLQV D QXPEHU RI V\VWHP REMHFWV ZKLFK PDNHV LW SRVVLEOH WR GHILQH FRQVWUXFW DQG PDQLSXODWH XVHU GHILQHG REMHFWV 2EMHFWV RI VLPLODU EHKDYLRU DUH JURXSHG WRJHWKHU DQG DUH VDLG WR KDYH WKH VDPH W\SH 2EMHFWV DUH LQVWDQFHV RI RQH RU PRUH W\SHV (YHU\ W\SH LV D VXEW\SH RI RQH RU PRUH RWKHU W\SHV H[FHSW WKH V\VWHPGHILQHG REMHFW WKH XQLYHUVH RI GLVFRXUVH 8 $Q LQVWDQFH RI DQ\ W\SH LV DOVR DQ LQVWDQFH RI DOO LWV VXSHUW\SHV DQG WKXV LQKHULWV D VXEVHW RI WKH RSHUDWLRQV IXQFWLRQV DQG UXOHV RI LWV VXSHUW\SHV $ KRPRJHQHRXV VHW LV DQ DEVWUDFWLRQ IRU D VHW RI REMHFWV RI WKH VDPH W\SH LH LW LV D FROOHFWLRQ RI HLWKHU W\SH IXQFWLRQ XVHUGHILQHG LQVWDQFH REMHFWV KRPRJHQHRXV VHW RU OLWHUDO REMHFWV

PAGE 20

7KH %DVLF &RQVWUXFWV 'HILQLWLRQ /HW WKH XQLYHUVH RI GLVFRXUVH 8 EH D FROOHFWLRQ RI REMHFWV /HW WKH V\VWHPGHILQHG W\SH REMHFWV 7 ) 82 / DQG +6 ZKLFK DUH VXE W\SHV RI 8 EH LQILQLWH VHWV RI W\SHV IXQFWLRQV XVHUGHILQHG LQVWDQFH REMHFWV OLWHUDOV DQG KRPRJHQHRXV VHWV UHVSHFWLYHO\ VXFK WKDW 7 ) 82 / DQG +6 IRUP D SDUWLWLRQ RI 8 7KXV HDFK REMHFW R LQ WKH XQLYHUVH RI GLVFRXUVH FDQ EH LGHQWLILHG DV RQH RI WKH IROORZLQJ D W\SH REMHFW D IXQFWLRQ REMHFW DQ LQVWDQFH REMHFW D OLWHUDO REMHFW RU D KRPRJHQHRXV VHW 7KH VXEW\SHV RI 7 DUH 7V DQG 7\ $OO XVHUGHILQHG W\SHV DUH PHPEHUV RI 7MM $OO V\VWHPGHILQHG W\SHV WKDW LQFOXGH 8 7 ) +6 / 82 7Y DQG 7V LWVHOI DUH PHPEHUV RI WKH GRPDLQ RI 7J %RROHDQ UHDO LQWHJHUV DQG FKDUVWULQJ HWF DUH OLWHUDOV 7KH OLWHUDO REMHFWV DUH DOZD\V DYDLODEOH UHSOLFDEOH DQG VHOIUHSUHVHQWLQJ ,Q WKH IROORZLQJ GHILQLWLRQV ZH VKDOO XVH WKH QRWDWLRQV DQG IRU LV D VXEW\SH RI DQG LV D VXSHUW\SH RI UHVSHFWLYHO\ 7KH V\PEROV f§r‘ VWDQG IRU ORJLFDO LPSOLFDWLRQ IXQFWLRQDO PDSSLQJ DQG DVVLJQPHQW UHVSHFWLYHO\ 'HILQLWLRQ )RU HDFK W\SH W WKH GRPDLQ RI W LV UHSUHVHQWHG E\ GRPWf ZKLFK LV JLYHQ E\ WKH VHW RI DOO REMHFWV WKDW DUH RI W\SH W )RU QRWDWLRQDO FRQYHQLHQFH ZH VKDOO XVH W XQLWDOLFL]HGf IRU WKH GRPDLQ GRPWf RI W\SH W LWDOLFL]HGf LQWHUFKDQJHDEO\ 'HILQLWLRQ )RU HDFK W\SH W ( 7 WKHUH H[LVWV D V\VWHPGHILQHG XQDU\ SUHGLFDWH WKDW KDV WKH VDPH QDPH DV WKH DVVRFLDWHG W\SH 7KLV SUHGLFDWH LV D PDSSLQJ IURP REMHFWV LQ 8 WR %RROHDQ YDOXHV WUXH DQG IDOVH 9 W ( GRP7f W 8 f§r‘ %RROHDQ 9 R ( GRP8f WRf !‘ R ( GRQLWf

PAGE 21

7KDW LV HYHU\ W\SH QDPH LV DOVR XVHG DV D SUHGLFDWH IXQFWLRQ LQ RUGHU WR GHWHUPLQH ZKHWKHU WKH JLYHQ REMHFW LV RI WKDW W\SH 82 FRQWDLQV DOO WKH XVHUGHILQHG REMHFW LQVWDQFHV RI XVHUGHILQHG W\SHV 7/M $OO OLWHUDOV DUH VXEW\SHV RI / ZKHUHDV DOO XVHUGHILQHG W\SHV LH LQVWDQFHV RI 7\f DUH VXEW\SHV RI 82 ZKLFK IRUPV WKH URRW RI JHQHUDOL]DWLRQ JUDSK 'HILQLWLRQ f )LJXUH VKRZV WKLV VXEW\SHVXSHUW\SH UHODWLRQVKLS 7KHUHIRUH DOO LQVWDQFHV RI XVHUGHILQHG W\SHV DUH PHPEHUV RI 2 DV ZHOO DV RI RQH RU PRUH XVHUGHILQHG W\SHV 6RPH PHPEHUV RI 82 PD\ DOVR EH LQVWDQFHV RI VRPH V\VWHPGHILQHG W\SHV 7 6n 9 W GRP82f W e GRPL7\f ? W 82 $ WLf WUXH 7KH RWKHU HVVHQWLDO FRQFHSW LV WKDW RI D IXQFWLRQ )XQFWLRQV DUH QDPHG REMHFWV WKDW WDNH RQH RU PRUH DUJXPHQWV DQG UHWXUQ UHVXOWV $ IXQFWLRQ PD\ EH VLQJOH XQLTXH RU PXOWLYDOXHG DQG HDFK RI LWV UHVXOW PD\ EH D WXSOH RI YDOXHV 7KHVH IXQFWLRQV DUH QRW VWULFW PDWKHPDWLFDO IXQFWLRQV VLQFH WKH\ DUH QRW QHFHVVDULO\ VLQJOHYDOXHG +RZHYHU WKH\ FDQ EH XVHG WR PRGHO PDWKHPDWLFDO IXQFWLRQV E\ GHFODULQJ WKHP WR EH VLQJOHYDOXHG 'HILQLWLRQ $ IXQFWLRQ LV D PDSSLQJ IURP GRPDLQV RI RQH RU PRUH W\SHV WR WKH GRPDLQ RI D ILVW RI W\SHV $ IXQFWLRQ e ) LV JLYHQ E\ L  n n } ALL ‘ f ‘ ! I W e‘ e_ WQ e GRP7f DQG DUH QRW QHFHVVDULO\ GLVWLQFW 7KDW LV D IXQFWLRQ LV D VLQJOH RU PXOWLYDOXHG PDSSLQJ IURP D VHW RI REMHFWV WR DQRWKHU VHW RI REMHFWV )RU QRWDWLRQDO FRQYHQLHQFH WKH V\PEROV DQG DUH GURSSHG IURP WKH QSODFH WXSOH LI Q LV )XQFWLRQV FDQ EH QHVWHG WR DQ\ GHSWK DQG FDQ EH GHILQHG LQ WHUPV RI RWKHU IXQFWLRQVf 7KH\ DUH D SRZHUIXO PHDQV WKDW LV XVHG WR PRGHO SURSHUWLHV

PAGE 22

DWWULEXWHVf RI REMHFWV DQG WKHLU QDU\ UHODWLRQVKLSV 7KH VHW RI IXQFWLRQV GHILQHG RQ D W\SH GHVFULEHV WKH EHKDYLRU RI REMHFWV WKDW DUH LQVWDQFHV RI WKDW W\SH 6LQFH IXQFWLRQV DUH GHILQHG RQ DQ\ REMHFW W\SH WKLV DOORZV D XQLIRUP PHFKDQLVP IRU TXHU\LQJ XVHU GHILQHG GDWD DV ZHOO DV PHWD GDWD 7KH UHVXOWV RI WKH FROOHFWLRQ RI IXQFWLRQV GHILQHG RQ DQ REMHFW GHWHUPLQHV WKH VWDWH RI WKH REMHFW ZKHUHDV RSHUDWLRQV FKDQJH WKH VWDWH RI DQ REMHFW RU FUHDWH DQG GHOHWH DQ REMHFW &UHDWLRQ RI D KRPRJHQHRXV VHW LV D PHFKDQLVP WKDW DOORZV D FROOHFWLRQ RI REMHFWV WR EH JURXSHG WRJHWKHU $ KRPRJHQHRXV VHW LV DQ REMHFW ZKLFK FDQ EH GHILQHG WR EH HTXLYDOHQW WR HLWKHU DQ HQXPHUDWHG VHW RI REMHFWV RU D VHW IRUPHG XQGHU D JLYHQ FRQGLWLRQ ,W LV UHTXLUHG WKDW DOO WKH HOHPHQWV RI D KRPRJHQHRXV VHW EHORQJ WR H[DFWO\ RQH RI WKH W\SHV 7 ) 82 / +6 $OO XVHUGHILQHG KRPRJHQHRXV VHWV DUH PHPEHUV LQVWDQFHVf RI V\VWHPGHILQHG W\SH +6 ,W LV DOVR SRVVLEOH WR GHILQH W\SH REMHFWV ZKLFK DUH VXEW\SHV RI +6 +RPRJHQHRXV VHW LV D XVHIXO FRQVWUXFW QHHGHG LQ GHVLJQ DSSOLFDWLRQV )RU LQVWDQFH D KRPRJHQHRXV VHW RI IXQFWLRQV GHILQHG RQ D W\SH FDQ WKXV EH XVHG WR PRGHO LWV EHKDYLRU $ GHILQHG KLHUDUFK\ RI VXEW\SHV RI +6 FDQ EH XVHG WR LPSRVH D VHW RI FRQVWUDLQWV RQ IXQFWLRQV RU W\SHV 'HILQLWLRQ $ KRPRJHQHRXV VHW V LV D ILQLWH VHW RI REMHFWV ZKHUH V ( +6 DQG LV JLYHQ E\ V ^ 2M R RQ ` ZKHUH 9 R ( V 3 ( ^ 7 +6 ) 82 / ` 3Rf ,Q DGGLWLRQ WR WKH W\SH JUDSK RI WKH V\VWHPGHILQHG REMHFWV WKH VXSHUW\SHVXEW\SH UHODWLRQV DPRQJ XVHUGHILQHG REMHFWV DUH UHSUHVHQWHG E\ D URRWHG ODEHOHG DF\FOLF GLUHFWHG JUDSK ZKLFK FDSWXUHV JHQHUDOL]DWLRQ $Q LQVWDQFH RI DQ\ W\SH LV DOVR DQ LQVWDQFH RI DOO LWV VXSHUW\SHV DQG WKXV LQKHULWV D VXEVHW QRW QHFHVn VDULO\ SURSHU VHW RI WKH RSHUDWLRQV IXQFWLRQV DQG UXOHV RI LWV VXSHUW\SHV

PAGE 23

'HILQLWLRQ *HQHUDOL]DWLRQ LV UHSUHVHQWHG DV D URRWHG ODEHOHG GLUHFWHG DF\FOLF JUDSK ** ^9 (f ZKHUH 9 LV D VHW RI YHUWLFHV 9 & 7X DQG ( LV D VHW RI ODEHOHG GLUHFWHG HGJHV ( & ^ W W V f WL W e 9 $ V f GRP+6f $ 9 e V $ AUAf ` :H DVVXPH WKDW WULYLDO F\FOHV DUH SUHVHQW LQ WKH JHQHUDOL]DWLRQ JUDSK WKDW LV 9 Y e 9 Y Y Vf e ( $UJ LV D V\VWHPGHILQHG IXQFWLRQ ZKLFK PDSV PHPEHUV RI XVHUGHILQHG IXQFWLRQ W\SH )Y LQWR WKH W\SHV RI WKHLU DUJXPHQWV $Q HGJH LV GHILQHG DV D WULSOHW D E Vf ZKHUH D DQG E DUH WKH WDLO DQG KHDG RI WKH GLUHFWHG HGJH VXFK WKDW E D DQG F LV WKH ODEHO RI WKH HGJH 7KH URRW RI ** LV WKH V\VWHPGHILQHG W\SH 'HILQLWLRQ 7KH H[WHQGHG GRPDLQ RI W\SH W e 7 LV GHILQHG DV WKH XQLRQ RI WKH H[WHQGHG GRPDLQV RI DOO 9 VXFK WKDW $ W Vf e ( RI ** 'HILQLWLRQ 7KH IXQFWLRQ LQKHULWDQFH E\ D W\SH W LV GHILQHG DV 9 e X V $ 9 W^ W V^ f ( W e $UJIf W ,W VKRXOG EH QRWHG WKDW DQ XQODEHOHG HGJH D E f LPSOLHV WKDW LW LQFOXGHV DOO IXQFWLRQV VXFK WKDW D e $UJIf 7KH ODEHOHG JHQHUDOL]DWLRQ JUDSK SURYLGHV D PHFKDQLVP WKDW VSHFLILHV IXOO DV ZHOO DV SDUWLDO IXQFWLRQ DWWULEXWHf LQKHULWDQFH 'HILQLWLRQ $7 $VVLJQHG7\SHf LV D PDSSLQJ IURP WR 7-nV SRZHU VHW ,W UHWXUQV RQH RU PRUH W\SHV W e GRQA7AMf WKDW DUH H[SOLFLWO\ DVVLJQHG WR DQ LQVWDQFH REMHFW L e GRP>82f $7 82 7X 9 Le82 W e 7X W e $7Lf $ W S Vf e ( $ SLf $ QRWLRQ RI YDOXH DFTXLVLWLRQ LV QHHGHG LQ GHVLJQ GDWDEDVHV 7KLV LV FORVHO\ UHODWHG WR WKH LGHD RI IXQFWLRQ DWWULEXWHf LQKHULWDQFH 7KH GLIIHUHQFH LV WKDW

PAGE 24

YDOXH DFTXLVLWLRQ LV GHILQHG IRU REMHFW LQVWDQFHV UDWKHU WKDQ W\SHV 7KH LQVWDQFH WKDW DFTXLUHV YDOXHV ZLOO EH FDOOHG UHFHSWRU DQG WKH LQVWDQFHV IURP ZKLFK YDOXHV DUH DFTXLUHG ZLOO EH FDOOHG WUDQVPLWWHU 7KH W\SH RI D UHFHSWRU HLWKHU LV RI WKH VDPH DVVLJQHGW\SH DV WKDW RI LWV WUDQVPLWWHU RU LV LWV VXEW\SH 9DOXH DFTXLVLWLRQ PHDQV WKDW D JLYHQ VHW RI IXQFWLRQV UHWXUQV WKH VDPH UHVXOW YDOXHV IRU D UHFHSWRU DV IRU LWV WUDQVPLWWHU $ UHFHSWRU LV QRW DOORZHG WR XSGDWH WKH UHVXOW YDOXHV RI WKHVH IXQFWLRQV $V LQ FDVH RI DWWULEXWH LQKHULWDQFH WKLV QRWLRQ LV IXUWKHU UHILQHG E\ DOORZLQJ SDUWLDO YDOXH DFTXLVLWLRQ 9DOXH DFTXLVLWLRQ LV UHSUHVHQWHG E\ WKH LQVWDQFH JUDSK ,*f 7KHUH H[LVWV D PDSSLQJ IURP ,* WR ** 9 (f 'HILQLWLRQ ,* 9,(,f LV D ODEHOHG GLUHFWHG DF\FOLF JUDSK ZKHUH 9M & 82 DQG 9 L e 9c Y e 9 $ YLf )RU HDFK HGJH D E Vf e (^ D FRUUHVSRQGLQJ HGJH [ \ ]f e ( [ e $7Df $ \ e $7Ef $ V e +6 $ V & ] ,Q ,* IRU HDFK M e 9M DW PRVW RQH L M Vf e (c IRU D FRUUHVSRQGLQJ HGJH [ \ ]f e ( VXFK WKDW [ e $7Lf DQG \ e $7Mf $Q HGJH D E Ff e (I 9 e V IEf IDf 7KDW LV IRU HYHU\ PHPEHU L LQ YHUWH[ VHW 9S RI ,* WKHUH H[LVW VRPH W\SH Y WKDW LV D PHPEHU RI 9 DQG L LV DQ LQVWDQFH RI Y )RU HYHU\ HGJH LQ ,* WKHUH LV D FRUUHVSRQGLQJ HGJH LQ ** VXFK WKDW WKH KHDG DQG WDLO LQ WKH HGJH LQ ,* DUH LQVWDQFHV RI WKH FRUUHVSRQGLQJ KHDG DQG WDLO LQ WKH ** HGJH DQG WKH IXQFWLRQV WKDW SDUWLFLSDWH LQ WKH YDOXH DFTXLVLWLRQ WKURXJK WKLV HGJH LQ ,* LV D VXEVHW RI IXQFWLRQV LQKHULWHG WKURXJK WKH FRUUHVSRQGLQJ HGJH LQ ,* )RU HDFK FRUUHVSRQGLQJ HGJH LQ ** WKHUH LV DW PRVW RQH HGJH LQ ,* $QG ODVWO\ WKH YDOXHV RI IXQFWLRQV UHWXUQHG E\ WKH LQVWDQFH REMHFW EHORQJLQJ WR WKH KHDG LV WKH VDPH DV WKDW RI WKH LQVWDQFH REMHFW EHORQJLQJ WR WKH WDLO RI WKH HGJH

PAGE 25

'HVLJQ GDWDEDVHV UHTXLUH D IDFLOLW\ IRU GHILQLQJ DQG PDQLSXODWLQJ D KLHUDUFKLFDOO\ VWUXFWXUHG VHW RI REMHFWV DV D VLQJOH ORJLFDO HQWLW\ :H VKDOO FDOO VXFK DQ HQWLW\ D FRPSRVLWH W\SH REMHFW ZKLFK LV GHILQHG DV D GLUHFWHG DF\FOLF JUDSK ZKHUH WKH QRGHV ZLWK LQGHJUHH ]HUR DUH WKH W\SHV RI WKH KLJKHVW OHYHO FRPSRVLWH REMHFWV WKH QRGHV ZLWK RXWGHJUHH ]HUR DUH WKH W\SHV RI SULPLWLYH REMHFWV 7KH GLUHFWHG HGJHV LQ WKH JUDSK UHSUHVHQW WKH LVSDUWRILVFRPSRVHGRI UHODWLRQVKLS EHWZHHQ D FRPSRVLWH REMHFW DQG LWV FRQVWLWXHQWV :H VKDOO FDOO WKLV JUDSK WKH FRPSRVLWLRQ JUDSK &*f $W WKH LQVWDQFH OHYHO WKH &* LV PDSSHG LQWR DV PDQ\ VSDQQLQJ WUHHV DV WKHUH DUH YHUn WLFHV ZLWK LQGHJUHH ]HUR 7KH LQVWDQFHV RI FRPSRVLWH REMHFW DUH UHTXLUHG WR EH D VWULFW KLHUDUFK\ EHFDXVH RI WKH SK\VLFDO FRQVWUDLQW WKDW GLVDOORZV DQ REMHFW WR EH D FRQVWLWXHQW RI WZR GLVWLQFW FRPSRVLWH REMHFWV 6RPHWLPH DQ LQWHJULW\ IHDWXUH LV DGGHG WR &* WKURXJK WKH QRWLRQ RI H[LVWHQWLDO GHSHQGHQFH ZKLFK LPSOLHV WKDW D FRQVWLWXHQW REMHFW LV H[LVWHQWLDOO\ GHSHQGHQW RQ LWV LPPHGLDWH KLJKHU OHYHO REMHFW :H GR QRW VXSSRUW WKLV QRWLRQ RI H[LVWHQWLDO GHSHQGHQFH DV LW HQIRUFHV D WRSGRZQ GHVLJQ VWUDn WHJ\ &* SURYLGHV D PHDQV IRU VXSSRUWLQJ WKH QRWLRQ RI FRPSRVLWLRQ $ GHWDLOHG GLVFXVVLRQ RI FRPSRVLWH REMHFWV VLQFH WKH\ DUH DQ HVVHQWLDO DVSHFW RI &$' DSSOLFDn WLRQV LV SURYLGHG LQ &KDSWHU ,W VKRXOG EH QRWHG WKDW WKH QRWLRQV RI DJJUHJDWLRQ RU DVVRFLDWLRQ DUH LQDGHTXDWH IRU PRGHOLQJ WKLV SURSHUW\ RI FRPSRVLWH REMHFWV &RPSRVLWLRQ LV DQ LQWHJUDO SURSHUW\ RI GHVLJQ REMHFWV 7KLV SURSHUW\ LV GHHPHG LQGLVSHQVDEOH DV LW LV UHTXLUHG IRU PDWHULDOL]LQJ SK\VLFDO REMHFWV 7KHUHIRUH PDQ\ FRQVWUDLQWV DUH LPSRVHG RQ LW ILUVW LWV PLQLPXP FDUGLQDOLW\ LV DOZD\V RQH ZKLFK GLVDOORZV QXOO YDOXHV LQ WKH FRQVWLWXHQW LQIRUPDWLRQ RI D GHVLJQ REMHFW VHFRQG WKH PD[LPXP FDUGLQDOLW\ ZKLFK LV QRW DOORZHG WR YDU\ GHWHUPLQHV WKH H[DFW QXPEHU RI FRQVWLWXHQW REMHFWV WKLUG VHOIUHIHUHQFH LV GLVDOORZHG LQ WKLV DWWULEXWH DV LW YLRODWHV WKH PHDQLQJIXO UHODWLRQVKLS EHWZHHQ D FRQVWLWXHQW DQG LWV FRPSRVLWH REMHFW $OVR LQIRUPDWLRQ LV PDLQWDLQHG WR DQVZHU TXHULHV UHODWHG WR WUDQVLWLYH FORVXUH RI FRPSRVLWLRQ

PAGE 26

'HILQLWLRQ $ FRPSRVLWLRQ JUDSK &*f LV D GLUHFWHG DF\FOLF JUDSK &* >9 ( f ZKHUH 9F & 7Y DQG (F LV D VHW RI GLUHFWHG HGJHV FDOOHG LV FRPSRVHGRIf ZKHUH (F & ^ e W ‘f ? Wc W ‘ e ) ` $Q RUGHUHG SDLU [ \f e (F GHQRWHV D GLUHFWHG HGJH IURP [ WR \ ZKLFK LPSOLHV WKDW REMHFWV RI W\SH [ DUH FRPn SRVHG RI RQH RU PRUH REMHFWV RI W\SH \ 'HILQLWLRQ ,&* )UI (f WKH LQVWDQWLDWHG &* LV D GLUHFWHG DF\FOLF JUDSK ZKHUH 9G & ,Y DQG (G LV D VHW RI GLUHFWHG HGJHV VXFK WKDW (G & ^ W Mf L M e 9G ` 7KHUH H[LVWV D PDSSLQJ IURP ,&* WR &* )RU HDFK L Mf e (G D FRUUHVSRQGLQJ HGJH W W ‘f e 9F WALf $ W^Mf )RU HDFK M e 9G DW PRVW RQH L Mf e (G $Q L e 9G LV VDLG WR EH LQFRPSOHWH LI K WMf e 9F $ KIf $ f‘ r} } A )RU DQ HGJH D f e (G LI E LV LQFRPSOHWH WKHQ LW LPSOLHV WKDW D LV LQFRPSOHWH 7KDW LV IRU HYHU\ HGJH LQ ,&* WKHUH LV D FRUUHVSRQGLQJ HGJH LQ &* VXFK WKDW WKH W\SHV RI WKH KHDG DQG WDLO RI WKH HGJH LQ ,&* FRUUHVSRQG WR WKH KHDG DQG WDLO LQ WKH &* HGJH 7KH LQGHJUHH RI RI HYHU\ YHUWH[ LQ ,&* LV DW PRVW RQH $ YHUn WH[ LQ ,&* LV VDLG WR XQGHILQHG LI LW GRHV QRW KDYH WKH VDPH RXWGHJUHH DV LWV FRUUHVSRQGLQJ YHUWH[ LQ &* $Q ([DPSOH 'DWDEDVH ,Q WKLV VHFWLRQ ZH VKDOO JLYH D VLPSOH H[DPSOH RI D GDWDEDVH ZKLFK ZLOO KHOS WR H[SODLQ VRPH RI WKH FRQFHSWV SUHVHQWHG LQ WKH SUHYLRXV VHFWLRQ :H WDNH DQ H[DPSOH IURP D IDPLOLDU GRPDLQ ZLWKRXW DQ\ ORVV RI JHQHUDOLW\ $Q H[DPSOH UHOHYDQW WR &$' GDWDEDVHV LV JLYHQ LQ &KDSWHU

PAGE 27

7KLV GDWDEDVH FRQWDLQV IRXU XVHUGHILQHG W\SHV SHUVRQ FRXUVH VWXGHQW DQG IDFXOW\ 7KH W\SH SHUVRQ KDV VWXGHQW DQG IDFXOW\ DV LWV VXEW\SHV 7KH W\SH SHUn VRQ KDV SL DV DQ LQVWDQFH VWXGHQW KDV VL V V DV LQVWDQFHV FRXUVH KDV FO F F DV LQVWDQFHV DQG IDFXOW\ KDV IO I DV LQVWDQFHV 7KH IROORZLQJ IXQFWLRQV DUH GHILQHG RQ WKHP 1DPH SHUVRQf f§ FKDUVWULQJ X $JH SHUVRQf f§ LQWHJHU &1DPH FRXUVHf f§ FKDUVWULQJ X *3$ VWXGHQWf f§ UHDO (QUROOPHQW FRXUVHf f§ VWXGHQW P 7HDFKHV IDFXOW\f f§ FRXUVH P 7KH V\PEROV X DQG P DVVRFLDWHG ZLWK WKH UHVXOW RI WKH DERYH IXQFn WLRQV UHSUHVHQW WKH XQLTXH DQG PXOWLYDOXHG UHVXOW YDOXHV UHVSHFWLYHO\ $ SRVVLEOH VFHQDULR IRU FUHDWLQJ WKH GDWDEDVH ZLOO EH WKH IROORZLQJ 7KH XVHU ZLOO ILUVW GHILQH VRPH W\SHV DQG VSHFLI\ WKH VXEW\SHVXSHUW\SH UHODWLRQVKLSV DPRQJ WKHP WKDW LV FUHDWH D JHQHUDOL]DWLRQ JUDSK $IWHU WKLV IXQFWLRQV FDQ EH GHILQHG RQ WKHVH W\SHV 7KH GDWDEDVH FDQ QRZ EH SRSXODWHG +RPRJHQHRXV VHWV FDQ EH GHILQHG DW DQ\ WLPH SURYLGHG WKHLU HOHPHQWV KDYH DOUHDG\ EHHQ GHILQHG ,W LV DOVR SRVVLEOH WR G\QDPLFDOO\ DGG W\SHV DQG IXQFWLRQV 7KH JHQHUDOL]DWLRQ JUDSK IRU WKLV GDWDEDVH ZLWK 82 DV LWV URRW LV VKRZQ DORQJ ZLWK WKH SURSRVHG V\VWHP W\SH JUDSK LQ )LJXUH ,W VKRXOG EH QRWHG WKDW IRU HDFK GDWDEDVH D GLIIHUHQW XVHUGHILQHG ** ZLOO DSSHDU XQGHU 82 7KH UHVW RI WKH JUDSK LV WKH V\VWHP W\SH JUDSK ZKLFK LV DOZD\V DYDLODEOH ,Q )LJXUH +6 GRHV QRW KDYH DQ\ VXEW\SHV DV ZH GR QRW PDNH DQ\ GLVWLQFWLRQ EHWZHHQ XVHU DQG V\VWHPGHILQHG VHWV DW WKLV SRLQW +RZHYHU WKH XVHU FDQ GHILQH VXEW\SHV RI +6

PAGE 28

7KH GRPDLQ RI HDFK W\SH LV IRUPHG E\ WKH LQVWDQFHV GLUHFWO\ DVVLJQHG WR WKDW W\SH 'RPDLQV IRU WKH W\SHV DUH VKRZQ LQ )LJXUH 7KH GHFODUDWLRQV RI GRPDLQV DUH VHOIH[SODQDWRU\ +RZHYHU H[SODQDWLRQ LV QHHGHG IRU WKH W\SHV )V DQG +6 ,W VKRXOG EH UHFDOOHG WKDW HDFK V\VWHPGHILQHG W\SH QD"QH DOVR VHUYHV DV D SUHGLn FDWH IXQFWLRQ WKH IXQFWLRQV GRP DQG $7 KDYH DOUHDG\ EHHQ GHILQHG )RU +6 LW LV DVVXPHG WKDW WKH XVHU KDV GHILQHG WZR VHWV ^(QUROOPHQW 7HDFKHVf DQG ^SL Vf GRP SHUVRQf ^ SL ` GRP VWXGHQWf ^ VL V V ` GRP FRXUVHf ^ FO F F ` GRP IDFXOW\f ^IO I ` GRP 7MMf ^ SHUVRQ FRXUVH IDFXOW\ VWXGHQW ` GRP 7Vf ^8/ 7 +6 ) 82 7X 7V ) )V UHDO LQWHJHU %RROHDQ FKDUVWULQJ ` GRP )MMf ^ 1DPH &1DPH $JH *3$ (QUROOPHQW 7HDFKHV ` GRP )Vf ^ 8 82 7 +6 ) / 7Z 7V )Y )V GRP $7 ` GRP +6f ^ ^(QUROOPHQW 7HDFKHVf ^SL Vf f 5HWULHYDO 8VLQJ )XQFWLRQV ,Q WKLV VHFWLRQ ZH VKDOO SUHVHQW D EULHI RXWOLQH RI WKH GDWD PDQLSXODWLRQ ODQJXDJH )RU WKH VDNH RI EUHYLW\ V\QWD[ IRU VLPSOH GHFODUDWLRQV RI W\SHV VXEW\SHVVXSHUW\SH DQG LQVWDQFHV DUH RPLWWHG KHUH 6RPH H[DPSOHV LQ WKH ODWHU VHFn WLRQV ZLOO LOOXVWUDWH WKHLU V\QWD[ $ IXQFWLRQ LV GHILQHG E\ XVLQJ WKH IROORZLQJ V\QWD[ )XQFWLRQ )QDPH WO W )f f§ ) ‘ ‘ ‘ )QDPH LV DQ LGHQWLILHU WKDW VWDQGV IRU IXQFWLRQ QDPH W W ) ) WP 7 DUH XVHUGHILQHG W\SHV DQG DUH QRW QHFHVVDULO\ GLVn WLQFW 7KH V\PEROV DQG FDQ EH GURSSHG IURP WKH GHFODUDWLRQ LI Q LV LQ

PAGE 29

DQ QSODFH WXSOH )RU H[DPSOH D IXQFWLRQ FDOOHG $JH FDQ EH GHILQHG LQ WKH IROOZLQJ ZD\ )XQFWLRQ $JH 3HUVRQf f§ ,QWHJHU 7KH XSGDWH RI WKLV IXQFWLRQ FDQ EH SHUIRUPHG LQ WKH IROORZLQJ ZD\ $JH SLf 7KLV GDWD PDQLSXODWLRQ ODQJXDJH LV EDVHG RQ GRPDLQ FDOFXOXV ,QWHUIDFH YDULDEOHV FDQ EH XVHG LQ TXHULHV DQG XSGDWHV DV UHIHUHQFHV WR REMHFWV LQ WKH UHVXOW RU DUJXPHQW RI D IXQFWLRQ $V LQ GRPDLQ FDOFXOXV WKHVH YDULDEOHV UDQJH RYHU WKH GRPDLQV RI WKH W\SHV WKH\ UHIHUHQFH :KHQ DQ REMHFW LV UHWULHYHG LQWR D YDULDEOH LW LV ERXQG WR WKH LGHQWLILHU RI WKH YDULDEOH ZKLFK PD\ WKHUHDIWHU EH XVHG WR UHIHU GLUHFWO\ WR WKH REMHFW ,W LV DOVR SRVVLEOH WR XQLYHUVDOO\ RU H[LVWHQWLDOO\ TXDQWLI\ D YDULDEOH $ YDULDEOH UHIHUULQJ WR D W\SH RI WKH SDUDPHWHUV RI D IXQFWLRQ FDQ EH RPLWn WHG LI LW LV QRW QHHGHG LQ WKH IRUPXODWLRQ RI D TXHU\ $ TXHU\ FDQ EH H[SUHVVHG E\ XVLQJ WKH IROORZLQJ V\QWD[ $ % 3 $ FRQWDLQV D ILVW RI YDULDEOHV RU IXQFWLRQ QDPHV WKDW DUH EHLQJ UHWULHYHG % FRQWDLQV WKH TXDQWLILFDWLRQ DQG GHFODUDWLRQ RI WKH W\SHV RI YDULDEOHV XVHG LQ $ RU 3 3 LV DQ RSWLRQDO SUHGLFDWH H[SUHVVLRQ WKDW FDQ LQYROYH ERWK IXQFWLRQV DQG YDULDEOHV $ IXQFn WLRQ FDQ EH GHULYHG IURP RQH RU PRUH GHILQHG IXQFWLRQV 7KLV RYHUYLHZ GHVFULEHV WKH ORJLFDO SULPLWLYHV DQG WKH FRQVWUXFWV WKDW DUH HVVHQWLDO WR LOOXVWUDWH DQG IRUPDOL]H FRQFHSWV IRU GHVLJQ GDWDEDVHV ,Q ODWHU VHFWLRQV VRPH DGGLWLRQDO IHDWXUHV WKDW DUH QHHGHG IRU GHDOLQJ ZLWK FRPSRVLWH REMHFWV DQG YHUn VLRQLQJ ZLOO EH GHILQHG LQ WHUPV RI WKH EDVLF VHW RI FRQVWUXFWV GLVFXVVHG KHUH

PAGE 30

k 6WXGHQW )DFXOW\ )LJXUH 7KH 6\VWHP 7\SH *UDSK

PAGE 31

&+$37(5 $1 $%675$&7 9,(: 2) &20326,7( 2%-(&76 ,Q WKLV VHFWLRQ EDVLF PRGHOLQJ FRQFHSWV IRU FRPSRVLWH REMHFWV DUH GHYHORSHG 7KHVH QRWLRQV DUH RI IXQGDPHQWDO LPSRUWDQFH IRU XQGHUVWDQGLQJ WKH QDWXUH RI GHVLJQ REMHFWV DQG WKHLU YHUVLRQ PDQDJHPHQW $ FRPSRVLWH REMHFW DV UHSUHVHQWHG E\ WKH FRPSRVLWLRQ JUDSK GHVFULEHG LQ &KDSWHU LV D UHFXUVLYHO\ GHILQHG DJJUHJDWLRQ RI LWV FRQVWLWXHQW REMHFWV ,Q WKH H[LVWn LQJ OLWHUDWXUH WKH FRPSRVLWLRQ SURSHUW\ LV GHHPHG VXIILFLHQW WR UHSUHVHQW D FRPSRVLWH REMHFW ,W LV RQH RI WKH SUHPLVHV RI WKLV ZRUN WKDW FRPSRVLWLRQ WKRXJK HVVHQWLDO LV LQDGHTXDWH IRU PRGHOLQJ REMHFWV LQ D FRPSOH[ HQJLQHHULQJ GHVLJQ 2EMHFWV PRGHOHG LQ HQJLQHHULQJ DSSOLFDWLRQV DUH DVVHPEOLHV DV ZHOO DV DJJUHJDWLRQV RI WKHLU FRQVWLWXHQW REMHFWV WKDW PD\ LQ WXUQ FRQWDLQ RWKHU REMHFWV 7KH IDPLOLDU DEVWUDFWLRQV RI ZKLWHER[ DQG EODFNER[ SURSHUWLHV FDQ SURYLGH VRPH LQVLJKW LQWR WKH QDWXUH RI GHVLJQ REMHFWV 7KH SURSHUWLHV WKDW GHVFULEH DQ REMHFW ZLWKRXW DQ\ FRQFHUQ IRU WKHLU LQWHUQDO VWUXFWXUH DUH YLHZHG DV EODFNER[ SURSHUWLHV 7KH SURSHUWLHV WKDW GHVFULEH WKH HQWLUH VWUXFWXUH DUH ORRNHG XSRQ DV ZKLWHER[ SURn SHUWLHV ,Q WKH IROORZLQJ ZH SURSRVH D FODVVLILFDWLRQ RI WKH SURSHUWLHV RI GHVLJQ REMHFWV EDVHG RQ WKH DERYH DEVWUDFWLRQ ([WHUQDO IHDWXUHV ()f RI D GHVLJQ REMHFW DUH LWV QRQVWUXFWXUDO DWWULEXWHV WKDW DUH YLVLEOH WR WKH H[WHUQDO ZRUOG ,QWHUQDO DVVHPEO\ ,$f RI D FRPSRVLWH GHVLJQ REMHFW LV LWV VWUXFWXUDO DWWULEXWHV WKDW LGHQWLI\ LWV FRQVWLWXHQW REMHFWV DQG GHVFULEH WKHLU LQWHUUHODWLRQVKLSV

PAGE 32

$ SULPLWLYH REMHFW GRHV QRW KDYH DQ\ LQWHUQDO DVVHPEO\ SURSHUWLHV ,W SRVVHVVHV RQO\ WKH H[WHUQDO IHDWXUHV ,Q WKH FRPSRVLWLRQ JUDSK WKH\ IRUP WKH YHUWLFHV WKDW KDYH RXWGHJUHH ]HUR 7KXV H[WHUQDO IHDWXUHV FRUUHVSRQG WR EODFNER[ SURSHUWLHV DV WKH LQWHUn QDO GHWDLOV DUH QRW VHHQ ZKHUHDV ERWK LQWHUQDO DVVHPEO\ DQG H[WHUQDO IHDWXUHV FRUUHVSRQG WR ZKLWHER[ SURSHUWLHV VLQFH HQWLUH REMHFW LV YLVLEOH 7KH FDWHJRUL]DWLRQ RI WKH DWWULEXWHV RI D FRPSRVLWH REMHFW LQWR LWV H[WHUQDO IHDWXUHV DQG LQWHUQDO DVVHPn EO\ LV D XVHIXO RQH ,Q GHVLJQ DSSOLFDWLRQV LW LV RIWHQ GHVLUDEOH WR YLHZ D FRPSRVLWH REMHFW DV D SULPLWLYH REMHFW E\ GLVUHJDUGLQJ LWV LQWHUQDO DVVHPEO\ $OVR WKLV FODVVLILFDWLRQ SURYLGHV D SDUDGLJP IRU XQGHUVWDQGLQJ WKH FRQFHSW RI YHUVLRQLQJ DV LW UHODWHV WR FRPSRVLWH REMHFWV ([WHUQDO )HDWXUHV DQG ,QWHUQDO $VVHPEO\ ,Q WKLV VHFWLRQ ZH GHILQH WKH GLIIHUHQW VXEFODVVHV RI DWWULEXWHV PHQWLRQHG SUHYLRXVO\ 7KHVH GHILQLWLRQV DUH E\ QR PHDQV IRUPDO +RZHYHU WKH\ SURYLGH D IUDPHZRUN IRU XQGHUVWDQGLQJ WKH QDWXUH RI DQG WKH UHTXLUHPHQWV IRU GHVLJQ GDWDn EDVHV /DWHU LQ 6HFWLRQ DQ H[DPSOH LV JLYHQ WKDW LOOXVWUDWHV WKHVH FRQFHSWV 7KH H[WHUQDO IHDWXUHV FDQ EH VXEGLYLGHG LQWR GHVFULSWLYH 'Vf DQG LQWHUn IDFH ,Sf DWWULEXWHV ZKHUHDV WKH LQWHUQDO DVVHPEO\ FDQ EH VXEGLYLGHG LQWR FRPSRVLWH DJJUHJDWLRQ ^&$f LQWHUFRQQHFWLRQ ,Ff DQG FRUUHVSRQGHQFH &5f DWWULEXWHV ,QWHUIDFH ,If SURSHUWLHV GHVFULEH DQ DEVWUDFWLRQ RI D GHVLJQ REMHFW 7KHVH SURSHUWLHV GHILQH OLQNV WKURXJK ZKLFK LW LQWHUDFWV ZLWK WKH H[WHUQDO ZRUOG LH WKH XVHU DQG RWKHU GHVLJQ REMHFWV 7KH LQWHUIDFH SURSHUWLHV DUH FUXFLDO LQ XQGHUVWDQGn LQJ WKH QDWXUH DQG IXQFWLRQDOLW\ RI D GHVLJQ REMHFW DV WKH\ DUH YLVLEOH WR WKH H[WHUQDO ZRUOG DQG SUHVHQW D KLJKHU OHYHO RI DEVWUDFWLRQ RI WKH LQWHUQDO DVVHPEO\

PAGE 33

'HVFULSWLYH 'Vf DWWULEXWHV SURYLGH LGHQWLILFDWLRQ DQG QRQLQWHUIDFH GHVFULSWLRQV RI D GHVLJQ REMHFW 3URSHUWLHV VXFK DV 1DPH 'HVLJQHU HWF DUH FDWHJRUn L]HG DV GHVFULSWLYH DWWULEXWHV &RPSRVLWH DJJUHJDWLRQ &f RI D GHVLJQ REMHFW LGHQWLI\ LWV LPPHGLDWH FRQVWLWXHQW REMHFWV 7KLV SURSHUW\ LV FDSWXUHG E\ WKH LQVWDQFH FRPSRVLWLRQ JUDSK GHILQHG LQ 6HFWLRQ ,QWHUFRQQHFWLRQ ,Ff DWWULEXWHV RI D FRPSRVLWH REMHFW UHSUHVHQW WKH LQWHUn FRQQHFWLRQV DPRQJ LWV FRQVWLWXHQW REMHFWV 7KHVH LQWHUFRQQHFWLRQ DWWULEXWHV LQYROYH RQO\ WKH LQWHUIDFH DWWULEXWHV RI WKH FRQVWLWXHQW REMHFWV &RUUHVSRQGHQFH &5f DWWULEXWHV RI D FRPSRVLWH REMHFW UHSUHVHQW WKH FRQn QHFWLRQ EHWZHHQ LWV LQWHUIDFH DQG WKH LQWHUIDFHV RI LWV FRQVWLWXHQW REMHFWV )LJXUH :H EHOLHYH WKDW WKH DEVWUDFWLRQ RI FRPSRVLWH REMHFWV SUHVHQWHG KHUH LV LQGHSHQGHQW RI DQ\ GDWD PRGHO 2WKHU PRGHOV ZLWK WKH FRQVWUXFW RI KRPRJHQHRXV VHW FDQ EH XVHG 'HILQLWLRQ LQWURGXFHG WKH V\VWHPGHILQHG W\SH +6 DQG WKH QRWLRQ RI KRPRJHQHRXV VHW 2WKHU V\VWHPGHILQHG VXEFODVVHV DSSHDU DV VXEW\SHV RI +6 7KH VHWV RI IXQFWLRQV GHILQHG KHUH ZLOO KDYH WKH IROORZLQJ W\SH VWUXFWXUH () ,$ & ,) 'V () &$ ,F &5 ,$ 7KLV LPSOLHV WKDW QHZ V\VWHPGHILQHG VHW () DQG ,$ EHFRPH WKH VXEW\SHV RI +6 7KH VHWV ,S DQG 'V DUH VXEW\SHV RI () DQG

PAGE 34

WKH\ UHSUHVHQW WKH VHW RI DWWULEXWHV WKDW FRQVWLWXWH H[WHUQDO IHDWXUHV 7KLV FDQ EH GLDJUDPPDWLFDOO\ UHSUHVHQWHG LQ )LJXUH *LYHQ WKHVH V\VWHPGHILQHG FODVVHV WKH IXQFWLRQV GHILQHG RQ WKH W\SH RI D GHVLJQ REMHFW FDQ EH GHFODUHG DV WKHLU PHPEHUV 7KLV DOORZV XV WR HQIRUFH DQ\ FRQn VWUDLQW RQ D FODVV RI IXQFWLRQV $Q H[DPSOH JLYHQ LQ WKH QH[W VHFWLRQ ZLOO VHUYH WR LOOXVWUDWH WKLV SRLQW $Q ([DPSOH RI D &RPSRVLWH 2EMHFW &RQVLGHU D FLUFXLW UHSUHVHQWDWLRQ RI D ELW DGGHU )LJXUH VKRZV LWV LQWHUIDFH VSHFLILFDWLRQ D SDLU RI ELW QXPEHUV $f
PAGE 35

IDFH SURSHUWLHV $OVR DV VKRZQ LQ )LJXUHV DQG RQO\ WKH H[WHUQDO IHDWXUHV ZKLFK LQFOXGH WKH LQWHUIDFH SURSHUWLHVf RI D FRQVWLWXHQW REMHFW DUH YLVLEOH WR LWV FRPn SRVLWH REMHFW RU WR WKH H[WHUQDO ZRUOG )LJXUHV DQG VKRZ WKH LQWHUIDFH DQG WKH LQWHUQDO DVVHPEO\ RI KDOIn DGGHU +DOIDGGHU FRQWDLQV DQ $1'JDWH DQG DQ ;25JDWH ZKLFK DUH DJDLQ DVVXPHG WR EH SULPLWLYH REMHFWV 7KH LQWHUQDO DVVHPEO\ RI )LJXUH GRHV QRW KDYH DQ\ LQWHUFRQQHFWLRQ DWWULEXWHV $GGHU IRUPV WKH URRW RI FRPSRVLWLRQ DJJUHJDWLRQ KLHUDUFK\ ZKLFK KDV WKUHH OHYHOV 7KH ILUVW OHYHO FRQWDLQV DGGHUVOLFHV 7KH VHFRQG OHYHO KDV KDOIDGGHUV DQG 25JDWH 7KH OHDYHV RI WKH KLHUDUFK\ DUH JLYHQ E\ $1'JDWHV DQG ;25JDWHV )LJXUH VKRZV DQ DOWHUQDWLYH GHVLJQ RI WKH LQWHUQDO DVVHPEO\ RI DGGHUVOLFH LQ WKLV GHVLJQ WKH DJJUHJDWLRQ KLHUDUFK\ RI DGGHU KDV RQO\ WZ7R OHYHOV 0RGHOLQJ &RPSRVLWH 2EMHFWV ,Q WKLV VHFWLRQ ZH SUHVHQW LQWHQVLRQDO DQG H[WHQVLRQDO GHVFULSWLRQV RI DGGHUVOLFH XVLQJ WKH FRQVWUXFWV GHILQHG LQ &KDSWHU $Q LGHQWLILHU WKDW VWDUWV ZLWK D ORZHU FDVH OHWWHU GHQRWHV D W\SH DQG DQ LGHQWLILHU WKDW VWDUWV ZLWK DQ XSSHU FDVH OHWWHU DUH LQVWDQFHV RI VRPH W\SH 7KLV FRQYHQWLRQ KDV EHHQ DGRSWHG KHUH MXVW IRU FRQYHQLn HQFH DQG FRPSUHKHQVLELOLW\ :H DOORZ DQ\ OHJDO LGHQWLILHU ,Q WKH IXQFWLRQ GHILQLWLRQV WZR NH\ OHWWHUV X DQG P DUH XVHG WR VLJQLI\ WKDW WKH IXQFWLRQ UHWXUQV XQLTXH RU PXOWLYDOXHG UHVXOWV :H DVVXPH WKDW WKH IROORZLQJ W\SHV KDYH EHHQ GHFODUHG DGGHUVOLFH KDOn IDGGHU RUJDWH [RUJDWH DQGJDWH DQG WHUPLQDO $OO EXW WHUPLQDO DUH GHVLJQ REMHFWV 7KH IROORZLQJ IXQFWLRQV DUH GHILQHG RQ WKHVH W\SH WR PRGHO WKH FRPSRVLWH REMHFW DGGHUVLOFH

PAGE 36

IXQFWLRQ 71DPH WHUPLQDOf f§ FKDUVWULQJ X IXQFWLRQ ,2W\SH WHUPLQDOf f§ FKDU IXQFWLRQ 251DPH RUJDWHf f§ FKDUVWULQJ X IXQFWLRQ 25,QSXW RUJDWHf f§ WHUPLQDO P IXQFWLRQ 252XWSXW RUJDWHf f§ WHUPLQDO X IXQFWLRQ IXQFWLRQ IXQFWLRQ IXQFWLRQ IXQFWLRQ IXQFWLRQ +1DPH KDOIDGGHUf f§ FKDUVWULQJ X +,QSXW KDOIDGGHUf f§ WHUPLQDO P +2XWSXW KDOIDGGHUf f§ WHUPLQDO P +&RQWDLQV KDOIDGGHUf f§ [RUJDWH DQGJDWH6 +/LQNO ^KDOIDGGHU WHUPLQDOf f§ [RUJDWH WHUPLQDOV P +/LQN ^KDOIDGGHU WHUPLQDOf f§r‘ DQGJDWH WHUPLQDO! P )XQFWLRQV +1DPH +,QSXW DQG +2XWSXW FRQVWLWXWH WKH H[WHUQDO IHDWXUHV RI REMHFW W\SH KDOIDGGHU ZKHUHDV IXQFWLRQV +,QSXW DQG +2XWSXW GHILQH WKH LQWHUIDFH )XQFWLRQV +&RQWDLQV +/LQNO DQG ),/LQN GHILQH WKH LQWHUQDO DVVHPEO\ 7KLV LQWHUn QDO DVVHPEO\ GRHV QRW KDYH DQ\ LQWHUFRQQHFWLRQ DWWULEXWHV +&RQWDLQV GHILQHV WKH FRPSRVLWLRQ DJJUHJDWLRQ DQG WKH RWKHU WZR IXQFWLRQV GHILQH WKH FRUUHVSRQGHQFH IXQFWLRQ $1DPH ^DGGHUVOLFHf f§r‘ FKDUVWULQJ X IXQFWLRQ $'HVLJQHU ^DGGHUVOLFHf f§ FKDUVWULQJ IXQFWLRQ $,QSXW ^DGGHUVOLFHf f§r‘ WHUPLQDO X P IXQFWLRQ $2XWSXW ^DGGHUVOLFHf f§ WHUPLQDO X P IXQFWLRQ $&RQWDLQV ^DGGHUVOLFHf f§r‘ KDOIDGGHU KDOI DGGHU RU JDWHV IXQFWLRQ $&RQQHFWO ^DGGHUVOLFH KDOIDGGHU KDOIDGGHUf f§ WHUPLQDO WHUPLn QDOV IXQFWLRQ $&RQQHFW ^DGGHUVOLFH KDOIDGGHU RUJDWHf f§r! WHUPLQDO WHUPLQDOV

PAGE 37

IXQFWLRQ $/LQNO DGGHUVOLFH WHUPLQDOf f§ KDOIDGGHU WHUPLQDO! IXQFWLRQ $/LQN DGGHUVOLFH WHUPLQDOf f§ RUJDWH WHUPPDO! $&RQWDLQV GHILQHV WKH FRPSRVLWH DJJUHJDWLRQ RI DGGHUVOLFH )XQFWLRQV $&RQQHFWO DQG $&RQQHFW GHVFULEH WKH LQWHUFRQQHFWLRQ DPRQJ WKH FRQVWLWXHQWV RI DGGHUVOLFH $&RQQHFWO SURYLGHV D PDSSLQJ IURP WKH FRPSRVLWH REMHFW DGGHUVOLFH DQG LWV FRQVWLWXHQWV WZR KDOIDGGHUV WR D SDLU RI WHUPLQDOV WKURXJK ZKLFK WKH LQWHUn IDFHV RI WKHVH KDOIDGGHUV DUH FRQQHFWHG 6LPLODUO\ $&RQQHFW SURYLGHV D PDSSLQJ IURP WKH FRPSRVLWH REMHFW DGGHUVOLFH DQG LWV FRQVWLWXHQWV D KDOIDGGHU DQG DQ 25 JDWH WR D SDLU RI WHUPLQDOV WKURXJK ZKLFK WKH LQWHUIDFHV RI KDOIDGGHU DQG 25JDWH DUH FRQQHFWHG )XQFWLRQV $/LQNO DQG $/LQN GHILQH WKH FRUUHVSRQGHQFH SURSHUWLHV $OLQNO GHVFULEHV D PDSSLQJ IURP DGGHUVOLFH DQG RQH RI LWV LQWHUIDFH GHILQHG LQ WHUPV RI D WHUPLQDOf WR WKH FRQVWLWXHQW REMHFW KDOIDGGHU DQG LWV LQWHUIDFH 6LPLODUO\ $/LQN GHVFULEHV D PDSSLQJ IURP DGGHUVOLFH DQG RQH RI LWV LQWHUIDFH DWWULEXWH WR LWV FRPSRQHQW 25JDWH DQG LWV LQWHUIDFH 7KH RWKHU IXQFWLRQV DUH VHOIH[SODQDWRU\ ,Q 6HFWLRQ ZH GHVFULEHG VRPH V\VWHPGHILQHG FODVVHV )RU HDFK GHVLJQ W\SH REMHFW D VXEVHW RI WKH IXQFWLRQV GHILQHG RQ WKHP FDQ EH GHFODUHG DV D PHPEHU RI RQH WKH VXEFODVVHV )RU LQVWDQFH ZH KDYH IRU DGGHUVOLFH WKH IROORZLQJ UHODWLRQVKLSV ^ $1DPH $'HVLJQHU ` 'V ^ $,QSXW $2XWSXW ` ,) ^$&RQWDLQV ` &$ ^ $&RQQHFWO $&RQQHFW ` ,F ^ $/LQNO $/LQN ` &5 :H SUHVHQW D SDUWLDO H[WHQVLRQ RI DGGHUVOLFH :H DVVXPH WKH W\SHV GHFODUHG DERYH KDYH EHHQ LQVWDQWLDWHG DQG WKXV ZH KDYH WKH IROORZLQJ GRPDLQV

PAGE 38

GRPWHUPLQDOf ^; < = &O &2 $O %O $ % 6L 6 &O & ,, ` £RPL\2UJDWHf ^ 25JDWH ` GRP KDOIDGGHUf ^ +DOI$GGHUO +DOI$GGHU ` GRPDGGHUVOLFHf ^ $GGHU6OLFHO ` 7KH DVVLJQPHQW RI YDOXHV WR WKH IXQFWLRQV IRU 25JDWH DQG IRU VRPH RI WKH LQVWDQFHV RI WHUPLQDO DUH VKRZQ KHUH 71DPH ;f f; ,27\SH ;f 7 71DPH =f f= ,27\SH =f f 251DPH 25JDWHf 25*DWH 25,QSXW 25JDWHf ^ ,, ` 252XWSXW 25JDWHf +1DPH +DOI$GGHUOf +DOI$GGHUO +,QSXW +DOI$GGHUOf $O %O` +2XWSXW +DOI$GGHUOf ^ 6L &O ` +1DPH +DOI$GGHUf n+DOI$GGHU +,QSXW +DOI$GGHUf ^ $ % ` +2XWSXW +DOI$GGHUf ^ 6 & ` $1DPH $GGHU6OLFHOf $GGHU6OLFHO 'HVLJQHU $GGHU6OLFHOf 2VWURPLQVN\ $,QSXW $GGHU6OLFHOf ^ ; < &O ` $2XWSXW $GGHU6OLFHOf ^ = &2 ` $&RQWDLQV $GGHU6OLFHOf +DOI$GGHUO +DOI$GGHU 25JDWH $&RQQHFWO $GGHU6OLFHO +DOI$GGHUO +DOI$GGHUf 6L % !

PAGE 39

$&RQQHFW $GGHU6OLFHO +DOI$GGHUO 25JDWHf &O ,, $&RQQHFW $GGHU6OLFHO +DOI$GGHU 25JDWHf & $/LQNO $GGHU6OLFHO ;f +DOI$GGHUO $ $/LQNO $GGHU6OLFHO
PAGE 40

REMHFW ZLOO LPSO\ WKDW WKHUH H[LVWV D FRPSRVLWH W\SH REMHFW ZKRVH FRPSRVLWH DJJUHJDn WLRQ LQFOXGHV WKH W\SH RI WKDW REMHFW ,I WKHUH GRHV QRW H[LVW VXFK D FRPSRVLWH W\SH REMHFW WKH REMHFW ZLOO EH UHIHUUHG WR DV D QRQFRQVWLWXHQW REMHFW 6XFK D GLVWLQFWLRQ LV QHFHVVDU\ VLQFH REMHFWV FDQ EH GHILQHG DW DQ\ VWDJH RI WKH GHVLJQ +HQFH D QRQn FRQVWLWXHQW REMHFW FDQ HYROYH LQWR D FRQVWLWXHQW REMHFW DQG D SULPLWLYH REMHFW FDQ FKDQJH LQWR D FRPSRVLWH REMHFW 5XOH $ FRQVWLWXHQW REMHFW FDQ EH FRQWDLQHG UHIHUHQFHGf E\ DW PRVW RQH FRPSRVLWH REMHFW 'HILQLWLRQ f 5XOH $ FRPSRVLWH REMHFW LV VDLG WR EH LQFRPSOHWH LI WKH UHIHUHQFHV WR DQ\ RI LWV FRQVWLWXHQWV DUH QRW ERXQG 'HILQLWLRQ f 7KDW LV WKHLU FRQVWLn WXHQWV DUH GHFODUHG DW WKH W\SH OHYHO EXW QRW FRPSOHWHO\ LQVWDQWLDWHG 5XOH D FRPSRVLWH REMHFW LV VDLG WR EH LQFRPSOHWH LI RQH RU PRUH RI LWV FRQVWLWXHQWV DUH LQFRPSOHWH 'HILQLWLRQ f 5XOH D PRGLILFDWLRQ LQ WKH LQWHUIDFH SURSHUWLHV RI D FRPSRVLWH REMHFW PD\ QHFHVVLWDWH PRGLILFDWLRQV LQ WKH LQWHUIDFH SURSHUWLHV RI LWV FRPSRQHQWV 7KLV GRZQZDUG SURSDJDWLRQ RI PRGLILFDWLRQV PD\ QRW DOZD\V EH QHFHVVDU\ LI LW LV DFFRPSDQLHG ZLWK WKH PRGLILFDWLRQV LQ WKH FRUUHVSRQGHQFH DQG LQWHUFRQQHFWLRQ DWWULn EXWHV RI WKH FRPSRVLWH REMHFWf 5XOH $ PRGLILFDWLRQ LQ WKH LQWHUQDO DVVHPEO\ &$ ,F RU &5 RI D FRPSRVLWH REMHFW REMHFW GRHV QRW KDYH DQ\ HIIHFW RQ LWV FRQVWLWXHQW REMHFWV 5XOH D FRQVWLWXHQW REMHFW LV QRW FRQVLGHUHG H[LVWHQWLDOO\ GHSHQGHQW RQ LWV FRPSRVLWH REMHFW 7KXV GHOHWLRQ RI D FRPSRVLWH REMHFW GRHV QRW UHVXOW LQ WKH GHOHWLRQ RI LWV FRQVWLWXHQWV RQO\ WKH FRPSRVLWH REMHFW LWVHOI DQG WKH IXQFWLRQV GHILQHG RQ LW DUH GHOHWHG $ FDVFDGHG GHOHWLRQ PXVW EH VSHFLILHG DV VXFK 7KHVH UXOHV DSSHDU WR EH DGHTXDWH IRU GHILQLQJ WKH LQQDWH FKDUDFWHULVLFV RI GHVLJQ REMHFWV +RZHYHU WKHVH UXOHV KDYH EHHQ IRUPXODWHG ZLWKRXW WDNLQJ LQWR

PAGE 41

DFFRXQW WKH GLPHQVLRQ RI YHUVLRQLQJ ,Q &KDSWHU ZH VKDOO SUHVHQW D IUDPHZRUN IRU YHUVLRQ PDQDJHPHQW :H VKDOO DOVR H[DPLQH ZKHWKHU WKHVH UXOHV QHHG WR EH H[WHQGHG RU UHOD[HG LQ WKH FRQWH[W RI YHUVLRQHG GHVLJQ REMHFWV ,W VKRXOG EH QRWHG WKDW WKH VXEGLYLVLRQ RI () DQG ,$ GLVFXVVHG LQ WKLV FKDSWHU PD\ QRW DOZD\V EH DGHTXDWH )XUWKHU H[SHULHQFH LQ VWUXFWXUDOPHFKDQLFDO HQJLQHHULQJ GHVLJQ LV QHHGHG WR WHVW WKH DERYH VXEGLYLVLRQ DQG YHULI\ LWV DGHTXDF\

PAGE 42

)LJXUH ] )LJXUH

PAGE 43

)LJXUH )LJXUH 2 )LJXUH

PAGE 44

6XP &DUU\ Q 6XP &DUU\ )LJXUH

PAGE 45

&+$37(5 9(56,21 &21752/ $1' 0$1$*(0(17 *HQHUDOO\ GHVLJQ RI DQ REMHFW VWDUWV ZLWK D KLJK OHYHO GHVFULSWLRQ RI VRPH DVSHFWV RI WKDW REMHFW $ QDPHG FROOHFWLRQ RI LQIRUPDWLRQ GHVFULELQJ DQ REMHFW DW WKH W\SH OHYHO LV FDOOHG D WHPSODWH ZKLFK FDQ EH PRGHOHG E\ D W\SH DQG D VHW RI IXQFWLRQV GHILQHG RQ LW $ GHVLJQ REMHFW LV VRPHWKLQJ WKDW UHWDLQV DQ LGHQWLW\ WKURXJKRXW WKH SHULRG LQ ZKLFK LW HYROYHV WKURXJK WKH GHVLJQ SURFHVV WKDW PD\ FKDQJH LWV VWDWH 9HUn VLRQV DUH VQDSVKRWV RI WKH REMHFW LQ GLIIHUHQW VWDWHV DQG DUH PRGHOHG E\ REMHFWV WKDW DUH GLVWLQFW IURP HDFK RWKHU WKRXJK WKH\ VKDUH VRPH LGHQWLILDEOH FRPPRQ FKDUDFn WHULVWLFV 7KH YHUVLRQV RI D GHVLJQ REMHFW FRQWDLQ TXDOLWDWLYHO\ RU TXDQWLWDWLYHO\ GLIIHUHQW LQIRUPDWLRQ EXW WKH\ HYROYH LQ WKH GLUHFWLRQ RI DQ XOWLPDWH GHVLJQ JRDO $ YHUVLRQ FRQWDLQV VXIILFLHQW LQIRUPDWLRQ WR LQVWDQWLDWH WKH REMHFW ,I WKH YHUVLRQ REMHFW LV FRPSRVLWH WKHQ LWV UHIHUHQFHV DUH ERXQG WR LWV YHUVLRQHG RU QRQYHUVLRQHG FRQVWLn WXHQW REMHFWV 7KHUH LV FRQVLGHUDEOH GHEDWH LQ WKH OLWHUDWXUH DV WR ZKHQ WZR LQVWDQFHV RI WKH VDPH W\SH DUH GLIIHUHQW REMHFWV DQG ZKHQ WKH\ DUH PHUHO\ GLIIHUHQW YHUVLRQV RI WKH VDPH REMHFW 7KH NH\ WR GHFLGLQJ WKLV LVVXH LV WR YLHZ GLIIHUHQW DWWULEXWHV RI D GHVLJQ REMHFW DV HLWKHU H[WULQVLF RU LQWULQVLF DWWULEXWHV 7KH LQWULQVLF SURSHUW\ GHVFULEH WKH HVVHQFH RI WKH REMHFW ,I LQWULQVLF SURSHUWLHV FKDQJH VR GRHV WKH REMHFW ([WULQVLF SURSHUWLHV RQ WKH RWKHU KDQG FDQ EH PRGLILHG ZLWKRXW FKDQJLQJ WKH REMHFW LQ DQ\ VLJQLILFDQW ZD\ ,QWHUIDFH LV DQ H[DPSOH RI LQWULQVLF DWWULEXWHV ZKHUHDV SURSHUWLHV VXFK DV GHVLJQHU FRRUGLQDWH SRVLWLRQ DQG HYHQ LQWHUQDO DVVHPEO\ DUH H[DPSOHV RI H[WULQVLF DWWULEXWHV ,Q HQJLQQHULQJ GHVLJQ WKHUH DUH PDQ\ VLWXDWLRQV ZKHUH WKH VDPH

PAGE 46

LQWHUIDFH FDQ EH PDWHULDOL]HG IURP GLIIHUHQW LPSOHPHQWDWLRQV LQWHUQDO DVVHPEOLHV RI DQ REMHFW )RU H[DPSOH )LJXUH DQG )LJXUH VKRZ DQ $GGHU 6OLFH LWV LQWHUIDFH DQG LWV LQWHUQDO DVVHPEO\ UHVSHFWLYHO\ )LJXUH SUHVHQWV D GLIIHUHQW LQWHUQDO DVVHPEO\ IRU WKH VDPH REMHFW $GGHU6OLFH 7KLV LQWHUQDO DVVHPEO\ FRQWDLQV D GLIIHUHQW VHW RI FRQVWLWXHQW REMHFWV EXW VKDUHV WKH VDPH LQWHUIDFH VKRZQ LQ )LJ f DQG SURYLGHV WKH VDPH IXQFWLRQDOLW\ 2QH RI RXU EDVLF WKHVHV LV WKDW GLIIHUHQW YHUVLRQV RI D GHVLJQ REMHFW VKDUH WKH VDPH LQWHUIDFH EXW KDYH GLIIHUHQW LQWHUQDO DVVHPEOLHV ,I WKH LQWHUIDFH SURSHUWLHV FKDQJH WKLV LPSOLHV WKDW WKH REMHFW LWVHOI KDV FKDQJHG LQ VRPH IXQGDPHQWDO ZD\ 6HYHUDO DUJXPHQWV FDQ EH SXW IRUWK LQ WKH VXSSRUW RI WKLV K\SRWKHVLV ,QWHUIDFH GHILQHV WKH IXQFWLRQDOLW\ RI WKH REMHFW DQG LV YLVLEOH WR WKH H[WHUQDO ZRUOG 'HVLJQ REMHFWV LQWHUDFWf§FRUUHVSRQG LQWHUFRQQHFWf§ZLWK RQH DQRWKHU WKURXJK LQWHUIDFH $ FRPSRVLWH REMHFW HQWHUV LQWR FRUUHVSRQGHQFH UHODWLRQVKLSV ZLWK WKH LQWHUIDFH SURSHUWLHV RI LWV FRQVWLWXHQWV 7KHUHIRUH DQ\ PRGLILFDWLRQ RI WKH LQWHUIDFH RI DQ REMHFW PD\ GLVTXDOLI\ LW IURP EHLQJ XVHG DV D FRPSRQHQW RI LWV FRPSRVLWH REMHFW &KDQJHV LQ WKH LQWHUQDO DVVHPEO\ RI DQ REMHFW LI LWV LQWHUIDFH UHPDLQV LQYDULDQW DUH QRW YLVLEOH WR WKH H[WHUQDO ZRUOG DQG PD\ WKXV ZDUUDQW FUHDWLRQ RI RQO\ D GLIIHUHQW YHUVLRQ 7KHUHIRUH ZH PDLQWDLQ WKDW GLIIHUHQW YHUVLRQV RI DQ REMHFW VKDUH WKH VDPH LQWHUIDFH SURSHUWLHV DQG VRPH GHVFULSWLYH DWWULEXWHV EXW FDQ GLIIHU IURP RQH DQRWKHU LQ WKHLU LQWHUQDO VWUXFWXUH ERWK DW WKH W\SH DQG LQVWDQFH OHYHOV

PAGE 47

*HQHULF 9HUVLRQHG DQG 8QYHUVLRQHG 2EMHFWV ,Q WKLV VHFWLRQ ZH GLVFXVV WKUHH V\VWHPGHILQHG W\SHV ZKLFK SURYLGH WKH EDVLF IUDPHZRUN IRU RXU SURSRVHG PHWKRGRORJLHV IRU YHUVLRQ PDQDJHPHQW (DFK GHVLJQ REMHFW LQ DGGLWLRQ WR SRVVHVVLQJ LWV RZQ W\SHV EHORQJV WR RQH RI WKUHH V\VWHPGHILQHG W\SHV 9HUVLRQHG *HQHULF RU 8QYHUVLRQHG ZKLFK DUH VXE W\SHV RI 'HVLJQ2EMHFW *HQHULF REMHFWV DUH LQVWDQFH RI W\SH *HQHULF 7KH LQVWDQFHV RI W\SH 9HUVLRQHG DUH YHUVLRQHG REMHFWV ZKLFK DUH DOVR FDOOHG YHUVLRQV 'HVLJQ REMHFWV ZKLFK DUH QRW JRLQJ WKURXJK D SURFHVV RI HYROXWLRQ DUH LQVWDQFHV RI W\SH 8QYHUVLRQHG 7KHVH WKUHH W\SHV DUH PXWXDOO\ H[FOXVLYH ,W VKRXOG DOVR EH SRVVLEOH WR G\QDPLFDOO\ DFTXLUH DQG GLVFDUG RQH RI WKHVH W\SHV 7KH SURWRFRO RI VXFK FRQYHUn VLRQ LV GLVFXVVHG LQ 6HFWLRQ :H VWLSXODWH WKDW RQO\ GHVLJQ REMHFWV DUH YHUVLRQ DEOH 7KH FRPPRQ FKDUDFWHULVWLFV WKDW DUH XVHG WR UHODWH DOO YHUVLRQV RI D GHVLJQ REMHFW DUH FDOOHG LWV LQYDULDQW SURSHUWLHV ,QYDULDQFH KRZHYHU GRHV QRW LPSO\ WKDW WKH\ FDQ QHYHU EH PRGLILHG LW PHDQV WKDW WKH\ DUH LQYDULDQW RYHU WKH YHUVLRQ VHW $ JHQHULF GHVLJQ REMHFW LV FKDUDFWHUL]HG E\ LWV LQYDULDQW H[WHUQDO IHDWXUHV ZKLFK VXEVXPHV WKH LQWHUIDFH SURSHUWLHV 7KHUHIRUH D JHQHULF REMHFW LGHQWLILHV WKH GHVLJQ REMHFW UHSUHVHQWV LWV HVVHQFH DQG FRQWDLQV D KLJK OHYHO DEVWUDFn WLRQ RI LWV IXQFWLRQDOLW\ ,Q WKLV PRGHO DOO YHUVLRQV RI D GHVLJQ REMHFW ZKLFK DUH DOORZHG WR KDYH GLIIHUHQW W\SHV YDOXHDFTXLUH 'HILQLWLRQ f WKH LQYDULDQW H[WHUQDO IHDWXUHV IURP LWV JHQHULF REMHFW 7KH W\SH RI D YHUVLRQHG REMHFW DSSHDUV LQ WKH JHQHUDOL]DWLRQ JUDSK DV D VXEW\SH RI WKH JHQHULF REMHFW W\SH LI WKH\ DUH RI GLIIHUHQW DVVLJQHGW\SHV )XUWKHUn PRUH WKH YHUVLRQHG REMHFWV DSSHDU DV UHFHSWRUV ZLWK WKH JHQHULF REMHFW DV WKHLU WUDQVPLWWHU LQ WKH LQVWDQFH JUDSK 7KHUH LV RQO\ RQH JHQHULF REMHFW IRU HDFK YHUVLRQ

PAGE 48

VHW 7KLV VFKHPH SURYLGHV D SDUDGLJP WKDW UHODWHV DOO YHUVLRQV RI D GHVLJQ REMHFW DQG DOVR HQVXUHV WKDW WKH\ KDYH LGHQWLFDO LQWHUIDFH DWWULEXWHV $ QXPEHU RI IXQFWLRQV FDQ EH GHILQHG WR UHODWH D JHQHULF REMHFW DQG LWV YHUVLRQV DQG WR PRGHO WKHLU EDVLF SURSHUWLHV 6RPH RI WKHVH V\VWHPGHILQHG IXQFWLRQV DUH VKRZQ KHUH *HQHULFOQVW 9HUVLRQHGf f§ *HQHULF )LUVW9HUVLRQ *HQHULFf f§ 9HUVLRQHG ,QLWLDO9HUVLRQV *HQHULFf f§ 9HUVLRQHG P 9HUVLRQ6HW *HQHULFf f§ 9HUVLRQHG P ,PPHG6XFFHVVRU 9HUVLRQHGf f§rf 9HUVLRQHG ,PPHG3UHGHFHVVRU 9HUVLRQHGf f§ 9HUVLRQHG 9HUVLRQ1XPEHU 9HUVLRQHGf f§ ,QWHJHU &UHDWLRQ7LPH 9HUVLRQHGf f§ 7LPH6WDPS 9HUVLRQ6WDWXV 9HUVLRQHGf f§ 6WDWXV *HQHULFOQVW PDSV D YHUVLRQHG REMHFW RQWR LWV JHQHULF REMHFW IURP ZKLFK LW DFTXLUHV LWV LQYDULDQW DWWULEXWHV )LUVW9HUVLRQ UHWXUQV WKH HDUOLHVW YHUVLRQ RI WKH YHUVLRQ VHW ,QLWLDO9HUVLRQ UHWXUQV WKH VHW RI DOO WKH YHUVLRQV ZKLFK DUH LQLWLDOO\ FUHDWHG DQG KDYH QR SUHGHFHVVRUV 7KHVH YHUVLRQV DUH FRQVLGHUHG DOWHUQDWLYHV WR EH H[SODLQHG ODWHUf RI WKH GHVLJQ 9HUVLRQ1XPEHU UHWXUQV WKH YHUVLRQ LGHQWLILHU WKDW LV XQLTXH ZLWKLQ D YHUVLRQ VHW 2WKHU IXQFWLRQV DUH VHOIH[SODQDWRU\ 9HUVLRQ *UDSK $ YHUVLRQ JUDSK FDSWXUHV WKH HYROXWLRQ KLVWRU\ RI YHUVLRQHG REMHFWV :H GHILQH D YHUVLRQ JUDSK 9*f DV D GLVFRQQHFWHG DF\FOLF GLUHFWHG JUDSK 7KH HGJHV RI WKLV JUDSK UHSUHVHQW WKH VXFFHVVRUSUHGHFHVVRU UHODWLRQVKLS 7KH YHUVLRQ JUDSK 9* ) (Yf ZKHUH 9\ & 9HUVLRQHG DQG (Y LV D VHW RI GLUHFWHG HGJHV

PAGE 49

9 Y Z ( 9 *HQHULFOQVW L!f *HQHULFOQVW Zf D SDUWLWLRQ ^ 9Y (9Y (WA9L (^f9Q (Qf` RI 9* ZKHUH HDFK PHPEHU RI WKLV SDUWLWLRQ LV D FRQQHFWHG VXEJUDSK )RU HDFK VXEJUDSK >9 LIf H[DFWO\ RQH Y ( 9 VXFK WKDW LQGHJUHHYf )LJXUH VKRZV DQ H[DPSOH RI D YHUVLRQ JUDSK 7KH URRWV RI WKH VXEn JUDSKV 'YO DQG 'Y DUH WKH REMHFWV UHWXUQHG E\ IXQFWLRQ ,QLWLDO9HUVLRQV 7KHVH YHUVLRQV FDQ EH YLHZHG DV GLIIHUHQW DOWHUQDWLYHV RI D GHVLJQ 7KH QRQURRW YHUVLRQV LQ D VXEJUDSK FDQ EH ORRNHG XSRQ DV WKH UHILQHPHQWV RI WKH DOWHUQDWLYH GHVLJQ WKDW IRUPV WKH URRW RI D VXEJUDSK )RU H[DPSOH 'Y KDV EHHQ GHULYHG IURP 'YO DQG LV WKXV LWV UHILQHPHQW 9HUVLRQV LQ D VXEJUDSK DUH GHULYHG IURP HDFK RWKHU DQG KHQFH KDYH WKH VDPH XVHUGHILQHG W\SHV $V PHQWLRQHG HDUOLHU WKH URRWV RI VXEJUDSKV DUH QRW QHFHVVDULO\ RI WKH VDPH W\SH $OO WKH YHUVLRQV LQ D YHUVLRQ JUDSK WKDW LV 9 LV UHIHUUHG WR DV D YHUVLRQ VHW 9HUVLRQV LQ WKH YHUVLRQ VHW DUH FRQVLGHUHG HTXLYDOHQW DV WKH\ KDYH LGHQWLFDO LQYDULDQW DWWULEXWHV ,Q WKH IRUWKFRPLQJ GLVFXVVLRQ ZH XVH WKH WHUP HTXLYDOHQW YHUn VLRQV IRU WKH PHPEHUV RI WKH VDPH YHUVLRQ VHW 9HUVLRQLQJ DW WKH 7\SH DQG ,QVWDQFH /HYHOV ,Q WKH OLWHUDWXUH LW KDV RIWHQ EHHQ IHOW WKDW YHUVLRQLQJ VKRXOG EH DOORZHG ERWK DW WKH W\SH OHYHO DQG LQVWDQFH OHYHO 9HUVLRQLQJ DW WKH LQVWDQFH OHYHO LPSOLHV WKDW GLIIHUHQW YHUVLRQV RI WKH VDPH REMHFW GLIIHU RQO\ LQ WKH YDOXHV RI VRPH RI WKHLU SURSHUWLHV 9HUVLRQLQJ DW WKH W\SH OHYHO RQ WKH RWKHU KDQG PHDQV WKDW HTXLYDOHQW YHUVLRQ FDQ KDYH GLIIHUHQW DVVLJQHG W\SHV ,W KDV DQ DGGHG LPSOLFDWLRQ WKDW PRGLILFDWLRQV RI D WHPSODWH D W\SH DQG D FROOHFWLRQ RI DWWULEXWHV GHILQHG RQ LW FUHDWHV DQRWKHU WHPSODWH YHUVLRQ )XUWKHUPRUH WKHUH LV DQ XQGHUO\LQJ

PAGE 50

DVVXPSWLRQ WKDW D WHPSODWH LV DGHTXDWH IRU SURYLGLQJ D FRPSOHWH GHVFULSWLRQ RI D GHVLJQ REMHFW 6RPH VFKHPHV ZKLFK DGYRFDWH YHUVLRQLQJ DW WKH W\SH OHYHO SURSRVH WKDW D GHULYHG YHUVLRQ VKRXOG EH D VXEW\SH RI LWV SUHGHFHVVRU YHUVLRQ VR WKDW D GHVLJQ PD\ HYROYH WKURXJK LQFUHPHQWDO VWHSV DV VXFFHVVRU YHUVLRQV LQKHULW DOO DWWULEXWHV RI WKHLU SUHGHFHVVRUV EHVLGHV KDYLQJ WKHLU RZQ SURSHUWLHV 7KLV VFKHPH SXWV DQ XQQDWXUDO FRQVWUDLQW RQ WKH GHVLJQ SURFHVV E\ LPSRVLQJ DQ LQFUHPHQWDO VWUDWHJ\ 0RVW V\VWHPV KRZHYHU SURYLGH YHUVLRQLQJ DW WKH LQVWDQFH OHYHO VLQFH YHUVLRQLQJ DW WKH W\SH OHYHO LV QRW ZLWKRXW LWV SUREOHPV )LUVW LW LV TXLWH D GHYLDWLRQ IURP WKH WUDGLWLRQDO QRWLRQV RI GDWD DQG GDWDEDVHV 6HFRQG WHPSODWHV RIWHQ SURYH WR EH LQVXIILFLHQW LQ SURYLGLQJ D FRPSOHWH GHVFULSWLRQ RI D GHVLJQ REMHFW VLQFH PDQ\ DWWULEXWHV VWLOO QHHG LQVWDQWLDWHG YDOXHV 7KLUG LQ PDQ\ DSSOLFDWLRQV HJ VRIWZDUH GHVLJQ YHUVLRQLQJ DW WKH W\SH OHYHO KDV QR UHOHYDQFH DW DOO 7KH SURSRVHG VFKHPH EULQJV DERXW D FRPSURPLVH EHWZHHQ WKH WZR RSSRVLQJ YLHZV 9HUVLRQLQJ UHPDLQV DW WKH LQVWDQFH OHYHO LQ WKH VHQVH WKDW DOO LQIRUn PDWLRQ LV UHTXLUHG WR EH LQVWDQWLDWHG +RZHYHU YHUVLRQV FDQ KDYH HQWLUHO\ GLIIHUHQW W\SHV DQG WKXV GLIIHUHQW LQWHUQDO DVVHPEO\ SURSHUWLHV 7KHVH GLVSDUDWH W\SHV RI YDULn RXV YHUVLRQV DUH UHODWHG WRJHWKHU E\ WKH JHQHULF REMHFW DQG WKH PHFKDQLVP RI YDOXH DFTXLVLWLRQ RI LQYDULDQW DWWULEXWHV )RU LQVWDQFH LQ )LJXUH OHW WKH JHQHULF REMHFW 'J EH RI DVVLJQHG W\SH ; DQG WKH YHUVLRQV 'YO DQG 'Y EH RI DVVLJQHGW\SHV < DQG = UHVSHFWLYHO\ < DQG = DUH VXEW\SHV RI ; 'YO DQG 'Y DUH UHODWHG E\ WKH LPSRVLWLRQ RI LQYDULDQW DWWULEXWH DFTXLVLWLRQ IURP 'J

PAGE 51

&UHDWLRQ DQG 8SGDWDELOLW\ RI 9HUVLRQV 7R PRGHO WKH G\QDPLF EHKDYLRU RI YHUVLRQV WKH V\VWHP VKRXOG EH DEOH WR UHFRUG VLJQLILFDQW FKDQJHV LQ WKH HYROXWLRQ KLVWRU\ RI GHVLJQ 7KLV UHTXLUHV FDWHJRUL]n LQJ WKH IXQFWLRQV DWWULEXWHVf RI YHUVLRQHG REMHFWV LQWR GLIIHUHQW FODVVHV ,W VKRXOG EH HPSKDVL]HG WKDW D GHVLJQ REMHFW LWVHOI LV D FRPSOH[ VWUXFWXUH ZKLFK KDV GLIIHUHQW FODVVHV RI DWWULEXWHV HYHQ LQ XQYHUVLRQHG VWDWH &ODVVLILFDWLRQ RI 9HUVLRQ $WWULEXWHV :H SUHVHQW D FODVVLILFDWLRQ RI DWWULEXWHV RI GHVLJQ REMHFWV 7KH QRWLRQ RI FODVV GHILQHG LQ 6HFWLRQ LV XVHG WR PRGHO EHKDYLRU RI D GHVLJQ REMHFW RQ WKH XSGDWDELOLW\ RI YDULRXV JURXSV RI IXQFWLRQV )LJXUHV DQG VKRZ WKH FODVVLILFDWLRQ RI IXQFWLRQV IRU XQYHU VLRQHG JHQHULF DQG YHUVLRQHG REMHFWV UHVSHFWLYHO\ 'J DQG 'Jf IRUP D SDUWLWLRQ RI GHVFULSWLYH DWWULEXWHV 'J )LJXUH GRHV QRW VKRZ DQ\ LQWHUQDO DVVHPEO\ DWWULEXWHV VLQFH JHQHULF REMHFWV E\ GHILQLWLRQ GR QRW SRVVHVV DQ\ LQWHUQDO VWUXFWXUH ,Q )LJXUH # VWDQGV IRU LQYDULDQW DWWULEXWHV r UHSUHVHQWV YHUVLRQVLJQLILFDQW DWWULEXWHV DQG II VWDQGV IRU QRQYHUVLRQVLJQLILFDQW DWWULEXWHV 7KHVH WHUPV ZLOO EH GHILQHG VKRUWO\ ,W VKRXOG EH QRWHG WKDW LQ )LJXUH DOO LQWHUIDFH DWWULEXWHV DUH YDOXHDFTXLUHG IURP WKH JHQHULF REMHFW LQVWDQFH DQG 'V DUH DWWULEXWHV LQKHULWHG IURP WKH JHQHULF REMHFW W\SH ,W VKRXOG EH UHFDOOHG WKDW YDOXHDFTXLVLWLRQ LPSOLHV DWWULEXWH LQKHULWDQFH 7KH WKUHH FODVVHV RI DWWULEXWHV LQYDULDQW YHUVLRQVLJQLILFDQW DQG QRQYHUVLRQVLJQLILFDQW SURYLGH D PHFKDQLVP IRU FRQWUROOLQJ XSGDWH SURSDJDWLRQ LQ YHUVLRQV 9HUVLRQVLJQLILFDQW DWWULEXWHV FDQ EH XSGDWHG RQO\ LQ D QRQGHVWUXFWLYH PDQQHU &RQFHSWXDOO\ PRGLILFDWLRQV LQ RQH RI WKHVH DWWULEXWHV FUHDWHV D QHZ GHULYHG YHUVLRQHG REMHFW EHDULQJ WKH FKDQJH 6XFK FUHDWLRQV RI QHZ YHUVLRQ DUH FDOOHG

PAGE 52

PXWDWLRQ 7KHUH LV DQ LPSRUWDQW H[FHSWLRQ WR WKLV UXOH 7KH UHSODFHPHQW RI HTXLYDOHQW YHUVLRQV E\ RQH DQRWKHU LQ WKH LQWHUQDO DVVHPEO\ IXQFWLRQV WKRXJK WKH\ DUH GHILQHG WR EH YHUVLRQVLJQLILFDQW GRHV QRW FDXVH PXWDWLRQ 7KLV UXOH SURYLGHV D PHFKDQLVP IRU HIIHFWLYHO\ FRQWUROOLQJ XQQHFHVVDU\ SUROLIHUDWLRQ RI YHUVLRQV ,Q WKH IRUWKFRPLQJ GLVFXVVLRQ ZH UHIHU WR WKLV XSGDWH DV HTXLYDOHQFH PRGLILFDWLRQ 1RQYHUVLRQVLJQLILFDQW DWWULEXWHV RI DQ REMHFW FDQ DOZD\V EH PRGLILHG ZLWKRXW FDXVLQJ DQ\ PXWDWLRQ 7KH LQYDULDQW DWWULEXWHV RI YHUVLRQHG REMHFW FDQQRW EH PRGLILHG DW WKH YHUVLRQ OHYHO VLQFH WKH\ DUH YDOXHDFTXLUHG IURP WKH JHQHULF REMHFW 7KH WKUHH FODVVHV LQYDULDQW YHUVLRQVLJQLILFDQW DQG QRQYHUVLRQVLJQLILFDQW FDQ EH GHILQHG DV VXEW\SHV RI & DQG GLIIHUHQW IXQFWLRQV FDQ EH DFFRUGLQJO\ GHFODUHG DV WKHLU PHPEHUV 9HUVLRQ 6WDWHV DQG 2SHUDWLRDV $ IHDWXUH WKDW SURYLGHV DXWRPDWLF JHQHUDWLRQ RI D QHZ YHUVLRQ RQ WKH PRGLILFDWLRQ RI YHUVLRQVLJQLILFDQW DWWULEXWHV ZRXOG EH TXLWH FRQYHQLHQW +RZHYHU LQ GHVLJQ DSSOLFDWLRQV PRGLILFDWLRQV DUH UDUHO\ DWRPLF QRUPDOO\ WKH\ DUH EDWFKHG XSGDWHV )RU LQVWDQFH LI WKH FRPSRQHQW DJJUHJDWLRQ SURSHUWLHV DUH PRGLILHG WKLV FDQ UHTXLUH PRGLILFDWLRQV LQ LQWHUFRQQHFWLRQ DQG FRUUHVSRQGHQFH DWWULEXWHV ,Q RUGHU WR SURYLGH QRQDWRPLF XSGDWHV DQG WR PDLQWDLQ WKH FRQVWUDLQWV RI YHUVLRQVLJQLILFDQW DQG QRQYHUVLRQVLJQLILFDQW SURSHUWLHV ZH VWLSXODWH WKDW D YHUVLRQHG REMHFW EH LQ HLWKHU RI WKH IROORZLQJ WKUHH VWDWHV YDOLGDWHG VWDEOH DQG WUDQVLHQW 7KH FKDUDFWHULVWLFV RI WKHVH WKUHH YHUVLRQ VWDWHV DUH GHVFULEHG EHORZ 9DOLGDWHG YHUVLRQV KDYH WKH IROORZLQJ FKDUDFWHULVWLFV 1R PRGLILFDWLRQ LV DOORZHG RQ YDOLGDWHG YHUVLRQV $OO WKH FRQVWLWXHQW UHIHUHQFHV LQ D YDOLGDWHG YHUVLRQ PXVW EH ERXQG HLWKHU WR XQYHUVLRQHG RU RWKHU YDOLGDWHG YHUVLRQV

PAGE 53

&RQFXUUHQW DFFHVV LV DOORZHG RQ WKHP 1HZ YHUVLRQV FDQ EH GHULYHG IURP WKHP 6WDEOH YHUVLRQV KDYH WKH IROORZLQJ FKDUDFWHULVWLFV 7KHLU YHUVLRQVLJQLILFDQW DWWULEXWHV FDQQRW EH PRGLILHG VXEMHFW WR WKH H[FHSWLRQ RI HTXLYDOHQFH PRGLILFDWLRQ 1RQYHUVLRQVLJQLILFDQW DWWULEXWHV FDQ EH PRGLILHG 1HZ YHUVLRQV FDQ EH GHULYHG IURP VWDEOH YHUVLRQV &RQFXUUHQW DFFHVV LV SURYLGHG RQ WKHP 7UDQVLHQW YHUVLRQV KDYH WKH IROORZLQJ FKDUDFWHULVWLFV $OO QRQLQYDULDQW DWWULEXWHV RI D WUDQVLHQW YHUVLRQV FDQ EH PRGLILHG $OO QHZO\ FUHDWHG DQG GHULYHG YHUVLRQV EHJLQ LQ WKH WUDQVLHQW VWDWH 1HZ YHUVLRQV FDQQRW EH GHULYHG IURP WKHP 7KH IROORZLQJ WDEOH VXPPDUL]HV WKH XSGDWDELOLW\ RI YHUVLRQV LQ WKH WKUHH VWDWHV ,QYDULDQW 9HUVLRQ VLJQLILFDQW 1RQYHUVLRQ VLJQLILFDQW 7UDQVLHQW 1R
PAGE 54

3URPRWH LV DQ RSHUDWLRQ GHILQHG RQ WUDQVLHQW RU VWDEOH YHUVLRQHG REMHFWV :KHQ DSSOLHG WR WUDQVLHQW RU VWDEOH YHUVLRQV LW FKDQJHV WKHLU VWDWHV WR VWDEOH RU YDOLn GDWHG VWDWXVHV UHVSHFWLYHO\ &UHDWH LV DQ RSHUDWLRQ GHILQHG RQ D JHQHULF REMHFW IRU FUHDWLQJ D QHZ WUDQVLHQW YHUVLRQHG REMHFW IURP WKH JHQHULF REMHFW ,W HQWDLOV WKH IROORZLQJ VWHSV 7KLV RSHUDWLRQ UHTXLUHV D PDQGDWRU\ VSHFLILFDWLRQ RI D XVHUGHILQHG W\SH DORQJ ZLWK WKH LGHQWLILHU RI WKH JHQHULF REMHFW $Q REMHFW RI WKH JLYHQ W\SH DV ZHOO DV RI W\SH 9HUVLRQHG LV FUHDWHG DQG LW LV DVVLJQHG D YHUVLRQ QXPEHU ,W LV PDGH WR YDOXHDFTXLUH WKH LQYDULDQW DWWULEXWHV IURP WKH JHQHULF REMHFW 1R YDOXHV DUH DVVLJQHG WR LWV RWKHU DWWULEXWHV ,W LV LQVHUWHG DV D URRW LQ WKH YHUVLRQ JUDSK 7KLV YHUVLRQ LV UHWXUQHG E\ IXQFWLRQ ,QLWLDO9HUVLRQV 7KLV YHUVLRQHG REMHFW VWDUWV LQ WKH WUDQVLHQW VWDWH 7KH SURPRWH RSHUDWLRQ ZKLFK PD\ IROORZ SRVVLEOH PRGLILFDWLRQV FKDQJHV WKLV YHUVLRQ WR WKH VWDEOH VWDWH 'HULYH LV DQ RSHUDWLRQ GHILQHG RQ VWDEOH RU YDOLGDWHG YHUVLRQHG REMHFWV ,W FUHDWHV D FRS\ RI WKH RSHUDQG YHUVLRQ LQ WKH WUDQVLHQW VWDWH DQG DVVLJQV LW D YHUVLRQ QXPEHU ,W HQWDLOV WKH IROORZLQJ VWHSV $ QHZ REMHFW RI WKH VDPH W\SHV DV WKH JLYHQ YHUVLRQHG REMHFW LV FUHDWHG DQG D YHUVLRQ QXPEHU LV DVVLJQHG WR LW ,W LV PDGH WR YDOXHDFTXLUH DOO WKH LQYDULDQW DWWULEXWHV IURP WKH JHQHULF REMHFW RI WKH JLYHQ YHUVLRQ $OO RWKHU DWWULEXWH YDOXHV ZLWK WKH H[FHSWLRQ RI WKH IXQFWLRQV GHILQHG RQ W\SH 9HUVLRQHG DUH FRSLHG IURP WKH JLYHQ YHUVLRQ ,W LV LQVHUWHG LQ WKH YHUVLRQ JUDSK DV DQ LPPHGLDWH VXFFHVVRU RI WKH JLYHQ YHUn VLRQ

PAGE 55

7KH GHULYHG YHUVLRQ VWDUWV LQ WKH WUDQVLHQW VWDWH 7KH SURPRWH RSHUDWLRQ ZKLFK PD\ IROORZ SRVVLEOH PRGLILFDWLRQV FKDQJHV LWV VWDWH WR WKH VWDEOH VWDWXV &RQYHUW LV DQ RSHUDWLRQ WKDW FRQYHUWV DQ H[LVWLQJ XQYHUVLRQHG REMHFW LQWR D JHQHULF REMHFW ZLWK LWV ILUVW YHUVLRQ ,W HQWDLOV WKH IROORZLQJ VWHSV 7KH W\SH JHQHULF LV DGGHG WR WKLV REMHFW $ QHZ REMHFW RI WKH VDPH XVHUGHILQHG W\SH DV ZHOO DV RI W\SH 9HUVLRQHG LV FUHDWHG ,W LV PDGH WR YDOXH LQKHULW DOO WKH LQYDULDQW DWWULEXWHV IURP WKH JHQHULF REMHFW $OO RWKHU DWWULEXWH YDOXHV RI WKH JHQHULF REMHFW DUH FRSLHG WR WKLV YHUVLRQHG REMHFW ,W LV DVVLJQHG D YHUVLRQ QXPEHU DQG LV LQVHUWHG LQ WKH YHUVLRQ JUDSK DV D URRW RI D VXEJUDSK 7KLV YHUVLRQ LV UHWXUQHG E\ IXQFWLRQ )LUVW9HUVLRQf 7KH LQWHUQDO DVVHPEO\ SURSHUWLHV RI WKH JHQHULF REMHFW LI DQ\ DUH GHOHWHG ,Q )LJXUH WKH WUDQVLWLRQ GLDJUDP VKRZV WKH HIIHFW RI DSSO\LQJ WKHVH RSHUDWLRQV RQ XQYHUVLRQHG JHQHULF DQG YHUVLRQHG REMHFWV 7KH GDVKHG DUURZ VLJQLILHV WKDW WKH REMHFW LWVHOI XQGHUJR FKDQJH ZKHUHDV WKH VROLG DUURZV PHDQV WKDW WKH REMHFW UHPDLQV XQFKDQJHG DQG WKDW WKHVH RSHUDWLRQV JLYH ULVH WR D QHZ REMHFW &RS\LQJ RI 9HUVLRQHG &RPSRVLWH 2EMHFWV ,Q WKH FRQWH[W RI FUHDWLQJ RU GHULYLQJ D YHUVLRQ UHIHUHQFHV KDYH EHHQ PDGH WR WKH RSHUDWLRQ RI FRS\LQJ ,Q WKLV VHFWLRQ WKH GHWDLOV RI FRS\LQJ LV GLVFXVVHG 2QH RI WKH UHDVRQV ZK\ QR FRQVHQVXV FRXOG EH DFKLHYHG RQ VHYHUDO DVSHFWV RI YHUVLRQ PDQDJHPHQW LV WKH IDFW WKDW WKH ERXQGDU\ RI D GHVLJQ REMHFW LV QRW FOHDUO\ GHILQHG ,Q FRQYHQWLRQDO GDWDEDVHV DQ REMHFW FDQ HQWHU LQWR DQ\ QXPEHU RI

PAGE 56

DVVRFLDWLRQV ZLWK RWKHU REMHFWV DQG DQ\ FKDQJHV LQ WKH REMHFW LV GLUHFWO\ RU LQGLUHFWO\ SURSDJDWHG WR RWKHU VXFK REMHFWV 7KLV LV QRW WUXH LQ GHVLJQ GDWDEDVHV 7KH DEVWUDFWLRQV ZH KDYH SURSRVHG LQ WKLV PRGHO DOORZ XV WR GHOLQHDWH WKH ERXQGDULHV RI D GHVLJQ REMHFW 7KH LQWHUIDFH SURSHUWLHV DUH HVVHQWLDO LQ XQGHUn VWDQGLQJ WKH QDWXUH RI GHVLJQ REMHFWV DQG LWV ERXQGDULHV ,QWHUFRQQHFWLRQ DQG FRUUHVSRQGHQFH DUH WKH RQO\ UHODWLRQVKLSV WKURXJK ZKLFK D GHVLJQ REMHFW LQWHUDFWV ZLWK RWKHU GHVLJQ REMHFWV )XUWKHUPRUH WKHVH LQWHUDFWLRQV LQYROYH WKH LQYDULDQW LQWHUIDFH $V QRWHG EHIRUH ZH VWLSXODWH WKDW RQO\ GHVLJQ REMHFWV DUH YHUVLRQDEOH &RQVHTXHQWO\ WKH ERXQGDULHV RI D GHVLJQ REMHFW FDQ EH GLVWLQFWO\ GHOLQHDWHG E\ LWV H[WHUQDO IHDWXUHV DQG LWV LQWHUQDO DVVHPEO\ VLQFH WKH\ DUH QHFHVVDU\ DQG VXIILFLHQW WR LQVWDQWLDWH WKH REMHFW 7KLV LPSOLHV WKDW IRU D FRQVWLWXHQW REMHFW WKH FRPSRVLWH REMHFW WKDW UHIHUHQFHV LW DQG RWKHU FRQVWLWXHQW REMHFWV WKDW LQWHUDFW ZLWK LW OLH EH\RQG LWV SK\VLFDO DQG FRQFHSWXDO ERXQGDULHV &RS\LQJ RI D YHUVLRQ REMHFW LV GHILQHG DV WKH FUHDWLRQ RI DQRWKHU YHUn VLRQHG REMHFW ZKLFK LV DVVLJQHG XQLTXH REMHFW LGHQWLILHU DQG YHUVLRQ QXPEHU DQG ZKLFK SRVVHVVHV LGHQWLFDO H[WHUQDO IHDWXUHV DQG LQWHUQDO DVVHPEO\ 7KXV D QHZO\ FUHDWHG RU GHULYHG YHUVLRQ LV QRW UHIHUHQFHG E\ DQ\ FRPSRVLWH REMHFW 7KH YDOXHV RI IXQFWLRQV GHILQHG RQ W\SH 9HUVLRQHG VXFK DV &UHDWLRQ7LPH 9HUVLRQ1XPEHU HWF PXVW EH GLIIHUHQW ,Q FDVH RI FRPSRVLWH REMHFWV FRS\LQJ RI LQWHUQDO DVVHPEO\ LPSOLHV WKDW D YHUVLRQHG RU XQYHUVLRQHG REMHFW FDQ DSSHDU DV D FRQVWLWXHQW REMHFW LQ PRUH WKDQ RQH FRPSRVLWH REMHFWV 7KLV VHHPV WR YLRODWH 5XOH ZKLFK UHTXLUHV WKDW D GHVLJQ REMHFW FDQ EH D FRPSRQHQW RI DW PRVW RQH FRPSRVLWH REMHFW ,Q 6HFWLRQ ZH VKDOO UHYLHZ WKH UXOHV JLYHQ LQ &KDSWHU

PAGE 57

9HUVLRQ 3UROLIHUDWLRQ $V YHUVLRQHG REMHFWV PD\ WKHPVHOYHV FRQWDLQ RWKHU YHUVLRQHG REMHFWV DV FRQVWLWXHQWV DQ XQFRQWUROOHG SURSDJDWLRQ RI XSGDWH FDQ SUROLIHUDWH WR WKH WRS 7KH FRPSRVLWH DJJUHJDWLRQ LV GHILQHG WR EH YHUVLRQVLJQLILFDQW DQG WKXV LWV PRGLILFDWLRQ PXVW FDXVH PXWDWLRQ +RZHYHU WKH SURSRVHG PHWKRGRORJ\ E\ YLHZLQJ DOO YHUVLRQV LQ D YHUVLRQ VHW DV HTXLYDOHQW DQG LQWHUFKDQJHDEOH SURYLGHV WKH FDSDELOLW\ IRU H[SORUn LQJ DQG H[SHULPHQWLQJ ZLWK GLIIHUHQW YHUVLRQV RI D FRQVWLWXHQW REMHFW ZLWKRXW KDYLQJ WR FUHDWH D QHZ YHUVLRQ RI LWV FRPSRVLWH REMHFW 7KH GHVLJQHU KRZHYHU KDV WKH RSWLRQ RI FUHDWLQJ D QHZ YHUVLRQ DQG LQFRUSRUDWLQJ WKH FKDQJHV WKHUH $Q H[DPSOH VKRXOG LOOXVWUDWH WKH SRLQW ,Q )LJXUH D YHUVLRQHG REMHFW $YO KDV WZR FRQVWLWXHQW REMHFWV %YO DQG &Y %YO LQ WXUQ FRQWDLQV 'Y DQG (Y DQG &Y FRQWDLQV )Y DQG *Y 6XSSRVH D QHZ YHUVLRQ '9 LV GHULYHG IURP 'Y ,WV YHUVLRQ JUDSK LV VKRZQ LQ )LJXUH f %YO FKDQJHV LWV UHIHUHQFH IURP 'Y WR 'Y ZKLFK LV VKRZQ LQ )LJXUH 6LQFH %YO KDV XQGHUJRQH HTXLYDOHQFH PRGLILFDWLRQ QR QHZ YHUVLRQ RI %YO QHHG WR EH FUHDWHG +RZHYHU LW LV SRVVLEOH WR GHULYH D QHZ YHUVLRQ %Y QRW VKRZQ LQ WKH ILJXUHVf IURP %YO DQG WR UHSODFH 'Y E\ 'Y LQ %Y $JDLQ HLWKHU %Y FDQ VLPSO\ UHSODFH %YO LQ $YOfV DVVHPEO\ RU D QHZ YHUVLRQ $Y FDQ EH GHULYHG IURP $YO DQG WKH FKDQJH FDQ EH LQFRUSRUDWHG LQ $Y 7KXV WKH GHVLJQHU KDV WKH RSWLRQ DW HYHU\ OHYHO RI FRPSRVLWLRQ KLHUDUFK\ WR FKRRVH IURP RQH RI WKH WZR VWUDWHJLHV /HW XV FRQVLGHU DQRWKHU VFHQDULR 7KH LQWHUQDO DVVHPEO\ RI &Y QHHG WR EH FKDQJHG E\ DGGLQJ D QHZ REMHFW +YO WR LWV FRPSRVLWH DJJUHJDWLRQ DQG XSGDWLQJ LWV LQWHUFRQQHFWLRQV DQG FRUUHVSRQGHQFH :H DVVXPH WKDW LW KDV QR HIIHFW RQ WKH LQWHUIDFH RI &Yf 7KLV FDQQRW EH GRQH ZLWKRXW PXWDWLQJ &Y 7KXV D QHZ YHUn VLRQ &Y LV GHULYHG IURP &Y DQG QHFHVVDU\ PRGLILFDWLRQ DUH PDGH LQ &Y DV VKRZQ LQ )LJXUH (LWKHU &Y FDQ EH UHSODFHG E\ &Y LQ WKH LQWHUQDO DVVHPEO\

PAGE 58

RI $YO RU $YO LV PXWDWHG )LJXUH UHSUHVHQWV WKH VLWXDWLRQ ZKHUH D UHSODFHPHQW LV PDGH LQ WKH FRPSRVLWLRQ DJJUHJDWLRQ RI $YO ZLWKRXW FDXVLQJ DQ\ PXWDWLRQ :H FDQ VXPPDUL]H WKHVH WZR RSWLRQV DV IROORZLQJ 2QH WKH GHVLJQHU FDQ H[SORUH GLIIHUHQW FRQILJXUDWLRQV RI D FRPSRVLWH REMHFW E\ DSSO\LQJ HTXLYDOHQFH PRGLILFDWLRQV WR LWV LQWHUQDO DVVHPEO\ ZKLFK GRHV FDXVH PXWDWLRQ 7ZR WKH GHVLJQHU FDQ GHULYH D QHZ YHUVLRQ LQ D WUDQVLHQW VWDWH DQG LQFRUSRUDWH WKRVH FKDQJHV WKHUH WKLV RSWLRQ FDQ EH XVHG DW HYHU\ OHYHO RI FRPSRVLWLRQ KLHUDUFK\ 7KHVH SURWRFROV DOORZ D FRQWUROOHG XSGDWH SURSDJDWLRQ DQG YHUVLRQ SUROLIHUDWLRQ '\QDPLF %LQGLQJ DQG *HQHULF 2EMHFWV ,Q D GHVLJQ HQYLURQPHQW D IDFLOLW\ LV IUHTXHQWO\ GHVLUHG ZKLFK DOORZV DQ LQGLUHFW IRUP RI DGGUHVVLQJ ZKHUHE\ FRPSRVLWH REMHFWV FDQ PDNH JHQHULF UHIHUHQFHV WR FRQVWLWXHQW REMHFWV 7KHVH UHIHUHQFHV SURYLGH G\QDPLF ELQGLQJ DV WKH\ PD\ DW VRPH ODWHU WLPH EH FRHUFHG WR UHIHU WR VRPH VSHFLILF YHUVLRQV RI WKH REMHFW XQGHU VRPH GHIDXOW FULWHULD 7KH XWLOLW\ RI WKLV VFKHPH LV FOHDU $ GHVLJQHU PD\ ZDQW WR WDNH DGYDQWDJH WR WKH LPSURYHPHQWV PDGH WR DQ REMHFW DQG WKXV E\ PDNLQJ D JHQHULF UHIHUHQFHV WR WKDW REMHFW WKH GHVLJQHU FDQ XVH WKH GHOD\HG UHVROXWLRQ RI WKH UHIHUHQFH WR FKRRVH D GHIDXOW YHUVLRQ 7KH RWKHU DGYDQWDJH LV WKDW D GHVLJQHU FDQ XVH D JHQHULF UHIHUHQFH DV D SODFHKROGHU IRU VRPH FRQVWLWXHQW REMHFW ZLWKRXW DQ\ FRQFHUQ IRU RU FRPPLWPHQW WR LWV DFWXDO LPSOHPHQWDWLRQ 7KLV LV SDUWLFXODUO\ XVHIXO LQ VLWXDWLRQV ZKHUH VHYHUDO GHVLJQHUV DUH ZRUNLQJ RQ GLIIHUHQW GLYLVLRQV RI D GHVLJQ :KHQ D FRPSRVLWH REMHFW PDNHV UHIHUHQFH WR D VSHFLILF YHUVLRQ RI LWV FRQn VWLWXHQW REMHFW LW LV VDLG WR EH VWDWLFDOO\ ERXQG WR WKDW YHUVLRQ ZKHUHDV ZKHQ WKH UHIHUHQFH LV JHQHULF WKH FRPSRVLWH REMHFW LV VDLG WR EH G\QDPLFDOO\ ERXQG WR VRPH GHIDXOW YHUVLRQ RI WKH FRQVWLWXHQW REMHFW 6R IDU ZH KDYH GLVFXVVHG RQO\ VWDWLF ELQGn LQJ

PAGE 59

,Q WKLV PRGHO WKH JHQHULF LQVWDQFH REMHFW LV XVHG IRU G\QDPLF ELQGLQJ (YHU\ JHQHULF REMHFW LQVWDQFH KDV DW OHDVW RQH XVHUGHILQHG W\SH DQG WKH V\VWHP GHILQHG W\SH *HQHULF ,W DOVR SRVVHVVHV WKH LQWHUIDFH DWWULEXWHV DQG WKXV FDQ SDUWLFLn SDWH LQ WKH LQWHUFRQQHFWLRQ DQG FRUUHVSRQGHQFH SURSHUWLHV RI D FRPSRVLWH REMHFW )XUWKHUPRUH DOO IXQFWLRQV LQ WKH LQWHUQDO DVVHPEO\ RI D FRPSRVLWH REMHFW FDQ EH GHILQHG LQ WHUPV RI WKH XVHUGHILQHG W\SHV RI LWV JHQHULF FRQVWLWXHQW REMHFW 7KLV VFKHPH SURYLGHV WKH IDFLOLW\ IRU VXEVWLWXWLQJ D JHQHULF REMHFW E\ DQ\ RI LWV YHUVLRQV ZKLFK LV HLWKHU RI WKH VDPH W\SH DV WKH JHQHULF REMHFW RU LWV VXEW\SH 7KHUHIRUH D FRPSRVLWH REMHFW FDQ UHIHUHQFH D JHQHULF FRQVWLWXHQW REMHFW LQ LWV LQWHUQDO DVVHPEO\ 7KH JHQHULF REMHFW FRQFHSWXDOO\ UHSUHVHQWV WKH HQWLUH YHUn VLRQ VHW DQG FDQ EH GHUHIHUHQFHG WR DQ\ YHUVLRQ RI WKH VHW 7KH YHUVLRQ REMHFW WR ZKLFK WKH JHQHULF REMHFW LV GHIHUHQFHG LV FDOOHG D GHIDXOW YHUVLRQ DQG LV VHOHFWHG IURP WKH YHUVLRQ VHW DFFRUGLQJ WR VRPH SUHGHILQHG FULWHULD )RU H[DPSOH WKH FULWHULRQ FDQ EH WR VHOHFW D YHUVLRQ ZLWK WKH ODWHVW WLPHVWDPS 7KH V\VWHPGHILQHG IXQFWLRQ 'HIDXOW LV JLYHQ EHORZ 'HIDXOW *HQHULFf f§ 9HUVLRQHG X 7KH JHQHULF REMHFW VHUYHV D GXDO SXUSRVH 2Q WKH RQH KDQG LW LV XVHG WR UHODWH DOO LWV YHUVLRQ REMHFWV RQ WKH RWKHU KDQG LW LV XVHG LQ D JHQHULF UHIHUHQFH IRU G\QDPLF ELQGLQJ 5XOHV IRU 9HUVLRQHG &RPSRVLWH 2EMHFWV ,Q YLHZ RI FRPSRVLWH UHIHUHQFHV RI YHUVLRQHG REMHFWV ZH VKDOO IXUQLVK QHZ UXOHV WKDW ZLOO VXSSODQW VRPH RI WKH UXOHV JLYHQ LQ 6HFWLRQ )RU D SUHFLVH IRUPXODn WLRQ RI WKHVH UXOHV ZH GHILQH D IXQFWLRQ IRU GHVLJQ REMHFWV D 0 *HQHULFOQVW rf LI 9HUVLRQHG [f LI 8QYHUVLRQHG [f 9 *HQHULF [f [

PAGE 60

* PDSV D GHVLJQ REMHFW RQWR LWVHOI LI LW LV RI W\SH *HQHULF RU 8QYHUn VLRQHG RWKHUZLVH LW PDSV LW LQWR LWV JHQHULF REMHFW 5XOH 7KH VLQJOHYDOXHGQHVV RI WKH PDSSLQJ IURP D FRQVWLWXHQW WR LWV FRPSRVLWH REMHFW LV GHWHUPLQHG E\ DSSO\LQJ IXQFWLRQ RQ WKHVH REMHFWV $V 5XOH VWDWHV HYHU\ FRQVWLWXHQW REMHFW LQVWDQFH PDSV LQWR D VLQJOH FRPSRVLWH REMHFW WKDW FRQWDLQV LW 5XOH UHOD[HV WKLV FRQVWUDLQW E\ DOORZLQJ DQ\ FRQVWLWXHQW REMHFW LQVWDQFH ZKLFK FDQ EH RI W\SH *HQHULF 9HUVLRQHG RU 8QYHUn VLRQHG WR EH UHIHUHQFHG E\ PRUH WKDQ RQH HTXLYDOHQW YHUVLRQV %\ DSSO\LQJ IXQFWLRQ RQ GLIIHUHQW YHUVLRQV RI D FRPSRVLWH REMHFW ZH JHW WKH VDPH JHQHULF REMHFW ZKHUHE\ WKH PDSSLQJ UHPDLQV VLQJOHYDOXHG 7KH RWKHU UHODWHG TXHVWLRQ LV ZKHWKHU GLIIHUHQW YHUVLRQV RI D FRQVWLWXHQW REMHFW FDQ EH UHIHUHQFHG E\ GLIIHUHQW FRPSRVLWH REMHFWV ZKLFK PD\ HLWKHU EH XQYHUVLRQHG RU YHUVLRQHG $JDLQ DSSOLFDWLRQ RI RQ WKH HTXLYDOHQW YHUVLRQV RI D FRQVWLWXHQW REMHFW UHWXUQV DQ LGHQWLFDO JHQHULF REMHFW DQG WKH FRQVWUDLQW LV YLRODWHG RQO\ LI LW LV EHLQJ UHIHUHQFHG E\ GLIIHUHQW JHQHULF RU XQYHUn VLRQHG FRPSRVLWH REMHFWV 7KH H[DPSOHV JLYHQ LQ )LJXUH DQG )LJXUH KHOS H[SODLQ WKH UXOH ,Q )LJXUH DOO WKH OLQNV IURP FRPSRVLWH REMHFW WR FRQVWLWXHQW REMHFWV DUH YDOLG VLQFH WKH PDSSLQJ WR WKH FRPSRVLWH JHQHULF LQVWDQFH GRHV QRW YLRODWH WKH VLQJOH YDOXHGQHVV %Y KDV WZR FRPSRVLWH REMHFW OLQNV EXW WKH DSSOLFDWLRQ RI RQ $YO DQG $Y UHWXUQ WKHLU JHQHULF LQVWDQFH $J 7KH FDVH IRU %J LV VLPLODU ,Q )LJXUH RQ WKH RWKHU KDQG DQ\ FRPELQDWLRQ RI WZR RU PRUH FURVVHGRXW OLQNV YLRODWH WKH FRQVWUDLQW $SSOLFDWLRQ RI RQ 'Y 'J DQG 'Y UHWXUQ 'J ZKLFK LV UHIHUHQFHG E\ GLIIHUHQW FRPSRVLWH REMHFWV 7KH UXOH JLYHQ DERYH LV FORVH WR UHDOLW\ DV LW WUHDWV GLIIHUHQW YHUVLRQV DV HTXLYDOHQW GHVLJQ REMHFWV 7KH\ DUH FRQVLGHUHG GLIIHUHQW PDQLIHVWDWLRQV RI WKH VDPH REMHFW ZLWK WKH XQGHUO\LQJ DVVXPSWLRQ WKDW LQ WKH ILQDO SKDVH RI GHVLJQ RQO\ RQH RI WKH PXOWLWXGH RI YHUVLRQV ZLOO EH GHVLJQDWHG DV WKH DFFHSWHG YHUVLRQ

PAGE 61

5XOHV DQG QHHG QR PRGLILFDWLRQV +RZHYHU LW VKRXOG EH QRWHG WKDW HLWKHU VSHFLILF RU JHQHULF ELQGLQJ LV GHHPHG VXIILFLHQW 5XOH QHHGV DQ DGGHQGXP ,Q FDVH RI YHUVLRQHG REMHFWV WKH LQWHUIDFH SURSHUWLHV DUH FRQVLGHUHG LQYDULDQW +HQFH WKH\ FDQQRW EH PRGLILHG DW WKH YHUVLRQ OHYHO 7KHVH PRGLILFDWLRQV FDQ EH SHUIRUPHG RQO\ RQ JHQHULF REMHFWV 5XOH 7KH LQWHUIDFH YDOXHV RI D YHUVLRQHG FRPSRVLWH REMHFWV FDQ EH PRGLILHG RQO\ DW WKH JHQHULF OHYHO 5XOH RQ WKH RWKHU KDQG QHHGV WR EH VXSSODQWHG E\ WKH IROORZLQJ UXOH 7 D PRGLILFDWLRQ LQ WKH LQWHUQDO DVVHPEO\ RI D YHUVLRQ REMHFW JLYHV ULVH WR DQRWKHU YHUVLRQ H[FHSW LQ WKH FDVH ZKHQ D FRQVWLWXHQW LV UHSODFHG E\ DQ HTXLYDOHQW YHUVLRQHG RU JHQHULF REMHFW 7KH 5XOH UHPDLQV YDOLG +RZHYHU D UXOH LV UHTXLUHG WR GHDO ZLWK WKH GHOHWLRQ RI JHQHULF REMHFWV 5XOH $OO YHUVLRQ REMHFWV LQ D VHW DUH FRQVLGHUHG H[LVWHQWLDOO\ GHSHQn GHQW RQ LWV JHQHULF REMHFW 7KHUHIRUH GHOHWLRQ RI D JHQHULF REMHFW ZLOO UHVXOW LQ WKH GHOHWLRQ RI DOO LWV YHUVLRQV 7DEOH VKRZV WKH FRUUHVSRQGHQFH LI DQ\ EHWZHHQ WKH UXOHV JLYHQ LQ &KDSWHU DQG WKH UXOHV QHHGHG LQ WKH FRQWH[W RI YHUVLRQLQJ ,Q WKLV FKDSWHU ZH GLVFXVVHG EDVLF PRGHOLQJ FRQFHSWV DQG SURWRFROV IRU PDQDJLQJ DQG FRQWUROOLQJ YHUVLRQV RI FRPSRVLWH REMHFWV $ SUHFLVH GHILQLWLRQ RI YHUn VLRQV IRU GHVLJQ REMHFWV ZDV JLYHQ YHUVLRQ JUDSK ZDV GHILQHG DQG WZR VWDWHV IRU YHUn VLRQHG REMHFWV ZUHUH SURSRVHG $ SURWRFRO ZDV SURYLGHG IRU FRQWUROOLQJ XSGDWH SURSDn JDWLRQ DQG YHUVLRQ SUROLIHUDWLRQ $ QRWLRQ RI JHQHULF REMHFW ZDV LQWURGXFHG LQ RUGHU WR UHODWH PHPEHUV RI D YHUVLRQ VHW DQG WR SURYLGH G\QDPLF ELQGLQJ $ PHWKRGRORJ\ ZDV SURSRVHG WR GHDO ZLWK YHUVLRQLQJ DW WKH LQVWDQFH DQG WHPSODWH OHYHOV $ QXPEHU RI UXOHV ZHUH DOVR JLYHQ IRU SURYLGLQJ D FRQVLVWHQW VHPDQWLFV RI FRPSRVLWH YHUVLRQ REMHFWV

PAGE 62

'J ? 6 )LJXUH

PAGE 63

)LJXUH 8QYHUVLRQHG 2EMHFW )LJXUH *HQHULF 2EMHFW )LJXUH 9HUVLRQHG 2EMHFW

PAGE 64

)LJXUH

PAGE 65

)LJXUH )LJXUH

PAGE 66

)LJXUH )LJXUH

PAGE 67

5XOHV IRU &RPSRVLWH 2EMHFWV 5XOHV IRU 9HUVLRQHG &RPSRVLWH 2EMHFWV 5HPDUN 5XOH 5XOH 6XSSODQWHG 5XOH 9DOLG 5XOH 9DOLG 5XOH 5XOH $GGHQGXP 5XOH 5XOH 6XSSODQWHG 5XOH 5XOH $GGHQGXP 5XOH 9DOLG 5XOH $GGLWLRQ 7DEOH

PAGE 68

&+$37(5 0$,17(1$1&( 2) &216,67(17 6(0$17,&6 )25 &20326,7( 2%-(&76 7KH GDWD PRGHO WKDW ZH SURSRVH IRU GHVLJQ DSSOLFDWLRQV KDV VHYHUDO FRPn SOH[ FRQVWUXFWV VXFK DV FRPSRVLWLRQ JHQHUDOL]DWLRQ YHUVLRQ DQG LQVWDQFH JUDSKV DQG LQVWDQFH FRPSRVLWLRQ JUDSK 7KHVH FRQVWUXFWV LQWHUDFW ZLWK DQG LQWHUGHSHQG XSRQ RQH DQRWKHU :H KDYH VKRZQ WKDW D PDSSLQJ H[LVWV IURP WKH LQVWDQFH JUDSK 'HILQLWLRQ f WR WKH JHQHUDOL]DWLRQ JUDSK 'HILQLWLRQ f DQG KDYH JLYHQ VRPH UXOHV IRU LPSRVLQJ LQWHJULW\ IRU WKLV PDSSLQJ 6LPLODUO\ LW ZDV VKRZQ 'HILQLWLRQ f WKDW D PDSSLQJ IURP WKH LQVWDQFH FRPSRVLWLRQ JUDSK ,&*f WR WKH FRPSRVLWLRQ JUDSK 'HILQLWLRQ f H[LVWV WKH UHODWHG UXOHV RI WKLV PDSSLQJ ZHUH DOVR JLYHQ ,Q WKLV FKDSWHU ZH VWXG\ WKH LQWHUGHSHQGHQFH DPRQJ WKHVH FRQVWUXFWV LQ RUGHU WR SURYLGH UXOHV IRU HQIRUFLQJ FRQVLVWHQW VHPDQWLFV DQG DOJRULWKPV 7KHVH DUH QHFHVVDU\ IRU KDQGOLQJ GLIIHUHQW SUREOHPV DVVRFLDWHG ZLWK WKH HIIHFWV RI WKHLU XSGDWHV XSRQ RQH DQRWKHU 3URWRFROV IRU ,QVHUWLRQV DQG 'HOHWLRQV ,Q WKLV VHFWLRQ VRPH FRQVWUDLQWV WKDW DUH HVVHQWLDO IRU LPSRVLQJ FRQn VLVWHQF\ LQ GHVLJQ GDWDEDVHV DUH RXWOLQHG $Q\ DGGLWLRQ RI D QHZ QRGH LQ ** ZLWK QR LPPHGLDWH SUHGHFHVVRU LV PDGH DQ LPPHGLDWH VXFFHVVRU WR WKH YLUWXDO QRGH ,X )LJXUH f ,KLV LV QHFHVVDU\ VLQFH ** LV E\ GHILQLWLRQ D URRWHG JUDSK

PAGE 69

,Q WKH IRUWKFRPLQJ GLVFXVVLRQ ZH XVH WKH FRQYHQWLRQ HVWDEOLVKHG LQ &KDSWHU ZKHUHE\ D GLUHFWHG HGJH LV UHSUHVHQWHG DV DQ RUGHUHG ELQDU\ UHODWLRQ [ \f ZKLFK PHDQV WKDW WKHUH LV D SDWK IURP [ WR \ )RU ** DQ HGJH [ \f LPSOLHV WKDW \ LV D VXEW\SH RI [ IRU &* LW PHDQV WKDW \ LV D FRQVWLWXHQW RI [ $GGLWLRQ RI D QHZ HGJH $ %f LQ ** UHVXOWV LQ % LQKHULWLQJ DOO IXQFWLRQV RI $ DQG LWV SUHGHFHVVRUV $ %f PXVW QRW FUHDWH D F\FOH $GGLWLRQV DQG GHOHWLRQV LQ WKH IXQFWLRQV GHILQHG RQ D QRGH LQ ** DUH SURSDJDWHG WR DOO LWV VXFFHVVRUV 5HPRn YDO RI DQ HGJH $ %f IURP ** UHVXOWV LQ %nV ORRVLQJ DOO IXQFWLRQV LQKHULWHG IURP $ DQG LWV SUHGHFHVVRUV ,I $ LV WKH RQO\ SUHGHFHVVRU RI % WKHQ % LV PDGH DQ LPPHGLDWH VXFFHVVRU RI WKH YLUWXDO URRW 7KLV H[SODLQV WKH PHFKDQLVP RI DWWULEXWH LQKHULWDQFH LQ ** 5HPRYDO RI D QRGH $ LQ ** LV SRVVLEOH RQO\ LI WKHUH GRHV QRW H[LVW DQ LQVWDQFH REMHFW [ VXFK WKDW $7[f $ 7KH 'HILQLWLRQ H[SODLQV $7 5HPRYDO RI D QRGH WKXV UHVXOWV LQ WKH UHPRYDO RI DOO HGJHV GLUHFWHG WR LWV LPPHGLDWH VXFFHVVRUV DQG DOO HGJHV GLUHFWHG WR LW IURP LWV LPPHGLDWH SUHGHFHVVRUV 7KLV LPSOLHV WKDW D W\SH FDQQRW EH GHOHWHG DV ORQJ DV RQH RU PRUH RI LWV LQVWDQFHV H[LVW $OVR WKH VXFFHVVRUSUHGHFHVVRU UHODWLRQVKLS LV FRQVLGHUHG IXQGDPHQWDO WKDW LV LWV GHOHWLRQ LPSOLHV WKH ORVV RI DOO WUDQVLWLYH UHODWLRQV $GGLWLRQ RI DQ HGJH $ %f LQ &* UHVXOWV LQ FKHFNLQJ ** IRU D FDVFDGHG XSGDWH RI &* 7KLV LPSOLHV WKDW DWWULEXWH LQKHULWDQFH DOVR DSSOLHV WR FRPSRVLWLRQ 7KXV LI D QRGH LQ &* LV DVVLJQHG D QHZ HGJH LW PXVW EH SURSDJDWHG WR DOO LWV VXFFHVn VRUV $JDLQ &* E\ GHILQLWLRQ LV DQ DF\FOLF JUDSK 'HOHWLRQ RI DQ HGJH $ %f LQ &* LV SRVVLEOH RQO\ LI WKHUH GRHV QRW H[LVW [ DQG \ VXFK WKDW $[f DQG %\f DUH WUXH DQG WKHUH LV QR HGJH FRQQHFWLQJ [ DQG \ LQ ,&* 7KLV PHDQV WKDW DQ HGJH LQ &* FDQQRW EH GHOHWHG DV ORQJ DV WKHUH DUH LQVWDQFH REMHFWV WKDW SDUWLFLSDWH LQ WKH UHODWLRQVKLS UHSUHVHQWHG E\ WKDW HGJH LQ &*

PAGE 70

)RU DQ HGJH [ \f LQ ,&* *HQHULF[f FDQQRW EH WUXH 7KLV PHDQV WKDW JHQHULF REMHFWV FDQQRW PDNH UHIHUHQFHV WR FRQVWLWXHQW REMHFWV DV WKH\ GR QRW KDYH LQWHUQDO DVVHPEOLHV ,QWHUDFWLRQ EHWZHHQ ** DQG &* 7KH JHQHUDOL]DWLRQ DQG FRPSRVLWLRQ JUDSKV LPSDFW XSRQ HDFK RWKHU DV VRPH RI WKH FRPSRVLWLRQ SURSHUWLHV RI D QRGH LQ &* PD\ EH LQKHULWHG IURP LWV VXSHUn W\SHV 7KHUHIRUH HYHU\ WLPH ** LV XSGDWHG LWV HIIHFW RQ &* ZLOO KDYH WR EH JDXJHG DQG FKDQJHV WR LW ZLOO KDYH WR EH PDGH DFFRUGLQJO\ $OVR DQ\ LQFUHPHQWDO XSGDWH WR &* UHTXLUHV D ORRNXS RI ** WR GHWHUPLQH ZKHWKHU LW UHVXOWV LQ RWKHU XSGDWHV LQ &* $V KDV EHHQ PHQWLRQHG LQ &KDSWHU ZH GR QRW DOORZ WKH FRPSRVLWLRQ DQG JHQHUDOL]DWLRQ JUDSKV WR FRQWDLQ D F\FOH 7KXV DQ\ LQFUHPHQWDO XSGDWH RI &* DQG ** PXVW FKHFN IRU WKH FUHDWLRQ RI D F\FOH ,Q WKH IROORZLQJ DOJRULWKPV IRU PDNn LQJ LQVHUWLRQV DQG GHOHWLRQV LQ &* DQG ** DUH JLYHQ 3URFHGXUH &*,QVHUW r $Q HGJH $ %f LV WR EH LQVHUWHG LQWR &* r )LQG DOO VXFFHVVRUV RI QRGH $ LQ ** /HW WKHVH QRGHV EH ^;S ; ;Q` )LQG DOO VXFFHVVRUV RI QRGH % LQ ** /HW WKHVH QRGHV EH ^
PAGE 71

3URFHGXUH &*'HOHWH r $Q HGJH $ %f LV WR EH GHOHWHG IURP &* r )LQG DOO VXFFHVVRUV RI QRGH $ LQ ** /HW WKHVH QRGHV EH ^;S ;RY ;Q` )LQG DOO VXFFHVVRUV RI QRGH % LQ ** /HW WKHVH QRGHV EH ^)S )
PAGE 72

VKRXOG EH GHYLVHG WKDW HIILFLHQWO\ KDQGOHV WKH XSGDWH RI ** DQG &* )RU WKLV SXUn SRVH ZH SURSRVH WKDW WKH WUDQVLWLYH FORVXUHV RI ** DQG &* EH PDLQWDLQHG 7KH PRWLYDWLRQ IRU GRLQJ VR LV PDQLIROG )LUVW DV QRWHG HDUOLHU WKH DOJRULWKPV IRU XSGDWH UHTXLUH WKH FRPSXWDWLRQ RI SDUWLDO WUDQVLWLYH FORVXUHV 6HFRQG LQVHUWLRQ LQWR WKH WUDQVLWLYH FORVXUH UHODWLRQV FDQ GHWHFW D F\FOH DV D SDUW RI WKH DOJRULWKP WKXV WKH GHWHFWLRQ RI F\FOHV UHTXLUHV QR H[WUD ZRUN 7KLUG LQ GHVLJQ GDWDEDVHV WKH TXHULHV WKDW LQYROYH WKH WUDQVLWLYH FORVXUHV RI &* DQG ** DUH YHU\ IUHTXHQW KHQFH PDLQWHn QDQFH RI WUDQVLWLYH FORVXUH UHODWLRQV HOLPLQDWHV WKH RYHUKHDG RI FRPSXWLQJ LW ZKHQn HYHU VXFK TXHULHV DUH SRVHG +RZHYHU WKH SUREOHP ZLWK PDLQWDLQLQJ WKH WUDQVLWLYH FORVXUH RI D JUDSK LV WKH VWRUDJH UHTXLUHPHQW ZKLFK LQ WKH ZRUVW FDVH FDQ EH Qaf ,Q WKH IROORZLQJ VHFWLRQ D VWUDWHJ\ IRU HIILFLHQW VWRUDJH RI WUDQVLWLYH FORVXUH UHODWLRQV LV RXWOLQHG $ SHUIRUPDQFH DQDO\VLV DQG VWRUDJH UHTXLUHPHQW IRU WKLV VWUDWHJ\ DUH DOVR GLVFXVVHG 2Q WKH EDVLV RI WKLV SHUIRUPDQFH DQDO\VLV DQG WKH WLPH FRPSOH[LWLHV RI NQRZQ DOJRn ULWKPV IRU FRPSXWLQJ WUDQVLWLYH FORVXUH DQG IRU WKH GHWHFWLRQ RI F\FOHV LW LV VKRZQ WKDW PDLQWHQDQFH RI WUDQVLWLYH FORVXUH UHVXOWV LQ D EHWWHU SHUIRUPDQFH LQ KDQGOLQJ XSGDWHV DQG DQVZHULQJ TXHULHV 0DLQWHQDQFH RI 7UDQVLWLYH &ORVXUH 5HODWLRQV ,Q WKLV VHFWLRQ ZH JLYH D FRPSUHVVLRQ VFKHPH >6FK $JU@ IRU VWRULQJ DQG PDLQWDLQLQJ WKH WUDQVLWLYH FORVXUH RI D GLUHFWHG DF\FOLF JUDSK :H DOVR JLYH DOJRn ULWKPV IRU GRLQJ LQFUHPHQWDO GHOHWLRQ DQG XSGDWH RI WUDQVLWLYH FORVXUH UHODWLRQV 7KH FRPSUHVVLRQ VFKHPH SURSRVHG KHUH LV D UDQJH FRPSUHVVLRQ 7KH EDVLF LGHD LV WR DVVLJQ QXPEHUV WR QRGHV VR WKDW LQVWHDG RI LQGLYLGXDOO\ OLVWLQJ DOO QRGHV ZLWKLQ D FHUWDLQ UDQJH RI YDOXHV LQ D VXFFHVVRU OLVW WKH UDQJH FRXOG EH UHFRUGHG ,Q RUGHU WR GHYHORS D WHFKQLTXH WKDW \LHOGV PD[LPDO FRPSUHVVLRQ WKH JLYHQ JUDSK LV

PAGE 73

FRYHUHG ZLWK RQH RU PRUH VSDQQLQJ WUHHV DQG WKH WUHH LV XVHG WR JHQHUDWH QRGH QXPEHUV ,Q WKH FDVH RI D GLUHFWHG WUHH HDFK QRGH LV QXPEHUHG WR UHIOHFW LWV UHODWLYH SRVLWLRQ LQ D SRVWRUGHU WUDYHUVDO RI WKH WUHH 7KH QXPEHU RI WKH QRGH LV FDOOHG LWV SRVWRUGHU QXPEHU $IWHU WKLV QXPEHULQJ HDFK QRGH LV DVVLJQHG DQ LQGH[ FRQVLVWLQJ RI WKH ORZHVW SRVWRUGHU QXPEHUV DPRQJ LWV VXFFHVVRUV )RU VLPSOLFLW\ WKH LQGH[ DVVRFLn DWHG ZLWK D OHDI QRGH LV WKH VDPH DV LWV SRVWRUGHU QXPEHU 7KH DERYH VFKHPH FDQ EH JHQHUDOL]HG IRU WKH FDVH RI D GLUHFWHG DF\FOLF JUDSK ZKLFK LV DVVXPHG WR KDYH FRQQHFWHG FRPSRQHQWV ,I WKHUH DUH GLVMRLQW FRPn SRQHQWV WKH\ FDQ EH FRQQHFWHG E\ FUHDWLQJ D YLUWXDO URRW QRGH 7KH FRPSUHVVLRQ VFKHPH IRU D '$* LV JLYHQ EHORZ )LQG D VSDQQLQJ WUHH 7 IRU WKH JLYHQ JUDSK $VVLJQ SRVWRUGHU QXPEHUV DQG LQGH[HV WR WKH QRGHV RI 7 $W WKH HQG RI WKLV VWHS DQ LQWHUYDO >L M@ LV DVVRFLDWHG ZLWK HDFK QRGH VXFK WKDW M LV WKH SRVWRUGHU QXPEHU RI WKH QRGH DQG L LV WKH ORZHVW SRVWRUGHU QXPEHU DPRQJ LWV VXFFHVVRUV ([DPLQH DOO WKH QRGHV RI LQ WKH UHYHUVH WRSRORJLFDO RUGHU $W HDFK QRGH S GR WKH IROORZLQJ Lf IRU HYHU\ DUF S Tf DGG DOO WKH LQWHUYDOV DVVRFLDWHG ZLWK WKH QRGH T WR WKH LQWHUYDO DVVRFLDWHG ZLWK WKH QRGH S LLf LI WKH LQWHUYDO EHLQJ DGGHG FRQWDLQV WKH SRVWRUGHU QXPEHU RI WKH QRGH WKHQ WKHUH LV D F\FOH LLLf DW WKH WLPH RI DGGLQJ DQ LQWHUYDO WR WKH LQWHUYDO VHW RI D QRGH LI RQH LQWHUYDO LV VXEVXPHG E\ DQRWKHU GLVFDUG WKH VXEVXPHG LQWHUYDO $IWHU WKLV SURFHVVLQJ HDFK QRGH RI WKH JUDSK LV DVVRFLDWHG ZLWK D XQLTXH LQWHUYDO WKDW FRQWDLQV UHDFKDELOLW\ LQIRUPDWLRQ IRU WKH QRGHV WKDW FDQ EH UHDFKHG E\ IROORZLQJ WKH WUHH DUFV VWDUWLQJ IURP WKLV QRGH ,Q DGGLWLRQ WKHUH DUH LQWHUYDOV DVVRFLn DWHG ZLWK D QRGH WKDW SURYLGH UHDFKDELOLW\ LQIRUPDWLRQ IRU WKH QRGHV WKDW FDQ EH UHDFKHG E\ IROORZLQJ RQH RU PRUH QRQWUHH DUFV IURP WKLV QRGH )LJXUH VKRZV DQ H[DPSOH RI D URRWHG '$* ZKHUH WKH UHDFKDELOLW\ RI HDFK QRGH LV JLYHQ E\ WKH ODEHOV

PAGE 74

DVVRFLDWHG ZLWK LW 7KH VROLG DUURZV UHSUHVHQW WUHH DUFV ZKHUHDV GDVKHG DUURZV VLJn QLI\ QRQWUHH DUFV 7KH ILUVW ODEHO IRU HDFK QRGH UHSUHVHQWV LWV UHDFKDELOLW\ IROORZLQJ WKH WUHH DUFV HPDQDWLQJ IURP LW ZKHUHDV RWKHU ODEHOV JLYH WKH LQIRUPDWLRQ IRU LWV QRQWUHH DUFV 7KH FRPSOH[LW\ RI FRPSXWLQJ WKH FRPSUHVVHG WUDQVLWLYH FORVXUH RI D JUDSK LV WKH VDPH DV WKH FRPSXWDWLRQ RI D WUDQVLWLYH FORVXUH %RWK DUH RI Q f FRPSOH[LW\ LQ WKH ZRUVW FDVH ZKHUH Q LV WKH QXPEHU RI QRGHV LQ WKH JUDSK +RZn HYHU FRPSUHVVLRQ LV RQHWLPH DFWLYLW\ DQG RQFH FRPSUHVVHG FORVXUH KDV EHHQ REWDLQHG LW FDQ EH UHSHDWHGO\ XVHG WR HIILFLHQWO\ DQVZHU TXHULHV )RU PDLQWDLQLQJ WKH WUDQVLWLYH FORVXUH RI D JUDSK LW LV HVVHQWLDO WKDW HIILFLHQW DOJRULWKPV EH SURYLGHG IRU GRLQJ LQFUHPHQWDO XSGDWHV WR WKH JUDSK 7KHUHn IRUH ZKLOH DVVLJQLQJ SRVWRUGHU QXPEHUV WR WKH JUDSK LW LV QRW QHFHVVDU\ WR FKRRVH FRQWLJXRXV QXPEHUV JDSV FDQ EH OHIW EHWZHHQ QXPEHUV DQG WKH FRPSUHVVLRQ VFKHPH ZLOO VWLOO ZRUN FRUUHFWO\ 7KH LQLWLDO JDS FRXOG EH GHWHUPLQHG E\ GLYLGLQJ WKH UDQJH RI LQWHJHUV WKDW ZLOO ILW LQWR D ZRUG E\ WKH H[SHFWHG QXPEHU RI QRGHV LQ WKH JUDSK $OWHUQDWLYHO\ UHDO QXPEHUV FRXOG EH XVHG LQVWHDG RI LQWHJHUV ,Q WKH IROORZLQJ ZH GHVFULEH DQ DOJRULWKP IRU WKH LQVHUWLRQ RI DQ HGJH &RQVLGHU D QHZ QRGH M FRQQHFWHG E\ D QHZ DUF L Mf WR EH LQVHUWHG DW DQ H[LVWLQJ QRGH L 1RWH WKDW WKHUH FDQ QHYHU EH D QHZ QRGH L IRU D QHZ DUF L Mf DV ZH DUH FRQn VLGHULQJ D '$* ZLWK D YLUWXDO URRW QRGH /HW WKH SRVWRUGHU QXPEHU RI L EH Q DQG WKDW RI LWV LPPHGLDWH VXFFHVVRUV ZLWK WKH VPDOOHVW SRVWRUGHU QXPEHU EH P ,I L LV D OHDI QRGH P LV WDNHQ WR EH RQH OHVV WKDQ WKH ORZHVW QXPEHU LQ WKH UDQJH RI LQWHUYDOV DVVRFLDWHG ZLWK L )LQG WZR SRVWRUGHU QXPEHUV EHWZHHQ P DQG Q WKDW KDYH DOUHDG\ EHHQ DVVLJQHG DQG KDYH WKH ODUJHVW GLIIHUHQFH /HW QW DQG Q EH WKHVH QXPEHUV $VVLJQ WR M WKH SRVWRUGHU QXPEHU QJ >Q[?QAf DQG WKH LQWHUYDO >IWM Q@

PAGE 75

)RU WKH DGGLWLRQ RI D QHZ QRQWUHH DUF L Mf WKH LQWHUYDOV DVVRFLDWHG ZLWK M ZLOO KDYH WR EH DGGHG WR QRGH L DQG DOO LWV SUHGHFHVVRUV ,I DQ\ RI WKH LQWHUYDOV EHLQJ DGGHG WR D QRGH FRQWDLQV LWV SRVWRUGHU QXPEHU WKHQ WKHUH LV D F\FOH 0RUHRYHU LI WKH QHZ LQWHUYDO LV VXEVXPHG E\ DQ LQWHUYDO DVVRFLDWHG ZLWK WKH QRGH WKHQ WKLV LQWHUYDO LV GLVFDUGHG ,I QR QHZ LQWHUYDO LV DGGHG WR D QRGH WKH HIIHFW LV QRW SURSDJDWHG WR LWV SUHGHFHVVRU $Q DOJRULWKP IRU GHOHWLQJ DQ H[LVWLQJ HGJH LQ D JUDSK LV GHVFULEHG EHORZ )RU WKH GHOHWLRQ RI D QRGH DOO HGJHV WKDW KDYH WKLV QRGH DV D KHDG RU D WDLO DUH GHOHWHG )RU WKH GHOHWLRQ RI D WUHH DUF L Mf WDNH WKH VXEWUHH URRWHG DW M DQG PDNH LW WKH FKLOG RI WKH YLUWXDO URRW QRGH UHQXPEHU WKH QRGHV LQ WKH VXEWUHH E\ DVVLJQLQJ WKHP QXPEHUV JUHDWHU WKDQ / ZKLFK LV WKH ODUJHVW SRVWRUGHU QXPEHU EHLQJ FXUUHQWO\ XVHG 7KH SRVWRUGHU QXPEHU RI WKH YLUWXDO QRGH LV DVVXPHG WR EH RR 8SGDWH WKH WUHH LQWHUYDOV DVVRFLDWHG ZLWK WKH QRGHV LQ WKLV VXEWUHH EXW UHWDLQ WKH QRQWUHH LQWHUYDOV 0RGLI\ DQ\ QRQWUHH LQWHUYDOV WKDW KDYH ROG SRVWRUGHU QXPEHUV E\ QHZ SRVWRUGHU QXPEHUV 7KH QHZ SRVWRUGHU QXPEHUV DUH FUHDWHG E\ UHQXPEHULQJ WKH QRGHV RI WKH VXEWUHH LQ WKH VWHS ,f ,I DQ\ RI WKH WUHH SUHGHFHVVRU RI M LQ WKH ROG JUDSK KDG D QRQWUHH DUF FRPLQJ LQWR QRGH N RI WKH VXEWUHH URRWHG DW M WKH\ LQKHULW WKH LQWHUYDOV DVVRFLDWHG ZLWK N &RPSOH[LW\ RI 6HDUFK 'HOHWLRQ DQG ,QVHUWLRQ :H SUHVHQW D WLPH DQDO\VLV RI WKH DOJRULWKPV JLYHQ KHUH IRU WKH PDLQWHn QDQFH RI WUDQVLWLYH FORVXUH UHODWLRQV 7KLV DQDO\VLV LV EDVHG RQ D SURSRVHG GDWD VWUXFn WXUH IRU WKH FRPSUHVVLRQ VFKHPH WKDW FRPSULVHV D FROOHFWLRQ RI OLVW HDFK RI ZKLFK FRQWDLQV WKH QRGH WKH SRVWRUGHU QXPEHUV RI LWV LPPHGLDWH VXFFHVVRUV DQG D VHW RI

PAGE 76

WUHH DQG QRQWUHH LQWHUYDOV DVVRFLDWHG ZLWK LW 2WKHU GDWD VWUXFWXUHV ZLOO QRW FKDQJH WKLV DQDO\VLV RI DOJRULWKPV /HW Q EH WKH QXPEHU RI QRGHV LQ WKH JUDSK DQG G EH WKH DYHUDJH QXPEHU RI LQWHUYDOV DVVRFLDWHG ZLWK HDFK QRGH &OHDUO\ UHWULHYDO RI WUDQVLWLYH FORVXUH UHTXLUHV WZR SDVVHV 2QH IRU ILQGLQJ WKH SUHGHFHVVRUV RU VXFFHVVRUV RI WKH QRGH LQ WKH ZRUVW FDVH WKH FRVW RI ILQGLQJ WKH VXFFHVVRUV LV QGf DQG RI ILQGLQJ WKH SUHGHFHVVRUV LV QrGf 7KH RWKHU SDVV LV QHHGHG IRU LQWHUSUHWLQJ WKH SRVWRUGHU QXPEHUV RI WKH UHWULHYHG QRGH ZKLFK LV RI FRVW Qf +HQFH WKH FRVW RI UHWULHYDO LQ JHQHUDO LV QrGf )RU WKH DGGLWLRQ RI D WUHH DUF L Mf WKH FRVW RI VHDUFK IRU LfV LPPHGLDWH FKLOG ZLWK WKH VPDOOHVW SRVWRUGHU QXPEHU DQG WZR SRVWRUGHU QXPEHUV LV 2Qf )RU WKH DGGLWLRQ RI D QRQWUHH DUF RQH SDVV LV UHTXLUHG IRU DGGLQJ WKH LQWHUYDOV DVVRFLDWHG ZLWK M WR L DQG DOO RI LWV SUHGHFHVVRUV ZKLFK LV QrGf +HQFH WKH FRVW RI DGGLWLRQ LV ^QrGf )RU WKH GHOHWLRQ RI DQ DUF L Mf WKH XSGDWH RI WKH WUHH LQWHUYDOV RI WKH VXEWUHH URRWHG DW M DQG WKH XSGDWH RI DOO UHOHYDQW QRQWUHH LQWHUYDOV UHTXLUHV RQH SDVV DQG WKXV KDYH ^QrGf FRPSOH[LW\ 7ZR PRUH SDVVHV DUH UHTXLUHG WR ILQG WKH WUHH SUHGHFHVVRUV RI L WKDW KDV DQ DUF FRPLQJ WR WKH VXEWUHH DQG IRU DGGLQJ QRQWUHH LQWHUn YDOV WR WKHVH QRGHV WKH FRVWV RI ERWK WKHVH SDVVHV DUH QrGf +HQFH WKH FRVW RI GHOHWLRQ LV QrGf ,Q WKH ZRUVW FDVH WKH DYHUDJH QXPEHU RI LQWHUYDOV DVVRFLDWHG ZLWK HDFK QRGH FDQ EH RI Q f )RU LQVWDQFH LQ D ELSDUWLWH JUDSK WKH WRWDO QXPEHU RI LQWHUn YDO UHTXLUHG FDQ EH QOf 7KH ZRUVW FDVH VHHPV WR RFFXU ZKHQ D ODUJH QXPEHU RI QRGHV KDYH WKH VDPH VHW RI LPPHGLDWH VXFFHVVRUV +RZHYHU LQ VXFK FDVHV D VLQJOH FRPPRQ YLUWXDO QRGH FDQ EH FUHDWHG DV DQ LQWHUPHGLDU\ 7KHUH ZLOO EH RQO\ RQH LQWHUYDO DVVRFLDWHG ZLWK WKH YLUWXDO QRGH DQG WKXV RQO\ RQH PRUH LQWHUYDO ZLOO EH DGGHG WR DOO LWV SUHGHFHVVRUV +RZHYHU ZH GR QRW H[SHFW ZRUVW FDVH JUDSKV WR DULVH

PAGE 77

LQ WKH DSSOLFDWLRQV HQYLVDJHG ,Q WKH LGHDO FDVH ZKHQ WKH JLYHQ JUDSK LV D VWULFW KLHUDUFK\ RQO\ RQH LQWHUYDO LV DVVRFLDWHG ZLWK HDFK QRGH 7KXV WKH VWRUDJH UHTXLUHn PHQW IRU WKH WUDQVLWLYH FORVXUH RI D KLHUDUFKLFDO JUDSK LV RI 2Qf $V WKH PD[LPXP QXPEHU RI HGJHV LQ D GLUHFWHG DF\FOLF JUDSK LV QQf§f WKH VWRUDJH UHTXLUHPHQW IRU LWV IXOO WUDQVLWLYH FORVXUH FDQ EH Q f LQ WKH ZRUVW FDVH ZKHUH Q LV WKH QXPEHU RI QRGHV LQ WKH JUDSK 7KH GHWDLOHG VLPXODWLRQ DQDO\VLV E\ $JUDZDO HW DO VKRZV WKDW IRU D JHQHUDO JUDSK ZLWK QRGHV LQ WKH UDQJH RI WKH VWRUDJH UHTXLUHPHQW IRU D FRPSUHVVHG WUDQVLWLYH FORVXUH WHQGV WR EH KDOI RI WKH VWRUDJH UHTXLUHPHQW RI WKH RULJLQDO JUDSK ZKHQ WKH DYHUDJH RXWGHJUHH RI QRGHV LV EHWZHHQ ILYH DQG WHQ >$JU@ 7KH WRWDO VWRUDJH UHTXLUHG ZDV FRPSXWHG DV WKH QXPEHUV RI VXFFHVVRUV DW HDFK QRGH IRU WKH RULJLQDO DQG WUDQVLWLYH FORVXUH JUDSKV 7KH UHDVRQV IRU WKH FRPSUHVVHG FORVXUH UHTXLULQJ OHVV VWRUDJH WKDQ HYHQ WKH RULJLQDO JUDSK DUH WKH IROORZLQJ $V QXPEHUV RI HGJHV LQFUHDVH D GHHSHU OHVV EUDQFK\ WUHH FDQ EH IRXQG WR FRYHU WKH JUDSK 0RVW VXFFHVVRUV RI D QRGH FDQ EH UHDFKHG WKURXJK WUHH HGJHV 3DWKV WKURXJK QRQWUHH HGJHV DUH PRVWO\ VXEVXPHG $ FRPSUHVVHG FORVXUH DOVR DYRLGV WKH H[WUD VWRUDJH UHTXLUHG IRU WKHVH UHGXQGDQW HGJHV ZKRVH UHPRYDO GRHV QRW DIIHFW WKH UHDFKDELOLW\ LQIRUPDWLRQ LQ WKH JUDSK ,W LV FOHDU IURP WKLV VWRUDJH UHTXLUHPHQW WKDW G LQ PRVW FDVHV LV OHVV WKDQ 'I ZKHUH LV WKH DYHUDJH RXWGHJUHH RI QRGHV LQ WKH JUDSK 7KH VLPXODWLRQ DQDO\VLV ZDV GRQH IRU DUELWUDU\ '$*V ,W VKRXOG EH QRWHG WKDW JUDSKV ** DQG HVSHn FLDOO\ &* FRQWDLQ KLHUDUFKLFDO LQIUDVWUXFWXUHV DQG WKXV G LV H[SHFWHG WR EH TXLWH VPDOO FRPSDUHG WR 7KH GDWD VWUXFWXUH SURSRVHG LQ WKH VFKHPH WKDW FRQWDLQV ERWK WKH RULJLn QDO JUDSK LH WKH ILVW RI LPPHGLDWH VXFFHVVRUVf DQG WKH FRPSUHVVHG WUDQVLWLYH FORVXUH ZLOO UHTXLUH RQ DYHUDJH Vf VWRUDJH ZKHUH V LV WKH VWRUDJH QHHGHG IRU WKH RULJLQDO JUDSK

PAGE 78

$QDO\VLV RI 7LPH &RPSOH[LW\ %HFDXVH RI WKH FRQVLVWHQF\ UXOH WKH JHQHUDOL]DWLRQ DQG FRPSRVLWLRQ JUDSKV DUH QRW DOORZHG WR KDYH F\FOHV 7KLV PHDQV WKDW DW WKH WLPH RI HYHU\ LQVHUn WLRQ LQ ** RU &* D F\FOH GHWHFWLQJ PHFKDQLVP KDV WR EH XVHG 7KH WLPH FRPSOH[LW\ RI GHWHFWLQJ D F\FOH LQ D GLUHFWHG JUDSK LV Q Qr'f ZKHUH Q LV WKH QXPEHU RI QRGHV DQG Qr' LV WKH QXPEHU RI HGJHV LQ WKH JUDSK 7KH FRPSXWDWLRQV RI WUDQVLWLYH FORVXUH UHODWLRQV JHQHUDO\ LQYROYH ^Q f DOJRULWKPV WKRXJK VRPH WHFKQLTXHV KDYH EHHQ GHYHORSHG WKDW JLYH VRPHZKDW EHWWHU SHUIRUPDQFH WKDQ Q f $V DUJXHG E\ ,RDQQLGLV DQG 5DPDNULVKQDQ RQO\ WKH VHPLQDLYH DOJRULWKP FRPSXWHV WKH SDUWLDO WUDQVLWLYH FORVXUH LH WKH VHW RI DOO SUHGHFHVVRUV RU VXFFHVVRUV RI D JLYHQ QRGHf HIILFLHQWO\ DQG LW KDV Q Qr'f FRPSOH[LW\ >,RD@ :LWK WKH H[FHSWLRQ RI VHPL QDLYH DOJRULWKP ZH PXVW HVVHQWLDOO\ FRPSXWH WKH HQWLUH WUDQVLWLYH FORVXUH ILUVW DQG WKHQ SHUIRUP D VHOHFWLRQ :H FRPSDUH WKH WLPH FRPSOH[LWLHV RI WKH DOJRULWKPV JLYHQ LQ 6HFWLRQ IRU WZR FDVHV Lf WKH WUDQVLWLYH FORVXUH UHODWLRQ RI ** DQG &* DUH PDLQWDLQHG DQG LLf WKHLU WUDQVLWLYH FORVXUH UHODWLRQ DUH FRPSXWHG ZKHQ UHTXLUHG &RQVLGHU SURFHGXUH &*,QVHUW $W WKH VWHS LQVHUWLRQV WDNH SODFH HDFK LQVHUWLRQ LPSOLHV WKDW FUHDWLRQ RI D F\FOH KDV WR EH FKHFNHG 7KH FRVW RI LQVHUWLRQ LQ WKH FDVH LLf LV f ZKHUHDV WKH FRVW RI GHWHFWLQJ D F\FOH LV DQ Q Qr'f ,Q WKH FDVH Lf WKH FRVW RI LQVHUWLRQ RI DQ HGJH LV QrGf +RZHYHU WKH GHWHFWLRQ RI F\FOHV LV D SDUW RI WKH LQVHUWLRQ DOJRULWKP ZLWK QR H[WUD FRVW $W WKH VWHSV DQG SDUWLDO WUDQVLWLYH FORVXUHV QHHG WR EH FRPSXWHG 7KH VHPLQDLYH PHWKRG FDQ FRPSXWH SDUn WLDO WUDQVLWLYH FORVXUH LQ Q Qr'f WLPH ,Q WKH FDVH Lf WKH VHDUFK WR ILQG D SDUn WLDO WUDQVLWLYH FORVXUH LH WKH VXFFHVVRU OLVW RI WKH JLYHQ QRGHf LV QGf 6LPLODU DUJXPHQWV FDQ EH PDGH IRU SURFHGXUH **,QVHUW ZKLFK FDOOV SURFHGXUH &*,QVHUW 7KXV WKH PDLQWHQDQFH RI WUDQVLWLYH FORVXUHV LPSURYHV WKH SHUIRUPDQFH RI LQVHUWLRQ

PAGE 79

DOJRULWKPV IURP Q Qr'f WR QrGf $V G LV H[SHFWHG WR EH TXLWH VPDOO ZH JHW D FRPSXWDWLRQDO DGYDQWDJH RI VHYHUDO IDFWRUV 7KH FRVW RI GHOHWLRQ RI DQ DUF LQ WKH FDVH Lf LV QrGf ZKHUHDV LWV FRVW LV 2Qf LQ WKH FDVH LLf IRU VHDUFKLQJ DQG GHOHWLQJ DQ DUF +RZHYHU WKH VWHSV DQG RI SURFHGXUH &*'HOHWH FRPSXWH SDUWLDO WUDQVLWLYH FORVXUH ZKLFK KDV EHHQ VKRZQ WR KDYH D EHWWHU SHUIRUPDQFH LQ WKH FDVH Lf $V G LV H[SHFWHG WR EH VPDOO FRPSDUHG WR WKH SHUIRUPDQFH RI GHOHWLRQ DOJRULWKPV ZLOO VWLOO EH EHWWHU IRU FDVH Lf 6LPLODU DUJXPHQWV FDQ EH PDGH IRU **'HOHWH ZKLFK FDOOV &*'HOHWH ,W LV FOHDU WKDW PDLQWHQDQFH RI WKH WUDQVLWLYH FORVXUH UHODWLRQV RI &* DQG ** SURYLGHV OHVV H[SHQVLYH XSGDWHV DQG TXHULHV WKRXJK LW KDV D KLJKHU VWRUDJH UHTXLUHPHQW 7KH IRUHJRLQJ DQDO\VLV VKRZV WKDW WKH WUDGHRII LW SURYLGHV LQ WHUPV RI HIILFLHQW SHUIRUPDQFH IDU RXWZHLJKV WKH VWRUDJH UHTXLUHPHQW

PAGE 80

$ >@ )LJXUH $ >@ )LJXUH

PAGE 81

&+$37(5 $ 6725$*( 675$7(*< )25 9(56,21(' &20326,7( 2%-(&76 'HVLJQ RI D FRPSOH[ HQJLQHHULQJ REMHFW RU D ODUJH VRIWZDUH V\VWHP LV DQ LQWULFDWH WDVN $ GHVLJQ REMHFW PD\ FRQWDLQ WKRXVDQGV RI FRQVWLWXHQWV ZKLFK FDQ WKHPVHOYHV KDYH VHYHUDO YHUVLRQV $Q HIILFLHQW VWRUDJH VWUDWHJ\ IRU GHVLJQ REMHFWV LV LQGLVSHQVDEOH IRU NHHSLQJ WKLV WDVN PDQDJHDEOH ,Q WKLV FKDSWHU ZH SURSRVH D VWRUDJH VWUDWHJ\ IRU YHUVLRQHG FRPSRVLWH REMHFWV ZKLFK LQYROYHV FOXVWHULQJ DV ZHOO DV LQGH[LQJ WHFKQLTXHV IRU HIILFLHQW UHWULHYDO XSGDWH DQG WHVWLQJ 7KH SK\VLFDO GHVLJQ RI D GDWDn EDVH V\VWHP UHTXLUHV WKDW D QXPEHU RI GHFLVLRQV EH PDGH ZLWK UHVSHFW WR WKH SDUDPHn WHUV RI WKH LPSOHPHQWHG V\VWHP $ GHWDLOHG NQRZOHGJH RI WKH V\VWHP FKDUDFWHULVWLFV LV UHTXLUHG IRU D JRRG GHVLJQ +RZHYHU WKLV DORQH LV QRW HQRXJK VLQFH LW LV IUHTXHQWO\ WKH FDVH WKDW D JURXS RI SDUDPHWHUV DUH VR LQWHUUHODWHG WKDW FKDQJHV LQ RQH UHTXLUHV DGMXVWPHQW LQ RWKHUV LQ RUGHU WR PDLQWDLQ D EDODQFHG GHVLJQ 7KH RVWHQVLEOH LQWUDFWDn ELOLW\ RI WKH SUREOHP SHUKDSV H[SODLQV ZK\ WKH ZRUN >+DU .LP .HWE@ UHSRUWHG RQ VWRUDJH VWUDWHJLHV IRU FRPSRVLWH REMHFWV GRHV QRW WDNH WKH GLPHQVLRQ RI YHUVLRQLQJ LQWR FRQVLGHUDWLRQ RU GHDO ZLWK WKH IUHTXHQW FKDQJHV GXULQJ WKH GHVLJQ SKDVH 7KH SURSRVHG VWRUDJH VWUDWHJ\ LQFRUSRUDWHV WKH H[SHFWHG GHVLJQ SDUDPHWHUV WKH VWUXFWXUH DFFHVV DQG XSGDWH SDWWHUQ YHUVLRQLQJ DQG WHVWLQJ UHTXLUHPHQWV RI D GHVLJQ REMHFW 7KH XQGHUO\LQJ LGHD LV WR SURYLGH LQGH[LQJ IDFLOLW\ IRU REMHFWV IRU GLUHFW UHWULHYDO DQG SODFH WKHP SK\VLFDOO\ FOXVWHUHG RQ VHFRQGDU\ VWRUDJH VR WKDW GLVN DFFHVV DQG SDJH IDXOWV DUH PLQLPL]HG 7KH REMHFWLYH LV WR GHYHORS D GDWDEDVH RUJDQL]DWLRQ WHFKQLTXH ZKLFK VXSSRUWV HIILFLHQW H[HFXWLRQ RI IUHn TXHQW UHWULHYDO DQG XSGDWH RSHUDWLRQV LQ &$' GHVLJQ GDWDEDVHV

PAGE 82

'HVLJQ 'DWDEDVH 2SHUDWLRQV ,Q WKLV VHFWLRQ ZH SUHVHQW DQ RXWOLQH RI D VHW RI IUHTXHQWO\ RFFXUULQJ RSHUDWLRQV LQ D GHVLJQ GDWDEDVH 7KHVH RSHUDWLRQV DQG WKHLU UHODWLYH IUHTXHQF\ DQG VLJQLILFDQFH IXUQLVKHV WKH EDVLV RI WKH SURSRVHG VWUDWHJ\ ,Q WKH IRUWKFRPLQJ GLVFXVn VLRQ RQ FRPSRVLWH LQVWDQFH JUDSK ZH XVH WHUPV VXFK DV SDUHQW FKLOG GHVFHQGHQW DQFHVWRU DQG VLEOLQJ ZLWK REYLRXV PHDQLQJV IURP JUDSK WKHRU\ :H DOVR XVH WKH WHUP WZLQV WR UHIHU WR PHPEHUV LQ D YHUVLRQ VHW 7KH EDVLF RSHUDWLRQ LQ D GHVLJQ GDWDEDVH LV WKH UHWULHYDO RI DQ HQWLUH RU SDUWLDO GHVLJQ REMHFW ZKLFK LV FDOOHG REMHFW UHWULHYDO 25f 2WKHU RSHUDWLRQV LQ GHVLJQ GDWDEDVH QRUPDOO\ UHTXLUH DFFHVVLQJ REMHFWV WKDW DUH LQWHUUHODWHG WR RQH DQRWKHU 7KH RSHUDWLRQV RI DFFHVVLQJ REMHFWV LQ D YHUVLRQ VHW WKDW LV WKH WUDQVLWLRQ IURP RQH WZLQ WR DQRWKHU LV FDOOHG WZLQ WUDQVLWLRQ 77f $Q RSHUDWLRQ LV QHHGHG LQ GHVLJQ GDWDEDVHV WR DFFHVV DOO FRQVWLWXHQW REMHFWV RI D JLYHQ FRPSRVLWH REMHFW 7KH RSHUDWLRQ RI SK\VLFDO WUDQVLWLRQ IURP RQH VLEOLQJ FRQVWLWXHQW REMHFW WR DQRWKHU LV FDOOHG VLEOLQJ WUDQVLWLRQ 67f 2WKHU LPSRUWDQW RSHUDWLRQ LQ GHVLJQ GDWDEDVHV LV DFFHVVLQJ FRQVWLWXHQW REMHFWV IURP WKHLU SDUHQW FRPSRVLWH REMHFWV 'LVWLQFWLRQ PXVW EH PDGH EHWZHHQ WKLV RSHUDWLRQ DQG WKH SUHYLRXVO\ GHVFULEHG RSHUDWLRQ 67 +HUH WKH WUDQVLWLRQ LV IURP D SDUHQW REMHFW WR LWV ILUVW FKLOG REMHFW UDWKHU WKDQ EHWZHHQ WKH VLEOLQJV 7KLV W\SH RI RSHUDWLRQ LV FDOOHG SDUHQWFKLOG WUDQVLWLRQ 3&7f $QRWKHU LPSRUWDQW WKRXJK OHVV IUHTXHQW RSHUDWLRQ LV WKH DFFHVV RI DOO SDUHQW REMHFWV IURP D JLYHQ FKLOG FRQVWLWXHQW REMHFW (VVHQWLDOO\ LW LV D WUDQVLWLRQ IURP D FKLOG WR LWV SDUHQWV 7KLV RSHUDWLRQ LV FDOOHG FKLOGSDUHQW WUDQVLWLRQ &37f ,W VKRXOG EH QRWHG WKDW LQ WKH SURSRVHG YHUVLRQLQJ VFKHPH D YHUVLRQHG REMHFW FDQ EH UHIHUHQFHG E\ PRUH WKDQ RQH REMHFWV ZKLFK EHORQJ WR WKH VDPH YHUVLRQ VHW

PAGE 83

$Q RSHUDWLRQ LV DOVR QHHGHG ZKLFK JLYHQ DQ REMHFW SURYLGHV DFFHVV WR DOO LWV FRQVWLWXHQWV 7KLV RSHUDWLRQ FDQ EH PDWHULDOL]HG E\ UHFXUVLYHO\ DSSO\LQJ WKH RSHUDWLRQ 3&7 7KLV RSHUDWLRQ LV UHIHUUHG WR DV DQFHVWRUGHVFHQGHQW WUDQVLWLRQ $'7f $V DUJXHG LQ &KDSWHU WKLV W\SH RI RSHUDWLRQ LV TXLWH IUHTXHQWO\ XVHG LQ RUGHU WR TXHU\ D GHVLJQ DW WKH WHPSODWH OHYHO +RZHYHU WKLV RSHUDWLRQ DW WKH LQVWDQFH OHYHO FHDVHV WR EH YHU\ XVHIXO EHFDXVH RI WKH KXJH DPRXQW RI GDWD UHWULHYHG 8QLWV RI &OXVWHULQJ 'HVLJQ REMHFWV DUH KLJKO\ YDULDEOH LQ VL]H DV WKH\ KDYH YDULDEOH OHQJWK DQG VHWYDOXHG DWWULEXWHV 7KH VWRUDJH VXEV\VWHP UHTXLUHG IRU GHVLJQ GDWDEDVH PXVW VXSSRUW KHWHURJHQHRXV DQG YDULDEOH OHQJWK UHFRUGV +HWHURJHQHRXV UHFRUGV LPSO\ WKDW GDWD SDJHV LQ WKH VWRUDJH VXEV\VWHP FRQWDLQ GLIIHUHQW W\SHV RI UHFRUGV 9DULDEOH OHQJWK UHFRUGV PHDQ WKDW UHFRUGV RI WKH VDPH W\SH DUH DOORZHG WR JURZ DQG VKULQN LQ VL]H 7KH VWRUDJH PXVW DOVR DOORZ UHFRUG FOXVWHULQJ WKDW LV D QHZ UHFRUG FDQ EH VWRUHG LQ WKH YLFLQLW\ RI WKH VSHFLILHG VWRUDJH ORFDWLRQ 0RVW DSSOLFDWLRQV LQ GHVLJQ GDWDEDVHV WHQG WR UHWULHYH D GHVLJQ REMHFW LQ LWV HQWLUHW\ RU D ODUJH VLJQLILFDQW SRUWLRQ RI LW 0RUHRYHU WKHVH UHWULHYDOV WHQG WR EH REMHFWRULHQWHG UDWKHU WKDQ VHW RULHQWHG >.HWD@ WKDW LV DQ REMHFW LV UHWULHYHG JLYHQ LWV REMHFW LGHQWLILHU ZKHUHDV LQ FRQYHQWLRQDO GDWDEDVHV D VHW RI UHFRUGV LV UHWULHYHG EDVHG RQ VRPH FULWHULD GHILQHG RQ WKHLU DWWULEXWHV )RU WKH GHULYDWLRQ RSHUDWLRQ 6HFn WLRQ f DQ REMHFW LV DFFHVVHG LQ LWV HQWLUHW\ LQ RUGHU WR FUHDWH LWV FRS\ 7KHUHIRUH UHFRUGV WKDW EHORQJ WR D GHVLJQ REMHFW PXVW EH SK\VLFDOO\ FROORFDWHG $Q REMHFW FRQn VWLWXWHV DQ XQSDUWLWLRQDEOH HQWLW\ DQG WKXV D IXQGDPHQWDO XQLW RI FOXVWHULQJ ,Q WKH IROORZLQJ ZH GLVFXVV WKH FKDUDFWHULVWLFV RI GHVLJQ GDWDEDVHV ZKLFK SURYLGH D VWURQJ PRWLYDWLRQ IRU D VFKHPH WKDW VXSSRUWV SK\VLFDO FROORFDWLRQ RI YHUn VLRQV LQ D YHUVLRQ VHW

PAGE 84

,Q DQ HQYLURQPHQW WKDW VXSSRUWV YHUVLRQLQJ D GHVLJQHU DFFHVVHV GLIIHUHQW YHUVLRQV EHORQJLQJ WR WKH VDPH VHW LQ DQ H[SORUDWRU\ PDQQHU IRU EURZVLQJ DQG WHVWLQJ WKHP RU IRU VHOHFWLQJ WKHP WR EH UHIHUHQFHG DV FRQVWLWXHQWV RU IRU GHULYLQJ D QHZ YHUVLRQ $V GLVFXVVHG LQ 6HFWLRQ DOO REMHFWV LQ D YHUVLRQ VHW DUH HTXLYDOHQW DQG FDQ EH LQWHUFKDQJHDEO\ UHIHUHQFHG E\ D JLYHQ FRPSRVLWH REMHFW ,Q WKH GHULYDWLRQ RSHUDWLRQ D YHUVLRQ LV FUHDWHG E\ FRS\LQJ D JLYHQ YHUn VLRQ 7KH ZULWLQJ RI WKH QHZO\ GHULYHG YHUVLRQ LV PRVW OLNHO\ WR EH VWRUHG RQ WKH VDPH SDJH DV WKH VRXUFH YHUVLRQ 7KLV PLQLPL]HV SDJH IDXOWV DV WKH SDJH LV H[SHFWHG WR UHPDLQ LQ EXIIHU %\ FROORFDWLQJ DOO WKH YHUVLRQV RI DQ REMHFW WKH VSDFH FDQ DOVR EH PDQDJHG HIILFLHQWO\ 7KH LQYDULDQW DWWULEXWHV QHHG QRW EH UHSOLFDWHG DV WKH\ DUH DFTXLUHG IURP WKH JHQHULF REMHFW ZKLFK LV DOVR FOXVWHUHG ZLWK WKH YHUVLRQHG REMHWV $ WHFKQLTXH FDOOHG GHOWD UHILQHPHQW ZKLFK VWRUHV RQO\ WKH PRGLILHG DWWULEXWH YDOXHV RI D YHUVLRQ FDQ EH HIILFLHQWO\ DSSOLHG WR WKH GHULYHG YHUVLRQV LI WKLV VFKHPH LV VXSn SRUWHG 7KH SURSRVHG PRGHO DOORZV D FRPSRVLWH REMHFW WR PDNH JHQHULF UHIHUn HQFHV WR LWV FRQVWLWXHQWV ZKLFK FDQ EH G\QDPLFDOO\ GHUHIHUHQFHG E\ VRPH GHIDXOW FULn WHULD ,Q JHQHULF UHIHUHQFH QR SDUWLFXODU YHUVLRQ LV UHIHUHQFHG DQG DQ\ REMHFW LQ WKH YHUVLRQ VHW FDQ EH G\QDPLFDOO\ ERXQG WR LWV UHIHUHQFHV 7KHUHIRUH E\ FROORFDWLQJ YHUn VLRQV LQ D VHW WKH RSHUDWLRQV 3&7 DQG 67 ZLWK JHQHULF UHIHUHQFHV FDQ EH HIILFLHQWO\ VXSSRUWHG 'XULQJ WKH GHULYDWLRQ SKDVH D QHZ GHULYHG YHUVLRQ FDQ H[LVW ZLWKRXW EHLQJ UHIHUHQFHG E\ DQ\ SDUHQW REMHFW DQG WKXV PD\ OHDG WR GLVSHUVHG VWRUDJH $Q H[DPSOH VKRXOG LOOXVWUDWH WKLV SRLQW &RQVLGHU D FRPSRVLWH REMHFW $Y WKDW UHIHUn HQFHV WKH REMHFW %Y ZKLFK LQ WXUQ UHIHUHQFHV &Y 6XSSRVH D QHZ YHUVLRQ %Y LV GHULYHG IURP %Y %Y DOVR UHIHUHQFHV WKH FRQVWLWXHQW REMHFW &Y KRZHYHU $YfV UHIHUHQFH WR %Y UHPDLQV XQFKDQJHG DQG IRU D SHULRG RI WLPH %Y FDQ UHPDLQ XQUHIHUHQFHG 7KLV LPSOLHV WKDW %Y PXVW EH FROORFDWHG ZLWK LWV SRWHQWLDO SDUHQWV

PAGE 85

IRU HIILFLHQW VXSSRUW RI 3&7 DQG 67 RSHUDWLRQV ,W VKRXOG EH QRWHG WKDW %Y FDQ EH UHIHUHQFHG LQ WKH IXWXUH RQO\ E\ WKH YHUVLRQV EHORQJLQJ WR WKH REMHFW $ 6LPLODU VLWXDWLRQ FDQ DOVR RFFXU E\ IUHTXHQW PRGLILFDWLRQV RI UHIHUHQFH IURP RQH HTXLYDOHQW YHUVLRQ WR RWKHU 7KLV VFKHPH FDQ HOLPLQDWH WKH GLVSHUVHG VWRUDJH RI UHODWHG REMHFWV DQG HIILFLHQW H[HFXWLRQ RI 77 67 DQG 3&7 FDQ EH HQVXUHG 7KH IRUHJRLQJ GLVFXVVLRQ DWWHPSWHG WR GHPRQVWUDWH WKH QHFHVVLW\ RI SK\n VLFDOO\ FOXVWHULQJ WKH PHPEHUV RI D YHUVLRQ VHW RQ WKH SK\VLFDO VWRUDJH 7KLV IRUPV WKH VHFRQG XQLW RI FOXVWHULQJ ,GHQWLI\LQJ DQG DFFHVVLQJ DOO WKH LPPHGLDWH FRQVWLWXHQWV RI D JLYHQ REMHFW LV DQ DFWLYLW\ WKDW RFFXUV TXLWH IUHTXHQWO\ LQ GHVLJQ GDWDEDVHV $ FRPSRVLWH REMHFW LV GHILQHG LQ WHUPV RI LWV FRQVWLWXHQWV $OO FRQVWLWXHQWV RI D GHVLJQ REMHFWV DUH RIWHQ DFFHVVHG E\ WKH VDPH WUDQVDFWLRQ LQ RUGHU WR H[SORUH WKHP RU WR H[DPLQH ZKHWKHU WKH\ DUH FRPSOHWH DQGRU FRQVLVWHQW RU WR UXQ YDOLGDWLRQ WHVW RQ WKHP 7KLV SURn YLGHV D PRWLYDWLRQ IRU VWRULQJ VLEOLQJ FRQVWLWXHQW REMHFWV FORVH WR RQH DQRWKHU RQ GLVN 7KLV JLYHV WKH WKLUG XQLW RI FOXVWHULQJ ,Q &KDSWHU ZH JDYH VRPH UXOHV IRU EXLOGLQJ D FRPSRVLWH REMHFW KLHUDUn FK\ ,Q &KDSWHU WKH EDVLF UHTXLUHPHQWV RI YHUVLRQLQJ ZHUH GLVFXVVHG ,W ZDV REVHUYHG WKDW DGGLQJ WKH GLPHQVLRQ RI YHUVLRQLQJ WR D FRPSRVLWH REMHFW KLHUDUFK\ WUDQVIRUPV LW LQWR D GLUHFWHG DF\FOLF JUDSK '$*f 6LQFH LQ WKH YHUVLRQLQJ VFKHPH D FRQVWLWXHQW REMHFW FDQ KDYH PRUH WKDQ RQH SDUHQW REMHFWV EHORQJLQJ WR WKH VDPH YHUn VLRQ VHW WKH VWULFW KLHUDUFKLFDO SURSHUW\ RI ,&* 'HILQLWLRQ f LV ORVW :H QRWHG HDUOLHU WKDW 77 DQG 67 DUH IUHTXHQWO\ XVHG RSHUDWLRQV LQ GHVLJQ GDWDEDVHV +RZHYHU DQ\ WUDYHUVDO RI D '$* FDQQRW PDLQWDLQ WKH SURSHUW\ RI XQLQWHUYHQHG VHTXHQWLDO DFFHVV WR DOO LWV FKLOG QRGHV VLQFH D FKLOG QRGH PD\ EHORQJ WR PRUH WKDQ RQH SDUHQW DQG WKXV FDQ EH SODFHG RQO\ LQ RQH VHW RI VLEOLQJV $ FRPn SDULVRQ RI '$* DQG KLHUDUFK\ WUDYHUVDOV LV GLVFXVVHG LQ WKH QH[W VHFWLRQ

PAGE 86

7KH SULQFLSDO LQVLJKW XQGHUO\LQJ WKH SURSRVHG VFKHPH LV WR WUDQVIRUP D '$* LQWR DQ HTXLYDOHQW KLHUDUFK\ 7KLV FRQYHUVLRQ LV EDVHG RQ VLPSOH QRWLRQV )LUVW ZH QRWH WKDW WKH QRGHV LQ WKH '$* KDYH PXOWLSOH SDUHQWV EXW WKH\ DUH DW WKH VDPH OHYHO 6HFRQG DOO SDUHQWV RI D QRGH PXVW EHORQJ WR WKH VDPH YHUVLRQ VHW WKDW LV WKH\ PXVW EH WZLQV 7KLUG D QRGH WKRXJK LW PD\ QRW FXUUHQWO\ KDYH DQ\ SDUHQW DQG WKXV IRUP D URRW LQ WKH '$* FDQ SRWHQWLDOO\ DFTXLUH D SDUHQW RQO\ IURP D GHVLJn QDWHG YHUVLRQ VHW ZKLFK RZQV LWV WZLQV :H KDYH DOUHDG\ DUJXHG WKH DGYDQWDJH RI FOXVWHULQJ WKH PHPEHUV RI D YHUVLRQ VHW LW VKRXOG EH SRLQWHG RXW WKDW PRVW RI WKH WZLQV DUH H[SHFWHG WR EH VKDUHG E\ WKH SDUHQW REMHFWV GXH WR SUREDWLYH DQG GHULYDn WLYH QDWXUH RI GHVLJQ ,I DOO REMHFWV LQ D YHUVLRQ VHW DUH WUHDWHG DV D VLQJOH FOXVWHUHG QRGH DQG WKH FKLOGUHQ RI DOO REMHFWV LQ WKH VHW DUH WUHDWHG DV WKH FKLOGUHQ RI WKH QRGH D '$* FDQ EH FRQYHUWHG LQWR D KLHUDUFK\ 7KH IROORZLQJ IRUPDOLVP JLYHV D SUHFLVH GHVFULSn WLRQ RI WKLV WUDQVIRUPDWLRQ :H REVHUYH WKDW IRU DQ\ WZR HGJHV D Ff DQG E Ff LQ WKH '$* *HQHULFOQVWDf *HQHULFOQVWEf DOZD\V KROGV WUXH )RU QRGHV $Y $ $N $Q LQ WKH '$* WKHUH LV D FRUUHVSRQGLQJ QRGH $ LQ WKH HTXLYDOHQW KLHUDUFK\ VXFK WKDW $ ^$Y $ $N $Q ` DQG 9 $^ $ *HQHULFOQVW $f KDV D XQLTXH YDOXH )RU DQ\ WZR QRGHV $ $ DQG % ‘ % LI DQ HGJH $ % ‘f LQ WKH '$* WKHQ WKHUH LV DQ HGJH $ %f LQ WKH HTXLYDOHQW KLHUDUFK\ )LJXUH VKRZV VXFK D '$* )LJXUH UHSUHVHQWV DQ HTXLYDOHQW KLHUDUFK\ ,Q WKH KLHUDUFK\ $ ^$YO $Y` % ^%YO %Y %Y ` ^ 'Y ` 1 ^ 1YO 1Y ` 6 ^ 6Y` HWF 7KH HGJH $ %f LQ WKH KLHUDUFK\ FRUUHVSRQGV WR WKH '$* HGJHV $YO %Yf DQG $Y %Yf 6LPLODUO\ WKH HGJH $ 'f LQ WKH KLHUDUFK\ FRUUHVSRQGV WR WKH HGJHV $YO 'Yf DQG $Y 'Yf HWF

PAGE 87

,W VKRXOG EH SRLQWHG RXW WKH WKLV WUDQVIRUPDWLRQ RI D '$* LQWR D KLHUDUn FK\ LV PRWLYDWHG E\ D VHDUFK IRU DQ RSWLPXP FOXVWHULQJ ,W SURYLGHV DUJXDEO\ WKH PRVW HIILFLHQW VHTXHQWLDO RUGHULQJ RI REMHFWV IRU WKH H[HFXWLRQ RI GHVLJQ RSHUDWLRQV 7KH SDUHQWFKLOG UHIHUHQFHV LQ D '$* ZKLFK DUH UHSUHVHQWHG LQ WKH LQWHUQDO DVVHPn EO\ RI DQ REMHFW UHPDLQ YDOLG LQ WKHLU KLHUDUFKLFDO UHSUHVHQWDWLRQ 7UDYHUVDOV RI +LHUDUFKLHV ,Q 6HFWLRQ ZH SURSRVHG D QXPEHU RI RSHUDWLRQV DQG WKUHH LPSRUWDQW XQLWV RI FOXVWHULQJ 7KH WKUHH RSHUDWLRQVf§25 77 DQG 67 DUH IXQGDPHQWDO WR WKH QDWXUH RI GHVLJQ GDWDEDVHV $Q HIILFLHQW H[HFXWLRQ RI WKHVH RSHUDWLRQV DUH SURn YLGHG E\ WKH SURSRVHG FOXVWHULQJ DQG LQGH[LQJ GLVFXVVLRQ RI ZKLFK LV SRVWSRQHG WR D ODWHU VHFWLRQf VFKHPHV 7KH RSHUDWRU 3&7 LV DOVR H[WUHPHO\ LPSRUWDQW LQ IDFW WKH RSHUDWLRQ 67 EHFRPHV PHDQLQJIXO RQO\ ZKHQ LW LV SUHFHGHG E\ D 3&7 ,W LV H[SHFWHG WKDW WKHUH ZLOO EH UHSHDWHG FDOOV WR 67 DIWHU D FDOO KDV EHHQ PDGH WR 3&7 7KHUHIRUH WKH QRGHV RI D KLHUDUFK\ VKRXOG EH RUJDQL]HG LQ D VHTXHQWLDO RUGHU LQ ZKLFK WKH\ DUH PRVW OLNHO\ WR EH DFFHVVHG 6LQFH DQ\ QRGH FDQ EH GLUHFWO\ DFFHVVHG DQG WKXV FDQ EHFRPH D VWDUWLQJ SRLQW LQ D VHTXHQWLDO DFFHVV WR RWKHU QRGHV WKH FKRVHQ SDWWHUQ RI RUJDQL]DWLRQ PXVW EH UHFXUVLYHO\ UHSHDWHG 7KLV LV WKH VHTXHQn WLDO RUGHU LQ ZKLFK QRGHV RI D JLYHQ KLHUDUFK\ ZLOO EH VWRUHG RQ GLVN 7KHUH DUH PDQ\ ZD\V D KLHUDUFK\ FDQ EH WUDYHUVHG 2XU JRDO LV WR ILQG DQ RSWLPDO VWRUDJH JLYHQ WKH XQLWV RI FOXVWHULQJ DQG WKH H[SHFWHG IUHTXHQF\ RI WKH RSHUDWLRQV $Q\ WUDYHUVDO RI D KLHUDUFK\ WKDW SURYLGHV D VHTXHQWLDO RUGHU IRU VWRULQJ LWV QRGHV PXVW VDWLVI\ WKUHH UHTXLUHPHQWV )LUVW D QRGH PDVW EH YLVLWHG EHIRUH DQ\ RI LWV GHVFHQGHQWV DUH YLVLWHG WKLV HQVXUHV WKDW WKH GHVFHQGHQWV RI QRGH FDQ EH DFFHVVHG LQ D VLQJOH VHTXHQWLDO IRUZDUG WUDYHUVDO 6HFRQG DOO FKLOGUHQ RI D QRGH PXVW EH FROORn FDWHG DV FORVH DV SRVVLEOH 7KLUG DQ\ GHOHWLRQ DQG LQVHUWLRQ LQ WKH H[LVWLQJ KLHUDUFK\

PAGE 88

VKRXOG SURGXFH D PLQLPDO UHVWUXFWXULQJ RI WKH VHTXHQWLDO RUGHU ,Q GHVLJQ GDWDEDVHV DQ LQVHUWLRQ GRHV QRW QHFHVVDULO\ DSSO\ WR D VLQJOH HGJH D ZKROH VXEWUHH UHSUHVHQWLQJ DQ LQGHSHQGHQW FRPSRVLWH REMHFW FDQ EH LQVHUWHG DV D FKLOG RI D QRGH LQ DQRWKHU GHVLJQ KLHUDUFK\ 7KLV VLWXDWLRQ RFFXUV ZKHQ WZR FRPSRVLWH REMHFW HYROYH LQGHSHQn GHQWO\ DQG ODWHU RQH LV UHIHUHQFHG DV D GHVFHQGHQW E\ WKH RWKHU 'HSWKILUVW DQG EUHDGWKILUVW WUDYHUVDOV DUH WZR ZHOONQRZQ PHWKRGV IRU WUDYHUVLQJ D KLHUDUFK\ ,Q GHSWKILUVW WUDYHUVDO D VLQJOH EUDQFK RI D KLHUDUFK\ LV WUDYHUVHG WR WKH OHDI OHYHO DQG RQO\ WKHQ DUH RWKHU EUDQFKHV H[SORUHG ,Q EUHDGWK ILUVW WUDYHUVDO D KLHUDUFK\ LV SXUVXHG RQH OHYHO DW D WLPH XQWLO LW LV IXOO\ WUDYHUVHG 7KHVH WUDYHUVDO PHWKRGV DUH LOOXVWUDWHG E\ WKH IROORZLQJ H[DPSOHV $ KLHUDUFK\ LV VKRZQ LQ )LJXUH $VVXPLQJ WKDW FKLOG QRGHV RI D JLYHQ QRGH DUH WUDYHUVHG IURP OHIW WR ULJKW WKH IROORZLQJ DUH WKH VHTXHQFHV LQ ZKLFK GHSWKILUVW DQG EUHDGWKILUVW WUDYHUVDOV UHVSHFWLYHO\ YLVLW WKH QRGHV RI WKH KLHUDUFK\ ')7 $%(+,-)*./&01'2453 %)7 $%&'()*0123+,-./45 ,W LV FOHDU WKDW ERWK WUDYHUVDOV PHHW WKH ILUVW FULWHULRQ RI DFFHVVLQJ DQ DQFHVWRU QRGH EHIRUH DFFHVVLQJ LWV GHVFHQGHQWV +RZHYHU GHSWKILUVW WUDYHUVDO GRHV QRW VDWLVI\ WKH VHFRQG DQG WKH PRVW LPSRUWDQW FULWHULRQ RI FOXVWHULQJ WKH VLEOLQJ QRGHV %UHDGWKILUVW WUDYHUVDO GRHV QRW FORVHO\ FROORFDWH FKLOG QRGHV ZLWK WKHLU SDUHQW &RQVLGHU DQ LQGHSHQGHQW GHVLJQ KLHUDUFK\ VKRZQ LQ )LJXUH ZKLFK LV LQVHUWHG DV D VXEWUHH XQGHU QRGH $ LQ )LJXUH WKDW LV D EHFRPHV DQRWKHU FKLOG QRGH RI $ 7KH UHVXOWLQJ KLHUDUFK\ LV VKRZQ LQ )LJXUH DQG LWV WZR WUDYHUVDOV DUH JLYHQ EHORZ ')7 $%(+,-)*./&01'2453m"A3

PAGE 89

%)7 $%&'D()*0123A+,-./45L 7KH DERYH H[DPSOH LOOXVWUDWHV WKDW LQ GHSWKILUVW WUDYHUVDO WKH LQVHUWLRQ RI D VXEWUHH FUHDWHV D PLQLPDO UHVWUXFWXULQJ RI WKH H[LVWLQJ VHTXHQFH DV WKH LQVHUWLRQ LV PDGH DW RQO\ RQH ORFDWLRQ ,W LV FOHDU WKDW WKH QRGHV EHORQJLQJ WR WKH VXEWUHH DUH VLPSO\ LQVHUWHG DW RQH SRLQW WKDW LV DIWHU WKH QRGH 3f§ZLWKRXW DQ\ UHVWUXFWXULQJ RI WKH VHTXHQFH LQ WKH VXEWUHH ,W VKRXOG EH SRLQWHG RXW WKDW WKH LQVHUWLRQ FDQQRW DOZD\V EH DW WKH HQG RI WKH VHTXHQFH 2Q WKH RWKHU KDQG LQ EUHDGWKILUVW WUDYHUVDO LQVHUWLRQV DUH PDGH DW DOO OHYHOV WKDW DUH FRPPRQ WR ERWK WKH KLHUDUFKLHV WKDW LV D PXVW EH LQVHUWHG DW WKH ILUVW OHYHO DQG c DQG DW WKH VHFRQG OHYHO DQG VR RQ 7KH VXEWUHH WKDW LV EHLQJ LQVHUWHG ZLOO KDYH LWV QRGHV VHTXHQFHG LQ WKH JLYHQ RUGHU 7KH LQVHUWLRQ LQ GHSWKILUVW WUDYHUVDO XWLOL]HV WKLV IDFW KRZHYHU WKH EUHDGWKILUVW WUDYHUVDO GXH WR LWV YHU\ GHILQLWLRQ FDQQRW DQG WKXV LQVHUWLRQ IRU WKLV FDVH EHFRPHV YHU\ LQHIILFLHQW &RQVHTXHQWO\ QHLWKHU RI WKHVH WUDYHUVDOV VDWLVILHV DOO WKH UHTXLUHPHQWV RI D GHVLJQ GDWDEDVH 7KLV KDV PRWLYDWHG XV WR GHYLVH D QHZ PHWKRG RI WUDYHUVDO FDOOHG VLEOLQJUHYHUVHGHSWKILUVW 65')f ZKLFK LV HVVHQWLDOO\ D K\EULG RI WKH DERYH WZR WUDYHUVDOV ,Q 65') WUDYHUVDO RQFH D QRGH LV YLVLWHG WKHQ DOO LWV FKLOG QRGHV DUH YLVLWHG LPPHGLDWHO\ 7KLV SURFHGXUH LV UHFXUVLYHO\ UHSHDWHG LQ UHYHUVH RUGHU 7KH IROORZLQJ SURFHGXUDO GHVFULSWLRQ GHILQHV WKH PHWKRG LQ D PRUH SUHFLVH WHUP 3URFHGXUH 65')7 $f %(*,1 9LVLW QRGH $ ,) QRGH $ KDV DQ\ FKLOGUHQ 7+(1 %(*,1 9LVLW DOO FKLOG QRGHV RI $ )RU HDFK FKLOG % RI $ &DOO 65')7 %f LQ WKH UHYHUVH RUGHU (1' (1'

PAGE 90

7KH VLEOLQJUHYHUVHGHSWKILUVW WUDYHUVDO RI WKH KLHUDUFK\ VKRZQ LQ )LJXUH LV JLYHQ EHORZ 65')7 $%&'234501()*./+,,Q 65') WUDYHUVDO DOO FKLOGUHQ DUH YLVLWHG LPPHGLDWHO\ DIWHU D SDUHQW QRGH LV YLVLWHG LQ RUGHU WR LPSRVH D VHTXHQWLDO FOXVWHULQJ RQ WKH VLEOLQJV WKLV LV IROn ORZHG E\ D UHFXUVLYH DSSOLFDWLRQ RI WKLV WUDYHUVDO RQ WKH FKLOG QRGHV LQ WKH UHYHUVH RUGHU WKDW LV WKH FKLOG WKDW ZDV YLVLWHG ODVW LV FKRVHQ IRU WKH DFFHVV RI LWV GHVFHQ GHQWV ILUVW 7KLV HQVXUHV WKDW IRU DW OHDVW RQH QRGH RI HDFK VHW RI VLEOLQJV WKH GHVFHQ GHQWV FDQ EH DFFHVVHG ZLWKRXW DQ\ LQWHUYHQLQJ QRGHV 7KH 65') WUDYHUVDO DV FDQ EH HDVLO\ VHHQ PHHWV WKH ILUVW DQG WKH VHFRQG FULWHULD 7KH LGHD EHKLQG WKLV WUDYHUVDO LV WKDW LI DIWHU KDYLQJ YLVLWHG DOO FKLOG QRGHV D GHVLJQHU DFFHVVHV D GHVFHQGHQW RI WKH JLYHQ QRGH WKHQ KHVKH LV PRVW OLNHO\ WR YLVLW DOO WKH GHVFHQGHQWV RI D FKLOG QRGH EHIRUH VZLWFKLQJ WR WKH GHVFHQGHQWV RI VRPH RWKHU VLEOLQJ QRGH 7KHUHIRUH WKLV WUDYHUVDO LPLWDWHV WKH GHSWKILUVW WUDYHUVDO WR VRPH H[WHQW 7R LQYHVWLJDWH WKH HIIHFW RI DQ LQVHUWLRQ WKH 65') WUDYHUVDO RI WKH UHVXOWLQJ KLHUDUFK\ LV JLYHQ EHORZ DIWHU WKH DERYH PHQWLRQHG LQVHUWLRQ 65')7 $%&'DAAA234501()*./+,,Q 65') WUDYHUVDO DQ LQVHUWLRQ RI D VXEWUHH SURGXFHV D PLQLPDO UHVWUXFn WXULQJ RI WKH H[LVWLQJ VHTXHQWLDO RUGHU RI D VWRUHG KLHUDUFK\ 7KH VXEWUHH LV DOUHDG\ VWRUHG LQ 65') VHTXHQFH DQG LWV VHTXHQWLDO RUGHU UHPDLQV LQWDFW WKH LQVHUWLRQ WDNHV SODFH DW D VLQJOH ORFDWLRQ LQ WKH H[LVWLQJ KLHUDUFK\ 7KHUHIRUH WKH SURSRVHG 65') WUDYHUVDO DSSHDUV WR EH FRPSDUDWLYHO\ EHWWHU WKDQ WKH WZR WUDYHUVDO VFKHPHV DV LW PHHWV DOO WKH WKUHH UHTXLUHPHQWV ,Q WKH IROORZLQJ ZH JLYH DQ LQVHUWLRQ DOJRULWKP IRU 65') WUDYHUVDO DQG VKRZ LWV FRUUHFWQHVV 7KH DOJRULWKP JLYHV WKH SURFHGXUH IRU LQVHUWLQJ D VXEWUHH URRWHG DW % XQGHU QRGH $ RI D KLHUDUFK\ URRWHG DW 5 7KH LQVHU

PAGE 91

WLRQ SUHVHUYHV WKH WKUHH SURSHUWLHV GLVFXVVHG HDUOLHU 7KH VXEWUHH LV DVVXPHG WR EH RUGHUHG LQ 65') VHTXHQFH 3URFHGXUH ,QVHUWB65') 5 $ %f %(*,1 ,) $ KDV QR FKLOG DQG $ 5 7+(1 ,QVHUW WKH VXEWUHH URRWHG DW % DIWHU $ ,) $ KDV RQH RU PRUH FKLOGUHQ 7+(1 ,QVHUW WKH HQWLUH VXEWUHH URRWHG DW % LPPHGLDWHO\ DIWHU WKH ODVW FKLOG RI $ ,) $ KDV QR FKLOG DQG $ A 5 7+(1 )LQG SDUHQW 3 RI $ DQG LQVHUW WKH VXEWUHH URRWHG DW % LPPHGLDWHO\ DIWHU WKH ODVW FKLOG RI 3 (1' 7R VKRZ WKH FRUUHFWQHVV RI WKH DERYH DOJRULWKP ZH REVHUYH WKDW WKH LQVHUWLRQ ZDV UHTXLUHG WR EH PDGH DW RQO\ RQH ORFDWLRQ +HQFH WKH WKLUG FULWHULRQ LV VDWLVILHG 7R VKRZ WKDW 65') LQVHUWLRQ DOJRULWKP HQVXUHV WKDW DOO FKLOGUHQ DUH SODFHG DIWHU WKH SDUHQW ZLWKRXW DQ\ LQWHUYHQLQJ QRGHV EHWZHHQ WKH VLEOLQJV ZH FRQVLGHU HDFK RI WKUHH FRQGLWLRQDO VWDWHPHQWV LQ WKH DOJRULWKP ,Q WKH VLPSOHVW FDVH ZKHQ $ KDV QR FKLOGUHQ DQG LW LV D URRW QRGH WKH VXEWUHH URRWHG DW % LV LQVHUWHG DIWHU $ DQG WKXV % WKH RQO\ FKLOG RI $ IROORZV $ ,I $ KDV H[LVWLQJ FKLOGUHQ WKHQ WKH VXEWUHH URRWHG DW % LV SODFHG LPPHGLDWHO\ DIWHU WKH ODVW FKLOG RI $ WKXV % IROORZV $ DQG LW LV VWRUHG QH[W WR LWV VLEOLQJ ZLWKRXW DQ\ LQWHUYHQLQJ QRGH )XUWKHUPRUH WKH VXEWUHH GRHV QRW LQWHUYHQH EHWZHHQ RWKHU VLEOLQJV RI % DV LW LV LQVHUWHG DIWHU DOO LWV VLEOLQJV 6LPLODUO\ LI $ KDV QR FKLOG EXW KDV D SDUHQW WKHQ % LV LQVHUWHG LPPHGLDWHO\ DIWHU DOO WKH FKLOGUHQ RI $fV SDUHQW DQG WKH VDPH DUJXPHQW DV DERYH DSSOLHV +RZHYHU LW VKRXOG EH SRLQWHG RXW WKDW IRU HIILFLHQW LQVHUWLRQ WKH VXEWUHH LV QRW LQVHUWHG LQ WKH UHYHUVH RUGHU RI WKH GHVFHQGHQWV RI $fV VLEOLQJV EXW VLPSO\ LQVHUWHG DIWHU DOO LWV VLEOLQJV 7KLV QRQHWKHOHVV PDLQWDLQV WKH 65') VHTXHQFH 7R VKRZ WKDW WKLV LQVHUWLRQ DOJRULWKP PDLQWDLQV WKH VHTXHQFH RI WKH GHVFHQGHQW RI DQ\ JLYHQ QRGH XQLQWHUYHQHG E\ DQ\ QRGHV WKDW DUH QRW WKH GHVFHQGHQW RI WKH JLYHQ QRGH LW LV REVHUYHG WKDW WKH LQVHUWLRQ SUHVHUYHV WKH FOXVWHULQJ VHTXHQFH RI VLEOLQJV DQG VLQFH WKH GHVFHQGHQWV RI %

PAGE 92

LQ WKH VXEWUHH DUH DOUHDG\ LQ WKH GHVLUHG VHTXHQFH RI 65') WKH SURSHUW\ LV PDLQn WDLQHG IRU WKH UHVXOWLQJ VHTXHQFH DIWHU DQ LQVHUWLRQ 6HYHUDO W\SHV RI GHOHWLRQ FDQ RFFXU LQ D GHVLJQ GDWDEDVH $W WKH RXWVHW LW VKRXOG EH UHFDOOHG WKDW LQ WKH SURSRVHG PRGHO FKLOG REMHFWV DUH QRW FRQVLGHUHG H[LVWHQWLDOO\ GHSHQGHQW RQ WKHLU SDUHQW 5XOH f WKHUHIRUH D GHOHWLRQ RI D QRGH GRHV QRW UHTXLUH WKH GHOHWLRQ RI LWV GHVFHQGHQWV $ GHOHWLRQ RI DQ HGJH LQ WKH RULJLQDO '$* IRU YHUVLRQHG REMHFWV GRHV QRW UHTXLUH D GHOHWLRQ RI DQ\ REMHFW LQ WKH KLHUDUFK\ H[FHSW IRU WKH PRGLILFDWLRQ RI WKH UHIHUHQFH $V H[SODLQHG EHIRUH DQ XQUHIHUHQFHG REMHFW LQ YHUVLRQ VHW GRHV ZDUUDQW LWV GHOHWLRQ RU DQ\ UHVWUXFWXULQJ 'HOHWLRQ RI D YHUVLRQHG REMHFW FDOOV IRU LWV UHPRYDO IURP WKH YHUVLRQ VHW DQG WKH GHOHWLRQ RI DOO WKH UHIHUHQFHV IURP LWV SDUHQW DQG FKLOG REMHFWV $ GHOHWLRQ RI DQ HGJH LQ WKH KLHUDUFK\ RI D FRPSRVLWH REMHFW UHTXLUHV D UHVWUXFWXULQJ RI WKH VWRUHG VHTXHQFH RQ GLVN 7KLV GHOHWLRQ RI DQ HGJH LPSOLHV WKDW WKH YHUVLRQ VHW RI D FRPSRVLWH REMHFW FRPSOHWHO\ GLVFDUGV WKH JHQHULF DQG VSHFLILF UHIHUHQFHV WR LWV FKLOG REMHFW ,Q WKLV FDVH WKH VXEWUHH UHSUHVHQWLQJ WKH FKLOG REMHFW PXVW EH UHPRYHG IURP WKH KLHUDUFKLFDO VHTXHQFH DQG EH VWRUHG DV D URRW REMHFW DW VRPH GLIIHUHQW ORFDWLRQ 7KLV W\SH RI GHOHWLRQ LV H[SHFWHG WR UDUHO\ RFFXU LQ GHVLJQ GDWDEDVH 7KH GHOHWLRQ DOJRULWKP LV JLYHQ EHORZ 5 LV WKH URRW RI WKH H[LVWLQJ KLHUDUn FK\ DQG % LV WKH URRW RI WKH VXEWUHH EHLQJ UHPRYHG 3URFHGXUH 'HOHWH-65') 5 %f %(*,1 /RFDWH WKH SDUHQW $ RI WKH QRGH % ,) $ KDV QR FKLOG RWKHU WKDQ % DQG $ 5 7+(1 5HPRYH $ DQG VWRUH LW DW D GLIIHUHQW ORFDWLRQ ^7KHUH LV D QHZ KLHUDUFK\ URRWHG DW %` ,) $ KDV QR FKLOG RWKHU WKDQ % DQG $ 5 7+(1 %(*,1 5HPRYH % DQG DOO LWV GHVFHQGHQWV IURP WKH JLYHQ KLHUDUFK\ DQG VWRUH WKHP DW D QHZ ORFDWLRQ 5HVWUXFWXUH WKH RULJLQDO KLHUDUFKLFDO VHTXHQFH (1'

PAGE 93

,) $ KDV PRUH WKDQ RQH FKLOG 7+(1 %(*,1 5HPRYH % DQG DOO LWV GHVFHQGHQWV UHVWUXFWXUH WKHP DQG VWRUH WKHP FRQWLJXRXVO\ DW D QHZ ORFDWLRQ 5HVWUXFWXUH WKH RULJLQDO KLHUDUFKLFDO VHTXHQFH (1' (1' 7KH ILUVW WKUHH VWHSV DUH VWUDLJKWIRUZDUG DQG QHHG QR H[SODQDWLRQ ,Q WKH ODVW VWHS WKH UHPRYHG VXEWUHH URRWHG DW % QHHGV WR EH UHVWUXFWXUHG DV % DQG LWV GHVFHQGHQWV PD\ QRW EH FRQWLJXRXV 'HOHWLRQ FDQ OHDYH WKH RULJLQDO KLHUDUFK\ RU WKH UHPRYHG VXEWUHH LQ D VWDWH ZKHUH LWV QRGHV DUH QRW VWRUHG FRQWLJXRXVO\ RQ GLVN 5HVn WUXFWXULQJ UHIHUV WR WKHLU UHDUUDQJHPHQW LQ FRQWLJXRXVO\ DOORFDWHG SDJHV 3K\VLFDO 2UJDQL]DWLRQ RI &RPSRVLWH 2EMHFWV ,Q RUGHU WR SUHVHQW D GHWDLOHG GHVFULSWLRQ RI WKH SK\VLFDO RUJDQL]DWLRQ RI FRPSRVLWH REMHFWV VSHFLILF DVVXPSWLRQV UHJDUGLQJ WKH FKDUDFWHULVWLFV RI WKH XQGHUO\LQJ VWRUDJH PDQDJHU PXVW EH PDGH 7KHUHIRUH ZH OLPLW RXUVHOYHV WR JLYLQJ RQO\ DQ RYHUYLHZ RI WKH EDVLF UHTXLUHPHQWV IRU LPSOHPHQWLQJ WKH SURSRVHG FOXVWHULQJ VWUDn WHJ\ :H HQYLVLRQ D SDJLQJ HQYLURQPHQW ZKHUH VWRUDJH VSDFH LV SDUWLWLRQHG LQ D QXPEHU RI IL[HGVL]H SDJHV :H DOVR DVVXPH WKDW WKH VWRUDJH PDQDJHU SURYLGHV D IDFLOLW\ IRU OLQHDU DGGUHVV VSDFH FDOOHG FKXQN KHUH $ FKXQN LV D FROOHFWLRQ RI FRQn WLJXRXV VHW RI SDJHV ,W LV XVHIXO IRU JURXSLQJ FOXVWHUV WRJHWKHU 7KH VWRUDJH PDQDJHU VKRXOG SURYLGH D PHFKDQLVP IRU VHTXHQWLDO VFDQ WKURXJK DOO REMHFWV LQ D FKXQN VR WKDW UHODWHG REMHFWV FDQ EH SODFHG LQ D FRPPRQ FKXQN 6LQFH SDJHV LQ D FKXQN DUH FRQWLJXRXV LW FDQ SURYLGH VXSSRUW IRU REMHFWV WKDW DUH UHTXLUHG WR EH FROORFDWHG RQ GLVN )RU HDFK REMHFW WKH IROORZLQJ LQIRUPDWLRQ LV PDLQWDLQHG RLG REMHFW SURSHUWLHV FKLOGUHQSRLQWHUDUUD\ SDUHQWRLGf 7KH REMHFWSURSHUWLHV UHIHU WR

PAGE 94

H[WHUQDO IHDWXUHV DQG LQWHUQDO DVVHPEO\ SURSHUWLHV GHVFULEHG LQ &KDSWHU 7KH FKLOn GUHQ SRLQWHU DUUD\ LV DQ DUUD\ RI UHFRUGV WKDW FRQWDLQ WZR ILHOGV RLG RI WKH FKLOG REMHFW DQG LWV SK\VLFDO DGGUHVV ,W LV DVVXPHG WKDW WKH YDOXHV LQ WKH FKLOGUHQSRLQWHU DUUD\ DUH DUUDQJHG LQ WKH RUGHU RI WKHLU SRVLWLRQ LQ WKH FOXVWHULQJ VHTXHQFH ,Q WKH FDVH RI JHQHULF UHIHUHQFH WKH RLG DQG DGGUHVV RI WKH JHQHULF REMHFW LV VWRUHG 7KH YDOXH LQ WKH SDUHQWRLG LV WKH RLG RI WKH JHQHULF REMHFW IRU LWV SDUHQWV $ KLHUDUFK\ UHSUHVHQWV D FRPSRVLWH REMHFW ZKLFK IRUPV LWV URRW DQG DOO LWV GHVFHQGHQWV 8QUHODWHG FRPSRVLWH REMHFWV FRQVWLWXWH LQGHSHQGHQW KLHUDUFKLHV :H FRQVLGHU LW H[WUHPHO\ LPSRUWDQW WKDW GLUHFW DFFHVV VKRXOG EH SURYLGHG WR DOO REMHFWV 7KXV ZH HQYLVLRQ D % WUHH LQGH[ VWUXFWXUH WKDW SURYLGHV VXFK DFFHVV 7KH OHDI SDJHV RI WKLV % WUHH ZLOO FRQWDLQ WKH RLG RI WKH REMHFWV DQG WZR SRLQWHU ILHOGV ZKLFK FRQWDLQ WKH SK\VLFDO DGGUHVV RI WKH REMHFW DQG LWV YHUVLRQ VHW JHQHULF REMHFWf :H GLVFXVVHG WKUHH XQLWV RI FOXVWHULQJ WKH REMHFW WKH YHUVLRQ VHW DQG WKH VHW RI VLEOLQJV 7KH JURXSV RI REMHFWV WKDW FDQ EH FROORFDWHG RQ D VLQJOH SDJH RU D FKXQN LV KHDYLO\ FRQWLQJHQW XSRQ WKH DYHUDJH VL]H RI REMHFWV WKH SDJH VL]H DQG WKH PD[LPXP QXPEHU RI SDJHV DOORFDWHG LQ D FKXQN ,GHDOO\ WKH ZKROH KLHUDUFK\ RU DW OHDVW WKH REMHFWV LQ WKLUG JURXS FRXOG UHVLGH RQ WKH FRQWLJXRXV SDJHV RI D FKXQN )RU HIILFLHQF\ SXUSRVHV D VHW RI SDJHV PXVW EH H[FOXVLYHO\ UHVHUYHG IRU D YHUVLRQ VHW $OO YHUVLRQV LQ D YHUVLRQ VHW DUH FROORFDWHG RQ WKHVH VHW RI SDJHV 7KH JHQHULF REMHFW IRU WKH VHW SUHFHGHV WKH YHUVLRQHG REMHFW ZKLFK FDQ EH VWRUHG LQ WKH RUGHU WKH\ DUH FUHDWHG 7KXV VWDUWLQJ IURP WKH JHQHULF REMHFW WKH YHUVLRQV LQ WKH VHW FDQ EH VHTXHQWLDOO\ VFDQQHG $ SDJH WDEOH LV UHVHUYHG RQ WKH SDJH ZKHUH D JHQHULF REMHFW UHVLGHV WKLV SDJH WDEOH FRQWDLQV LQIRUPDWLRQ DERXW WKH YHUVLRQ VHW VXFK DV LWV GHULYDn WLRQ JUDSK WKH SURWRFRO IRU GHWHUPLQLQJ WKH GHIDXOW YHUVLRQ LWV SDUHQW REMHFW HWF 7KH UHTXLUHPHQW IRU WKH FRPSOHWH FRQWLJXLW\ RI SDJHV IRU JURXSV RI FOXVWHUHG REMHFWV LV TXLWH UHDVRQDEOH >&DU +DH .HWE@ +RZHYHU FRQWLJXLW\ GHWHULRUDWHV GXH WR G\QDPLF REMHFW JURZWK FUHDWLRQ RI QHZ YHUVLRQV DQG PRGLILFDWLRQ

PAGE 95

RI FRQVWLWXHQW REMHFW UHIHUHQFHV 7KXV WKH VWRUDJH PDQDJHU PXVW DOORZ IRU G\QDPLF UHRUJDQL]DWLRQ RI RI VWRUDJH FOXVWHUV 7KHUH DUH VHYHUDO ZHOONQRZQ WHFKQLTXHV ZKLFK FDQ EH XVHG LQ RUGHU WR HQKDQFH FRQWLJXLW\ DQG PLQLPL]H WKH FRVW RI UHVWUXFWXULQJ 7KH XVH RI UHODWLYH SDJH QXPEHU RIIVHW LQ WKH SRLQWHU DGGUHVV IRU UHIHUHQFLQJ LQVLGH D VWRUDJH FOXVWHU FDQ PLQLPL]H WKH FRVW RI XSGDWLQJ WKH SRLQWHUV ZKHQ D GDWD SDJH LV PRYHG IURP RQH ORFDWLRQ WR DQRWKHU 7KH RQO\ UHRUJDQL]DWLRQ FRVW LV XSGDWLQJ WKH FRUUHVSRQGLQJ SDJH WDEOH HQWULHV DOO LQWHUQDO SRLQWHUV UHPDLQ YDOLG (YHQ ZKHQ D JURXS RI REMHFWV FDQn QRW FRPSOHWHO\ UHVLGH RQ FRQVHFXWLYH SDJHV RQ GLVN WKH DOORFDWLRQ SROLF\ VKRXOG DWWHPSW WR PLQLPL]H WKH SK\VLFDO GLVWDQFH EHWZHHQ SDJHV RI WKH FRUUHVSRQGLQJ FOXVn WHU $Q HIILFLHQW UHRUJDQL]DWLRQ RI FOXVWHUHG JURXSV UHPDLQV DQ LPSRUWDQW UHVHDUFK DUHD

PAGE 96

$YO $Y %YO %Y &Y 'Y %Y &Y )LJXUH $ )LJXUH

PAGE 97

$ )LJXUH D Q Y )LJXUH

PAGE 98

)LJXUH

PAGE 99

&+$37(5 '(6,*1 ,1 $ &223(5$7,9( &$' (19,5210(17 7KH REMHFWLYH RI WKLV FKDSWHU LV WR JHQHUDOL]H WKH LGHDV GLVFXVVHG LQ &KDSWHU DQG GHVFULEH SURWRFROV IRU PDLQWHQDQFH HYROXWLRQ DQG YDOLGDWLRQ RI YHUn VLRQV IRU D GLVWULEXWHG &$' HQYLURQPHQW 'HVLJQ LV XVXDOO\ D UHVXOW RI LQWHJUDWHG HIIRUWV RI D JURXS RI GHVLJQHUV 7KH QDWXUH RI GDWD VKDULQJ LQ GHVLJQ DSSOLFDWLRQV LV GLIIHUHQW IURP FRQYHQWLRQDO GDWDEDVHV 7KH VFKHPD RI GHVLJQ REMHFWV DQG YDOLGDWHG YHUVLRQV DUH VKDUHG E\ GDWDEDVHV RI VHYHUDO GHVLJQ SURMHFWV 7KH GDWD LQ D GHVLJQ SURn MHFW DUH VKDUHG E\ WKH GHVLJQHUV RI WKH SURMHFW 7KH GHVLJQ YHUVLRQV EHLQJ H[SHULn PHQWHG ZLWK DQG PDQLSXODWHG E\ D GHVLJQHU VKRXOG QRW EH VKDUHG E\ RWKHU GHVLJQHUV 0RUHRYHU D GHVLJQHU PD\ EHJLQ D WUDQVDFWLRQ ZKLFK LQYROYHV ODUJH DPRXQWV RI GDWD DQG PD\ SHUVLVW IRU D ORQJ SHULRG RI WLPH &RQVHTXHQWO\ WUDQVDFWLRQ LQ GHVLJQ DSSOLn FDWLRQV FDQQRW EH FRQVLGHUHG DV D XQLW RI UHFRYHU\ DV LQ FRQYHQWLRQDO GDWDEDVHV PDQDJHPHQW V\VWHPV LQWHUIHUHQFH DPRQJ FRQFXUUHQW WUDQVDFWLRQ LV DYRLGHG E\ ORFNn LQJ DQG WLPHVWDPSLQJ +RZHYHU FRQYHQWLRQDO WHFKQLTXHV IRU WUDQVDFWLRQ PDQDJHn PHQW FDQQRW EH XVHG LQ GHVLJQ DSSOLFDWLRQV DV WKH YROXPH RI GDWD LQYROYHG DQG WKH GXUDWLRQ RI WUDQVDFWLRQV DUH FRQVLGHUDEO\ JUHDWHU 7R DOORZ FRQVLVWHQW YHUVLRQLQJ RI GHVLJQ REMHFWV WR SURYLGH DQ HIILFLHQW DQG VHFXUH WUDQVDFWLRQ PDQDJHPHQW WR PDQDJH ODUJH QXPEHUV RI FRPSOH[ FRQVWUDLQWV LQYROYHG LQ GHVLJQ GDWDEDVHV DQG WR SURYLGH DQ HQYLURQPHQW FRQGXFLYH WR VKDULQJ HYROXWLRQ DQG WHVWLQJ RI GHVLJQ REMHFWV ZH SURSRVH D V\VWHP DUFKLWHFWXUH IRU GHVLJQ HQYLURQPHQW 7KH DUFKLWHFWXUH IRU &$' GDWDEDVHV LV RIWHQ HQYLVLRQHG DV D D FROOHFn WLRQ RI KLHUDUFKLFDOO\ RUJDQL]HG SULYDWH SURMHFW DQG SXEOLF GDWDEDVHV >&KR %XFK@ 9HUVLRQV RI GLIIHUHQW FKDUDFWHULVWLFV DQG FDSDELOLWLHV UHVLGH LQ GLIIHUHQW

PAGE 100

GDWDEDVHV $V GHVLJQ REMHFWV DUH KLHUDUFKLFDOO\ IRUPHG RI RWKHU GHVLJQ REMHFWV WKH FRQVWLWXHQW REMHFWV RI D GHVLJQ REMHFW PD\ UHVLGH LQ GLIIHUHQW GDWDEDVHV DQG PD\ KDYH GLIIHUHQW VWDWXVHV 7KHUHIRUH ZKHQ D FRQVWLWXHQW REMHFW WKDW UHIHUHQFHV LW LV PRGLILHG RU GHOHWHG WKH FRPSRVLWH REMHFW PXVW EH QRWLILHG RI WKH FKDQJH ,Q WKH IROORZLQJ VHFn WLRQV ZH JLYH WKH GHWDLOV RI WKH SURSRVHG DUFKLWHFWXUH DQG GHVFULEH SURWRFROV IRU FKDQJH QRWLILFDWLRQ $ &$' $UFKLWHFWXUH 7KH SURSRVHG &$' DUFKLWHFWXUH FRPSULVHV IRXU W\SHV RI GDWDEDVHV FDOOHG GDWD GLFWLRQDU\ SXEOLF GDWDEDVH SURMHFW GDWDEDVH DQG SULYDWH GDWDEDVH 7KLV DUFKLn WHFWXUH LV HVVHQWLDOO\ KLHUDUFKLFDO DV LOOXVWUDWHG LQ )LJXUH 'LIIHUHQW GHVLJQ GDWDn EDVHV FRQWDLQ GDWD XQGHU GLIIHUHQW FKDUDFWHULVWLFV 7KH ORJLFDO DQG SK\VLFDO GLYLVLRQ LV EDVHG RQ WKH DFFHVVLELOLW\ DQG VWDELOLW\ RI GHVLJQ GDWD DQG WKH W\SHV RI RSHUDWLRQV SHUn IRUPHG RQ WKHP ,Q &KDSWHU ZH RXWOLQHG WKUHH FODVVHV RI YHUVLRQ VWDWHV YDOLGDWHG VWDEOH DQG WUDQVLHQW ,Q D GLVWULEXWHG HQYLURQPHQW YHUVLRQV ZLWK GLIIHUHQW VWDWHV UHVLGH LQ GLIIHUHQW GDWDEDVHV 7KLV UHGXFHV WKH RYHUKHDG RI WKHLU PDQDJHPHQW DQG HQKDQFHV WKHLU LQGHSHQGHQW HYROXWLRQ VKDUHDELOLW\ DQG WHVWLQJ 7KH QH[W IRXU VHFn WLRQV GHVFULEH WKH GLVWLQJXLVKLQJ IXQFWLRQV DQG IHDWXUHV RI WKHVH GDWDEDVHV 'DWD 'LFWLRQDU\ 'DWD GLFWLRQDU\ FRQWDLQV WKH LQIRUPDWLRQ DERXW WKH PHWD GDWD VFKHPD GDWD GHILQLWLRQV FRQVWUDLQWV DV ZHOO DV FRQWURO RI GDWDEDVH VXFK DV WKH LQIRUPDWLRQ DERXW &KHFNRXW DQG &KHFNLQ DQG FKDQJHQRWLILFDWLRQ SURWRFROV ,W LV PDQDJHG E\ D FHQWUDO GDWDEDVH VHUYHU ZKLFK DOVR FRRUGLQDWHV WKH VKDULQJ RI GDWD DPRQJ GLIIHUHQW GDWDEDVHV

PAGE 101

6FKHPD DQG GDWD GHILQLWLRQV RI D GHVLJQ REMHFW QRUPDOO\ RULJLQDWH IURP SULYDWH GDWDEDVHV DQG DIWHU DSSURYDO DQG YHULILFDWLRQ E\ WKHLU SURMHFW GDWDEDVH WKH\ DUH SDVVHG RQ WR WKH GDWD GLFWLRQDU\ ZKHUH WKH\ SHUPDQHQWO\ UHVLGHV 7KLV LV VKRZQ LQ )LJXUH DQ DUURZ UHSUHVHQWV WKH GLUHFWLRQ RI GDWD IORZ 7KH VFKHPD LV QRW DOORZHG WR EH PRGLILHG RU GHOHWHG LQ WKH GDWD GLFWLRQDU\ DV ORQJ DV LWV YHUVLRQ LQVWDQFHV H[LVW LQ VRPH GDWDEDVH 7R DOORZ LQFUHPHQWDO GHVLJQ H[WHUQDO IHDWXUHV ()f DQG LQWHUQDO DVVHPEO\ ,$f IXQFWLRQV FDQ EH GHILQHG LQ WZR VHSDUDWH VWDJHV $ GHVLJQ REMHFW FDQ EH UHIHUHQFHG DV D FRQVWLWXHQW REMHFW LI LWV H[WHUQDO IHDWXUHV KDYH EHHQ GHILQHG $V PHQWLRQHG LQ &KDSWHU ,$ DQG () EHORQJ WR GLIIHUHQW FODVVHV KHQFH GLIIHUHQW FRQVWUDLQWV FDQ EH LPSRVHG RQ WKHP 7KHUHIRUH WKLV LQFUHPHQWDO GHVLJQ VWUDWHJ\ LV QRW FRQVLGHUHG D VFKHPD PRGLILFDWLRQ ,W LV QRW SRVVLEOH WR FUHDWH YHUVLRQ LQVWDQFHV RI D GHVLJQ REMHFW ZKRVH GDWD GHILQLWLRQ LV QRW LQ WKH GDWD GLFWLRQDU\ ,Q RWKHU FDVHV PRGLILFDWLRQ DQG GHOHWLRQ LV DOORZHG LI DXWKRUL]HG E\ WKH GDWDEDVH DGPLQLVWUDWRU 3XEOLF 'DWDEDVH $ 3XEOLF GDWDEDVH LV XQLYHUVDOO\ DFFHVVLEOH DQG LV FKDUDFWHUL]HG E\ WKH DSSURYHG GHVLJQ GDWD LW FRQWDLQV $SSURYHG GHVLJQ GDWD LQFOXGH XQYHUVLRQHG DQG YDOLGDWHG YHUVLRQHG REMHFWV 7KLV PD\ DOVR LQFOXGH D SDUW OLEUDU\ RI VLPSOH GHVLJQ REMHFWV 7KH SXEOLF GDWDEDVH LV DOVR PDQDJHG E\ D FHQWUDO GDWDEDVH VHUYHU 9DULRXV SURMHFWV DIWHU D VXFFHVVIXO VHULHV RI WHVWLQJ DQG YHULILFDWLRQ RI WKHLU VWDEOH YHUVLRQV SURPRWH DQG WUDQVIHU WKHP WR YDOLGDWHG YHUVLRQV LQWR WKH SXEOLF GDWDEDVH E\ WKH &KHFNLQ RSHUDWLRQ 6HFWLRQ f 9DOLGDWHG YHUVLRQV DV GHILQHG LQ 6HFWLRQ DUH QRW DOORZHG WR EH XSGDWHG RU GHOHWHG ,W LV DOVR UHTXLUHG WKDW DOO GHVLJQ REMHFWV WKDW DUH UHIHUHQFHG E\ YDOLGDWHG YHUVLRQV PXVW DOVR H[LVW LQ WKH SXEOLF GDWDEDVH 7KLV LPSOLHV WKDW D YDOLn GDWHG YHUVLRQ FDQ PDNH UHIHUHQFH WR RQO\ XQYHUVLRQHG DQG RWKHU YDOLGDWHG YHUVLRQHG

PAGE 102

REMHFWV 7KH UHDVRQ IRU WKLV FRQVWUDLQW LV WKDW WUDQVLHQW YHUVLRQV FDQ EH GHULYHG LQ SURMHFW GDWDEDVHV IURP YDOLGDWHG YHUVLRQV LI WKLV FRQVWUDLQW LV QRW LPSRVHG D GHVLJQ REMHFW FDQ UHIHUHQFH YHUVLRQV LQ GDWDEDVHV WR ZKLFK LW LV QRW DOORZHG WR KDYH GLUHFW DFFHVV 7KH SXEOLF GDWDEDVH FRQWDLQV LPPXWDEOH FRPSOHWHG DQG YDOLGDWHG GHVLJQ REMHFWV ZKLFK FDQ EH XVHG E\ RWKHU GHVLJQ REMHFWV 7KLV VFKHPH SURYLGHV HIILFLHQW EURZVLQJ DQG UHWULHYDO RSHUDWLRQV 3URMHFW 'DWDEDVH 3URMHFW GDWDEDVHV VHUYH DV D UHSRVLWRU\ RI VWDEOH YHUVLRQHG REMHFWV ZKLFK DUH H[SHULPHQWHG ZLWK DQG VKDUHG E\ WKH GHVLJQHUV RI WKH SURMHFW 7KH ILQDO SKDVH RI WHVWLQJ DQG YDOLGDWLRQ LV SHUIRUPHG LQ SURMHFW GDWDEDVHV E\ WKH SURMHFW DGPLQLVWUDWRU $IWHU VXFFHVVIXO WHVWLQJ D VWDEOH YHUVLRQ FDQ EH SURPRWHG DQG WUDQVIHUUHG WR WKH SXEn OLF GDWDEDVH DV D YDOLGDWHG YHUVLRQ 6RSKLVWLFDWHG FRQVWUDLQW PDQDJHPHQW DSSOLFDn WLRQ SURJUDPV VLPXODWLRQV DQG FRQFXUUHQF\ FRQWURO V\VWHPV DUH QHHGHG IRU SURMHFW GDWDEDVHV 7KH GHVLJQHUV RI D SURMHFW ZRUNLQJ LQ WKHLU SULYDWH GDWDEDVHV FDQ VKDUH DQG DFFHVV GDWD UHVLGLQJ LQ WKH SURMHFW GDWDEDVH 7KH\ FDQ FRS\ D YHUVLRQ UHVLGLQJ LQ WKH SURMHFW GDWDEDVH WR WKHLU SULYDWH GDWDEDVHV E\ D &KHFNRXW RSHUDWLRQ PRGLI\ DQG WHVW LW DQG UHLQVWDOO LW WR WKH SURMHFW GDWDEDVH E\ WKH &KHFNLQ RSHUDWLRQ $ SURMHFW GDWDEDVH KRZHYHU LV QRW DFFHVVLEOH WR RWKHU GHVLJQHUV DV VKRZQ LQ )LJXUH $ YHUVLRQ LV FDOOHG FRPSOHWH 'HILQLWLRQ f LI DOO LWV UHIHUHQFHV DUH ERXQG WR FRQVWLWXHQW REMHFWV WKDW UHVLGH LQ GDWDEDVHV DFFHVVLEOH IURP LW 9HUVLRQHG REMHFWV LQ D SURMHFW GDWDEDVH PXVW QRW EH LQFRPSOHWH ,W LV UHTXLUHG WKDW DOO YHUVLRQV UHIHUHQFHG E\ D VWDEOH YHUVLRQ LQ D SURMHFW GDWDEDVH PXVW EH HLWKHU VWDEOH RU YDOLGDWHG DQG PXVW UHVLGH LQ WKH VDPH GDWDEDVH RU LQ WKH SXEOLF GDWDEDVH 7KLV VFKHPH HQVXUHV WKDW D FKHFNHGRXW YHUVLRQ IURP D

PAGE 103

SURMHFW GDWDEDVHf LQ D SULYDWH GDWDEDVH GRHV QRW UHIHUHQFH REMHFWV UHVLGLQJ LQ GDWDn EDVHV WKDW DUH QRW DFFHVVLEOH IURP LW $ VWDEOH YHUVLRQ UHVLGLQJ LQ D SURMHFW GDWDEDVH LV HVVHQWLDOO\ XQPRGLILDEOH +RZHYHU DV H[SODLQHG LQ 6HFWLRQ HTXLYDOHQFH PRGLILFDWLRQV DUH DOORZHG RQ LWV LQWHUQDO DVVHPEO\ LWV QRQYHUVLRQVLJQLILFDQW DWWULEXWHV FDQ DOVR EH PRGLILHG 7KH REMHFW FDQ EH GHOHWHG 0RGLILFDWLRQV DQG GHOHWLRQV DUH SULYLOHJHG RSHUDWLRQV DQG FDQ EH SHUIRUPHG RQO\ E\ DQ DXWKRUL]HG GHVLJQHU 6LQFH VLPXODWLRQ DQG WHVWLQJ DUH SHUn IRUPHG LQ SURMHFW GDWDEDVHV D VWDEOH YHUVLRQ FDQ EH UHTXLUHG WR EH GHOHWHG LI LW GRHV QRW PHHW FHUWDLQ VSHFLILFDWLRQ RU SUHGHILQHG FRQVWUDLQWV 9HUVLRQV WKDW UHIHUHQFH WKH GHOHWHG YHUVLRQ FDQ EHFRPH LQFRPSOHWH LI WKH\ DOVR UHVLGH LQ WKH SURMHFW GDWDEDVH VLQFH D VWDEOH YHUVLRQ LQ D SURMHFW GDWDEDVH PXVW KDYH DOO LWV UHIHUHQFHV ERXQG WR REMHFWV LQ WKH VDPH GDWDEDVH RU YDOLGDWHG YHUVLRQV LQ WKH SXEOLF GDWDEDVH ,Q VXFK FDVHV WKH SURMHFW DGPLQLVWUDWRU FDQ XVH UHSODFHPHQW PRGLILFDWLRQ LI DQ REMHFW LQ WKH YHUVLRQ VHW RI WKH GHOHWHG YHUVLRQ UHVLGHV LQ WKH DFFHVVLEOH GDWDEDVHV RWKHUZLVH DOO WKH UHIHUHQFLQJ YHUVLRQV PXVW DOVR EH GHOHWHG ,Q FHUWDLQ FLUFXPVWDQFHV D SURMHFW GDWDEDVH LV DOVR DOORZHG WR FRQWDLQ YDOLGDWHG YHUVLRQV LI WKHLU UHSOLFDV GHILQHG LQ 6HFWLRQ f DOVR H[LVW LQ WKH SXEOLF GDWDEDVH 7KH VLWXDWLRQ WKDW ZDUUDQWV WKLV DQG WKH SURWRFRO WR KDQGOH LW DUH GLVn FXVVHG LQ 6HFWLRQ ,Q VXFK FDVHV D YDOLGDWHG YHUVLRQ FDQ EH GHOHWHG IURP WKH SURn MHFW GDWDEDVHV 3ULYDWH 'DWDEDVH 'HVLJQHUV SHUIRUP PXFK RI WKH GHVLJQ DQG WKH EXON RI YHULILFDWLRQ DQG WHVWLQJ LQ SULYDWH GDWDEDVHV ZKLFK UXQV RQ ZRUN VWDWLRQV $ SULYDWH GDWDEDVH KDV GLUHFW DFFHVV RQO\ WR WKH GDWD GLFWLRQDU\ DQG LWV SURMHFW GDWDEDVH 7KH GLUHFWLRQ RI GDWD IORZ VKRXOG EH QRWHG LQ )LJXUH 7KH GHVLJQ REMHFWV LQ D SULYDWH GDWDEDVH DUH DFFHVVHG DQG RZQHG E\ RQH XVHU 7KH\ DUH QRW DFFHVVLEOH WR RWKHU GHVLJQHUV $

PAGE 104

SULYDWH GDWDEDVH LQWHUIDFHV ZLWK RWKHU GHVLJQHUV RI WKH SURMHFW WKURXJK LWV SURMHFW GDWDEDVH 'DWD UHWULHYDO GDWD GHILQLWLRQ DQG GDWD PDQLSXODWLRQ DQG FRQVWUDLQW PDQDJHPHQW IDFLOLWLHV DUH UHTXLUHG LQ SULYDWH GDWDEDVHV 7KHUH LV QR QHHG IRU FRQn FXUUHQF\ FRQWURO EHFDXVH WKHVH DUH VLQJOH XVHU GDWDEDVHV 3ULYDWH GDWDEDVH FRQWDLQ ERWK WUDQVLHQW DQG VWDEOH YHUVLRQV +HUH D GHVLJQHU FDQ FUHDWH QHZ YHUVLRQV GHULYH YHUVLRQV IURP H[LVWLQJ YHUVLRQV SURPRWH WUDQVLHQW YHUVLRQV WR VWDEOH VWDWXV DQG FKHFN LQ VWDEOH YHUVLRQV WR LWV SURMHFW GDWDn EDVH DQG FKHFN RXW FRSLHV RI YHUVLRQV UHVLGLQJ LQ LWV SURMHFW DQG WKH SXEOLF GDWDEDVHV $OO GHVLJQ REMHFWV UHIHUHQFHG E\ YHUVLRQV LQ D SULYDWH GDWDEDVH PXVW UHVLGH LQ WKH VDPH SULYDWH GDWDEDVH LWV SURMHFW GDWDEDVH RU WKH SXEOLF GDWDEDVH ,QWHUIDFH YDOXHV RI D JHQHULF REMHFW FDQ EH PRGLILHG LQ D SULYDWH GDWDEDVH RQO\ LI LW UHVLGHV LQ WKH GDWDEDVH RI LWV RULJLQ LV QRW UHIHUHQFHG E\ RWKHU REMHFWV DQG WKH PRGLILFDWLRQ GRHV QRW DIIHFW WKH LQWHUQDO DVVHPEO\ RI VWDEOH YHUVLRQV ,Q DOO RWKHU FDVHV LQWHUIDFH LV FRQVLGHUHG LQYDULDQW DV LWV PRGLILFDWLRQ FDQ UHQGHU DOO REMHFWV WKDW UHIHUHQFH LW LQYDOLG 6FKHPD DQG GDWD GHILQLWLRQV DV PHQWLRQHG HDUOLHU DUH DOVR GHILQHG LQ D SULYDWH GDWDEDVH 2SHUDWLRQV RQ 9HUVLRQV LQ 'LVWULEXWHG (QYLURQPHQW ,Q &KDSWHU ZH GHILQHG VHYHUDO RSHUDWLRQV RQ YHUVLRQV VXFK DV YHUVLRQ FUHDWLRQ GHULYDWLRQ DQG SURPRWLRQ ,Q WKLV VHFWLRQ ZH GHILQH KLJK OHYHO RSHUDWLRQV LQ WHUPV RI WKHVH RSHUDWLRQV IRU WKH GLVWULEXWHG &$' HQYLURQPHQW &KHFNRXW LV GHILQHG DV D GHULYDWLRQ IURP D VWDEOH RU YDOLGDWHG YHUVLRQ UHVLGLQJ LQ D SURMHFW RU SXEOLF GDWDEDVH DQG LQVWDOOLQJ LW DV D WUDQVLHQW YHUVLRQ LQ WKH SULYDWH GDWDEDVH WKDW LQYRNHG WKH RSHUDWLRQ ,W VKRXOG EH QRWHG WKDW WKH &KHFNRXW RSHUDWLRQ FDQ EH LQYRNHG RQO\ IURP D SULYDWH GDWDEDVH WR WKH SXEOLF GDWDEDVH RU LWV

PAGE 105

SURMHFW GDWDEDVH /RQJ WUDQVDFWLRQV DUH QRW QHHGHG LQ WKLV FDVH VLQFH LW LV D UHDGn RQO\ RSHUDWLRQ &KHFNLQ LV GHILQHG DV WUDQVIHUULQJ DQG LQVWDOOLQJ D YHUVLRQ IURP D OHVV DFFHVVLEOH GDWDEDVH WR D PRUH DFFHVVLEOH GDWDEDVH 7KXV E\ GHILQLWLRQ RQO\ VWDEOH YHUVLRQV FDQ EH WUDQVIHUUHG WR D SURMHFW GDWDEDVH DQG YDOLGDWHG YHUVLRQV FDQ EH WUDQVIHUUHG WR WKH SXEOLF GDWDEDVH IURP SURMHFW GDWDEDVHV $ &KHFNLQ RSHUDWLRQ LV QRW YDOLG XQOHVV WKH YHUVLRQ EHLQJ FKHFNHG LQ WKH QHZ GDWDEDVH FDQ DFFHVV DOO WKH YHUn VLRQV LW UHIHUHQFHV 5&KHFNLQ LV GHILQHG DV D &KHFNLQ SUHFHGHG E\ D UHSOLFDWLRQ RI WKH YHUVLRQ EHLQJ WUDQVIHUUHG WR VRPH RWKHU GDWDEDVH 5HSOLFDWLRQ LQ WKLV FDVH LPSOLHV FUHDWLRQ RI DQ H[DFW UHSOLFD RI WKH YHUVLRQ 7KHVH WZR YHUVLRQV DUH LGHQWLFDO DQG KDYH WKH VDPH REMHFW LGHQWLILHU DQG WKH VDPH YHUVLRQ QXPEHU 7R PDLQWDLQ WKH FRUUHVSRQGHQFH EHWZHHQ WKH WZR UHSOLFDV VRPH QHZ IXQFWLRQV QHHG WR EH GHILQHG RQ W\SH 9HUVLRQ )ROORZLQJ IXQFWLRQV FDQ EH GHILQHG IXQFWLRQ 'EB$GGUHVV 9HUVLRQf GEBLG IXQFWLRQ 5$GGUHVV 9HUVLRQf GEBLG 7KH IXQFWLRQ 'EANGGUHVV UHWXUQV WKH GDWDEDVH ZKHUH WKH YHUVLRQ RULn JLQDWHG DQG WKH IXQFWLRQ 5B$GGUHVV LQGLFDWHV WKH GDWDEDVH ZKHUH LWV UHSOLFD H[LVWV D QXOO DGGUHVV ZLOO VLJQLI\ WKH QRQH[LVWHQFH RI D UHSOLFD 7KH GE-G VWDQGV IRU GDWDEDVH LGHQWLILHUV ZKLFK LV XQLTXH DQG LV DVVLJQHG WR HDFK GDWDEDVH ,W LV DVVXPHG WKDW HYHU\ SULYDWH GDWDEDVH JHQHUDWHV REMHFW LGHQWLILHU XQLTXH DFURVV DOO SURMHFWSXEOLF GDWDn EDVHV ZKLFK FDQ SUHFOXGH SRVVLEOH IXWXUH FRQIOLFWV 7KH FRQFHSW RI UHSOLFDV LV H[WUHPHO\ LPSRUWDQW LQ D GLVWULEXWHG GHVLJQ HQYLURQPHQW 'HVLJQ LV D PDWWHU RI WHDP HIIRUW ZKLFK JRHV WKURXJK VHYHUDO SKDVHV RI WHVWLQJ DQG YDOLGDWLRQ $ GHVLJQHU ZKR QHHGV GLUHFW DFFHVV WR D YHUVLRQ WKDW UHIHUn HQFHG E\ YHUVLRQV LQ WKH SULYDWH GDWDEDVH DQG VWLOO ZDQWV WR DOORZ RWKHU GHVLJQHUV WR

PAGE 106

H[SHULPHQW ZLWK LW FDQ XVH 5&KHFNLQ RSHUDWLRQ 7KH GLVDGYDQWDJH ZLWK GHULYLQJ RWKHU YHUVLRQ IURP LW DQG XVLQJ &KHFNLQ RSHUDWLRQ LV WKDW WKH ,$ SURSHUWLHV RI WKH YHUVLRQV WKDW UHIHUHQFH LW KDYH WR EH UHDVVLJQHG 0RUHRYHU LWV YHUVLRQ LQ WKH SURMHFW GDWDEDVH FDQ EH PRGLILHG $Q H[DPSOH VKRXOG LOOXVWUDWH WKH SRLQW &RQVLGHU D SULYDWH GDWDEDVH WKDW KDV D YHUVLRQHG REMHFW $YO WKDW UHIHUHQFHV D FRQVWLWXHQW REMHFW %Y LQ WKH VDPH GDWDEDVH %Y LV D VWDEOH YHUVLRQ DQG WKH GHVLJQHU ZRXOG OLNH WKH YHUVLRQ WR EH VKDUHG E\ GHVLJQHUV RQ WKH SURMHFW KRZHYHU LW LV DOVR QHHGHG IRU WKH WHVWV EHLQJ UXQ RQ $YO ,I UHSOLFDV DUH QRW DOORZHG WKH RQO\ DOWHUQDWLYH LV WR GHULYH D YHUVLRQ %Y VD\f IURP %Y SURPRWH LW WR VWDEOH VWDWXV DQG LQYRNH &KHFNLQ RSHUDn WLRQ WR LQVWDOO LW LQ WKH SURMHFW GDWDEDVH +RZHYHU ZKHQ WKH GHVLJQHU LV GRQH ZLWK WKH WHVWLQJ KHVKH KDV WR GHOHWH %Y DQG PRGLI\ WKH UHIHUHQFHV WR %Y E\ %Y LQ $YO +RZHYHU WKHUH LV QR JXDUDQWHH WKDW %Y H[LVWV DQG WKDW LW KDV QRW EHHQ PRGLILHG ,I D UHSOLFD LV DOORZHG WKH GHVLJQHU FDQ GHOHWH LWV UHSOLFD LQ WKH SULYDWH GDWDEDVH ZLWKRXW KDYLQJ WR XSGDWH WKH UHIHUHQFHV LQ $YO DV UHSOLFDV KDYH WKH VDPH REMHFW LGHQWLILHU DQG WKH VDPH YHUVLRQ QXPEHU 7KLV DOVR JXDUDQWHHV WKDW WKH %Y UHSOLFD UHPDLQV XQPRGLILHG 7KLV VWUDWHJ\ UHGXFHV FRQVLGHUDEOH RYHUKHDG DQG PDNH WHVWLQJ PRUH HIILFLHQW ([LVWHQFH RI D UHSOLFD SUHFOXGHV XSGDWHV RI DQ\ NLQG RQ LW 7KHUHIRUH PRGLILFDWLRQ LV GLVDOORZHG RQ YHUVLRQV ZLWK UHSOLFD 7KLV SURYLGHV D IDFLOLW\ IRU HQVXUn LQJ WKDW D YHUVLRQ LV QRW PRGLILHG LQ WKH SURMHFW GDWDEDVH ,I D PRGLILFDWLRQ LV FRQn VLGHUHG HVVHQWLDO LQ WKH SULYDWH GDWDEDVH D QHZ YHUVLRQ FDQ EH GHULYHG IURP LW DQG PRGLILFDWLRQV FDQ EH LQFRUSRUDWHG WKHUH $Q\ YHUVLRQ WKDW UHVLGHV LQ D SULYDWH RU SURn MHFW GDWDEDVH FDQ EH GHOHWHG $ GHOHWLRQ RI D YHUVLRQ WKDW KDV EHHQ UHSOLFDWHG UHTXLUHV D QRWLILFDWLRQ WR LWV UHSOLFD 1RWLILFDWLRQ SURWRFRO LV WKH WRSLF RI D VXEVHTXHQW VHFWLRQ $ &KHFNLQ RSHUDWLRQ ZLOO DOVR EH GLVDOORZHG RQ YHUVLRQV ZLWK D UHSOLFD DV LW LV UHGXQGDQW

PAGE 107

7KUHH QHZ RSHUDWLRQV ZHUH GHILQHG LQ WKLV VHFWLRQ WKDW ZHUH EDVHG RQ VRPH RI WKH RSHUDWLRQV GHILQHG HDUOLHU :H VXPPDUL]H WKH IXQFWLRQV DQG VFRSHV RI WKHVH RSHUDWLRQV 9HUVLRQV FDQ EH FUHDWHG IURP VFUDWFK LQ D SULYDWH GDWDEDVH 7KHVH YHUVLRQV DUH WUDQVLHQW $ WUDQVLHQW YHUVLRQ FDQ EH SURPRWHG WR D VWDEOH VWDWXV LQ D SULYDWH GDWDEDVH $ WUDQVLHQW YHUVLRQ FDQ EH GHULYHG IURP D VWDEOH YHUVLRQ UHVLGLQJ LQ WKH VDPH SULYDWH GDWDEDVH $ WUDQVLHQW YHUVLRQ FDQ EH GHULYHG LQ D SULYDWH GDWDEDVH IURP D VWDEOH YHUVLRQ WKDW UHVLGHV LQ LWV SURMHFW GDWDEDVH $ WUDQVLHQW YHUVLRQ FDQ EH GHULYHG LQ D SULYDWH GDWDEDVH IURP D YDOLGDWHG YHUn VLRQ WKDW UHVLGHV LQ D SURMHFW RU WKH SXEOLF GDWDEDVH $ VWDEOH YHUVLRQ FDQ EH SURPRWHG WR D YDOLGDWHG VWDWXV LQ D SURMHFW GDWDEDVH $ VWDEOH YHUVLRQ LQ D SULYDWH GDWDEDVH FDQ EH WUDQVIHUUHG WR WKH SURMHFW GDWDEDVH DV D VWDEOH YHUVLRQ E\ WKH &KHFNLQ RSHUDWLRQ $ YDOLGDWHG YHUVLRQ LQ D SURMHFW GDWDEDVH FDQ EH WUDQVIHUUHG WR WKH SXEOLF GDWDn EDVH E\ WKH &KHFNLQ RSHUDWLRQ $ UHSOLFD RI D VWDEOH YHUVLRQ LQ D SULYDWH GDWDEDVH FDQ EH WUDQVIHUUHG WR WKH SURn MHFW GDWDEDVH E\ 5&KHFNLQ RSHUDWLRQ $ UHSOLFD RI D YDOLGDWHG YHUVLRQ LQ D SURMHFW GDWDEDVH FDQ EH WUDQVIHUUHG WR WKH SXEOLF GDWDEDVH E\ &KHFNLQ RSHUDWLRQ 7DEOH VXPPDUL]HV WKH RSHUDWLRQV DOORZHG RQ YHUVLRQV ZLWK GLIIHUHQW VWDWHV DQG UHVLGLQJ LQ GLIIHUHQW GDWDEDVHV 7KH WDEOH VKRZV WKH FRQVWUDLQWV XQGHU ZKLFK D SDUWLFXODU RSHUDWLRQ FDQ EH LQYRNHG UDWKHU WKDQ WKH RXWFRPHV RI LQYRNLQJ WKH RSHUDWLRQ

PAGE 108

'\QDPLF DQG 6WDWLF %LQGLQJV LQ WKH 0XOWLOHYHO (QYLURQPHQW ,Q VHFWLRQ ZH GLVFXVVHG VWDWLF DQG G\QDPLF ELQGLQJV LQ WKH FRQWH[W RI D VLQJOH GDWDEDVH ,Q WKLV VHFWLRQ ZH H[WHQG WKH QRWLRQV RI G\QDPLF DQG VWDWLF ELQGn LQJ DOVR FDOOHG JHQHULF DQG VSHFLILF UHIHUHQFHVf IRU WKH SURSRVHG GLVWULEXWHG DUFKLWHFn WXUH 5XOHV RI VWDWLF ELQGLQJ DUH VWUDLJKWIRUZDUG $OO WKH VSHFLILF UHIHUHQFHV RI D GHVLJQ REMHFW PXVW EH LQ WKH GDWDEDVHV WKDW DUH DFFHVVLEOH IURP WKH ORFDWLRQ ZKHUH LW UHVLGHV IRU LQVWDQFH D YHUVLRQ LQ D SULYDWH GDWDEDVH FDQ UHIHUHQFH YHUVLRQV LQ WKH VDPH SULYDWH GDWDEDVH LWV SURMHFW GDWDEDVH DQG WKH SXEOLF GDWDEDVH LUUHVSHFWLYH RI WKH VWDWXVHV RI YHUVLRQV 7KH RQO\ H[FHSWLRQ LV IRU YDOLGDWHG YHUVLRQV LQ D SURMHFW GDWDEDVH ZKLFK FDQ UHIHUHQFH RWKHU YDOLGDWHG YHUVLRQV RQO\ VLQFH D YHUVLRQ FDQQRW EH FKDUDFWHUL]HG DV YDOLGDWHG XQOHVV DOO LWV FRQVWLWXHQWV KDYH EHHQ YDOLGDWHG 7KH FDVH RI G\QDPLF ELQGLQJ KRZHYHU SUHVHQWV D SUREOHP ,W LV VWLSXn ODWHG WKDW YDOLGDWHG YHUVLRQV GR QRW FRQWDLQ DQ\ JHQHULF UHIHUHQFHV ,WV UHDVRQV ZLOO VKRUWO\ EHFRPH FOHDU 7KH JHQHULF UHIHUHQFHV LQ D VWDEOH YHUVLRQ FDQ XVH GLIIHUHQW FULn WHULD IRU GHUHIHUHQFLQJ WKHLU GHIDXOW YHUVLRQV GXULQJ WKHLU WHVWLQJ DQG YDOLGDWLRQ SKDVH EXW EHIRUH D VWDEOH YHUVLRQ FDQ EH SURPRWHG WR YDOLGDWHG VWDWXV DOO LWV JHQHULF UHIHUn HQFHV PXVW EH FRQYHUWHG WR DSSURSULDWH VSHFLILF UHIHUHQFHV 6WDEOH DQG WUDQVLHQW REMHFWV DUH DOORZHG WR FRQWDLQ JHQHULF UHIHUHQFHV 'LIIHUHQW GHIDXOW FULWHULD FDQ EH PDLQWDLQHG LQ GLIIHUHQW GDWDEDVHV IRU YHUVLRQ VHWV EHORQJLQJ WR D JHQHULF REMHFW 7KH SULRULW\ IRU GHUHIHUHQFLQJ D G\QDPLF ELQGLQJ XVLQJ GLIIHUHQW GHIDXOW FULWHULD ZLOO GHSHQG XSRQ WKH DFFHVVLELOLW\ RI WKH GDWDEDVH WKDW LV WKH GHUHIHUHQFLQJ RI D G\QDPLF ELQGLQJ LQ DQ REMHFW UHVLGLQJ LQ D SULYDWH GDWDEDVH PXVW XVH WKH GHIDXOW FULWHULD RI WKDW GDWDEDVH LI WKDW IDLOV LW DSSURDFKHV LWV SURMHFW DQG WKHQ WKH SXEOLF GDWDEDVH IRU WKHLU GHIDXOW FULWHULD

PAGE 109

'LIIHUHQW YHUVLRQV RI D JHQHULF REMHFW UHVLGH LQ YDULRXV GDWDEDVHV ZKLFK PD\ QRW KDYH GLUHFW DFFHVV WR RQH DQRWKHU 7KLV LPSOLHV WKDW GLIIHUHQW VXEVHWV RI D YHUVLRQ JUDSK ZLOO EH VWRUHG LQ WKHVH GDWDEDVHV 0RUHRYHU DVVRFLDWHG ZLWK HDFK RI WKHVH VXEVHWV RI D YHUVLRQ JUDSK WKHUH LV D GHIDXOW PHFKDQLVP IRU GHUHIHUHQFLQJ D JHQHULF UHIHUHQFH ,Q YLHZ RI WKH WKUHH RSHUDWLRQV GHILQHG LQ 6HFWLRQ WKH IROORZLQJ VWUDn WHJ\ LV SURSRVHG ,Q HDFK GDWDEDVH WKH YHUVLRQ JUDSK FRQWDLQV WKH YHUVLRQV WKDW UHVLGH LQ WKH GDWDEDVH DQG WKHLU SDUHQW YHUVLRQ IURP ZKLFK WKH\ ZHUH GHULYHG 6LQFH D YHUn VLRQ FDQ EH GHULYHG WKURXJK D &KHFNRXW RSHUDWLRQ IURP YHUVLRQ UHVLGLQJ LQ SURMHFW GDWDEDVHV WKH SDUHQW RI D YHUVLRQ LQ WKH YHUVLRQ JUDSK RI SULYDWH GDWDEDVH PD\ QRW H[LVW WKHUH 0RUHRYHU GLIIHUHQW YHUVLRQV RI D JHQHULF REMHFW FDQ EH GHULYHG LQGHSHQn GHQWO\ LQ GLIIHUHQW SULYDWH GDWDEDVHV WKHUH FDQ EH D FRQIOLFW LQ YHUVLRQ QXPEHUV DW WKH WLPH RI &KHFNLQ WR D SURMHFW DQG WKH SXEOLF GDWDEDVH ZKLFK PXVW KDYH FDSDELOLW\ WR UHVROYH WKLV 'HOHWLRQ RI D YHUVLRQ VKRXOG QRW OHDG WR LWV GHOHWLRQ IURP D YHUVLRQ JUDSK YHUVLRQ JUDSKV DV WKH\ UHSUHVHQW WKH YHUVLRQ GHULYDWLRQ KLVWRU\ VKRXOG RQO\ IODJ WKDW YHUVLRQ DV QRQH[LVWHQW 7KH XQLRQ RI DOO VXEVHWV RI YHUVLRQ VHWV VKRXOG SURn YLGH WKH FRPSOHWH YHUVLRQ JUDSK RI D JHQHULF REMHFW 5HTXLUHPHQWV IRU 1RWLILFDWLRQ ,Q RXU PRGHO D GHVLJQ REMHFW FDQ EH UHIHUHQFHG E\ PRUH WKDQ RQH YHUVLRQ RI LWV FRPSRVLWH REMHFWV ZKLFK FDQ UHVLGH LQ GLIIHUHQW GDWDEDVHV DQG FDQ KDYH GLIIHUHQW VWDWXVHV 7KHUHIRUH D FKDQJH QRWLILFDWLRQ PXVW EH LVVXHG WR WKH DIIHFWHG GDWDEDVHV VR WKDW DSSURSULDWH DFWLRQV FDQ EH WDNHQ ZKHQ FRQVWLWXHQW REMHFWV DUH XSGDWHG RU GHOHWHG ,W VKRXOG EH QRWHG WKDW PRGLILFDWLRQ DQG GHOHWLRQ FDQ WDNH SODFH ERWK LQ SULYDWH DQG SURMHFW GDWDEDVHV )ROORZLQJ LQVWDQFHV RI XSGDWH DQG GHOHWLRQ UHTXLUH FKDQJH QRWLILFDWLRQ

PAGE 110

:KHQ RQH YHUVLRQ EHORQJLQJ WR D SDLU RI VWDEOH UHSOLFDV LV GHOHWHG LQ D SULYDWH RU D SURMHFW GDWDEDVH WKH RWKHU GDWDEDVH LV QRWLILHG VR WKDW WKH YDOXH RI IXQFWLRQ 5B$GGUHVV LQ WKH RWKHU YHUVLRQ FDQ EH XSGDWHG WR VLJQLI\ WKDW LWV UHSOLFD QR ORQJHU H[LVWV 7KLV IUHHV LW IURP WKH UHVWULFWLRQ RI QR XSGDWH :KHQ RQH YHUVLRQ EHORQJLQJ WR D SDLU RI YDOLGDWHG UHSOLFDV LV GHOHWHG LQ D SURMHFW RU WKH SXEOLF GDWDEDVH WKH RWKHU GDWDEDVH LV QRWLILHG VR WKDW WKH IXQFWLRQ 5$GGUHVV LQ WKH RWKHU YHUVLRQ FDQ EH XSGDWHG WR VLJQLI\ WKDW LWV UHSOLFD QR ORQJHU H[LVWV :KHQ D UHSOLFDWHG YHUVLRQ LV FKHFNHG LQ WKH SXEOLF GDWDEDVH IURP D SURMHFW GDWDEDVH D QRWLILFDWLRQ LV VHQW WR WKH SULYDWH GDWDEDVH RI LWV RULJLQ VR WKDW WKH 5B$GGUHVV RI LWV UHSOLFD FDQ EH PRGLILHG $ YHUVLRQ UHVLGLQJ LQ D SULYDWH GDWDEDVH UHIHUHQFHV JHQHULFDOO\ RU VSHFLILFDOO\ DQ XQUHSOLFDWHG YHUVLRQ LQ LWV SURMHFW GDWDEDVH :KHQ VXFK D FRQVWLWXHQW YHUVLRQ LV GHOHWHG WKH SULYDWH GDWDEDVH LV QRWLILHG RI WKLV FKDQJH VR WKDW WKH DIIHFWHG YHUn VLRQ FDQ XSGDWH LWV UHIHUHQFHV $ YHUVLRQ UHVLGLQJ LQ D SULYDWH GDWDEDVH UHIHUHQFHV JHQHULFDOO\ RU VSHFLILFDOO\ D YHUVLRQ LQ LWV SURMHFW GDWDEDVH :KHQ VXFK D FRQVWLWXHQW YHUVLRQ LV XSGDWHG WKH SULYDWH GDWDEDVH LV QRWLILHG RI WKLV FKDQJH VR WKDW WKH WKH GHVLJQHU FDQ UHYLHZ WKH UHIHUHQFHV RI WKH DIIHFWHG REMHFWV $ VWDEOH YHUVLRQ UHVLGLQJ LQ D SURMHFW GDWDEDVH UHIHUHQFHV D YHUVLRQ LQ WKH VDPH GDWDEDVH :KHQ VXFK D FRQVWLWXHQW YHUVLRQ LV XSGDWHG WKH DIIHFWHG YHUVLRQV LV QRWLILHG RI WKLV FKDQJH VR WKDW WKH GHVLJQHU FDQ UHYLHZ WKH UHIHUHQFHV RI WKH DIIHFWHG REMHFWV $ VWDEOH YHUVLRQ UHVLGLQJ LQ D SURMHFW GDWDEDVH UHIHUHQFHV DQ XQUHSOLFDWHG YHUVLRQ LQ WKH VDPH GDWDEDVH :KHQ VXFK D FRQVWLWXHQW YHUVLRQ LV GHOHWHG WKH DIIHFWHG YHUVLRQ PXVW EH GHOHWHG DV LW EHFRPHV LQFRQVLVWHQW $ YHUVLRQ LV FRQVLGHUHG XQUHSOLFDWHG LQ WKLV FRQWH[W LI LWV UHSOLFD H[LVWV RQO\ LQ D SULYDWH GDWDEDVHf

PAGE 111

+RZHYHU LI GHOHWLRQ LV SUHFHGHG E\ D UHSODFHPHQW PRGLILFDWLRQ WKHQ WKH FDVHV DQG DSSO\ ,Q &DVHV DQG QRWLILFDWLRQV PXVW EH VHQW ZKLFK LQLWLDWH DQ XSGDWH )RU WKH FDVHV DQG DQ XSGDWH LV QRW QHFHVVDU\ EXW WKH GHVLJQHU RI WKH REMHFW PXVW EH DZDUH RI WKH FKDQJHV LQ WKH FRQVWLWXHQWV RI LWV GHVLJQ REMHFWV 7KHUHn IRUH IROORZLQJ WKH OLWHUDWXUH ZH SURSRVH PHVVDJHEDVHG DQG IODJEDVHG QRWLILFDWLRQV ,Q WKH PHVVDJHEDVHG QRWLILFDWLRQ ZKLFK LV UHTXLUHG IRU WKH FDVHV DQG WKH V\VWHP ZLOO VHQG D PHVVDJH WR QRWLI\ WKH FKDQJH WR DSSURSULDWH GDWDEDVHV GHVLJQHUVf RI WKH DIIHFWHG YHUVLRQV ,Q WKH FDVHV DQG WKH GDWDEDVH DGGUHVV RI WKH UHSOLFD LV FRQWDLQHG E\ WKH RWKHU YHUVLRQ WKXV LW FDQ EH QRWLILHG 7KH FDVH SUHVHQWV D SUREOHP DV D GHVLJQ REMHFW PD\ EH UHIHUHQFHG E\ YHUVLRQV RI WKH VDPH REMHFW UHVLGLQJ LQ GLIIHUHQW SULYDWH GDWDEDVHV DQG WKH UHIHUHQFH FDQ EH HLWKHU JHQHULF RU VSHFLILF 2Q WKH RWKHU KDQG LQ WKLV PRGHO WKH ERXQGDU\ RI DQ REMHFW KDV EHHQ GHOLQHDWHG VR WKDW REMHFWV WKDW UHIHUHQFH D FRQVWLWXHQW REMHFW DUH QRW ORJLFDOO\ D SDUW RI WKDW UHIHUHQFHG REMHFW $ VLPSOH VROXWLRQ ZRXOG EH WR QRWLI\ DOO WKH SULYDWH GDWDn EDVHV ZKLFK EHORQJ WR WKH SURMHFW GDWDEDVH 7KH RWKHU VROXWLRQ ZRXOG EH WR TXHU\ WKH GDWD GLFWLRQDU\ WKDW FRQWDLQV WKH LQIRUPDWLRQ DERXW &KHFNRXW&KHFNLQ DQG QRWLI\ WKRVH SULYDWH GDWDEDVHV WKDW FRQWDLQ YHUVLRQV ZKLFK UHIHUHQFHV WKH GHOHWHG REMHFW )RU WKH FDVHV DQG DV PHQWLRQHG LQ 6HFWLRQ QR XSGDWH LV QHFHVn VDU\ 7KHUHIRUH WKH QRWLILFDWLRQ LV SURSRVHG WR EH IODJEDVHG )RU IODJEDVHG QRWLILFDWLRQ HYHU\ YHUVLRQ KDV WKH IROORZLQJ IXQFWLRQV GHILQHG RQ LW IXQFWLRQ &UHDWLRQB7LPH 9HUVLRQf 7LPHVWDPS IXQFWLRQ 0RGLILFDWLRQ7LPH 9HUVLRQf 7LPHVWDPS IXQFWLRQ 9HULILFDWLRQf§7LPH 9HUVLRQf 7LPHVWDPS

PAGE 112

7KH IXQFWLRQ &UHDWLRQB7LPH DV GHVFULEHG HDUOLHU UHSUHVHQWV WKH WLPH ZKHQ WKH YHUVLRQ ZDV FUHDWHG WKH IXQFWLRQ 0RGLILFDWLRQ7LPH UHSUHVHWV WKH WLPH LW ZDV ODVW PRGLILHG DQG WKH IXQFWLRQ 9HULILFDWLRQ7LPH UHSUHVHQWV WKH WLPH ZKHQ LW ZDV YHULILHG ZKHWKHU LW ZDV UHIHUHQFH FRQVLVWHQW E\ FKHFNLQJ WKH PRGLILFDWLRQ WLPHV RI LWV FRQVWLWXHQWV $ YHUVLRQ ; LV FRQVLGHUHG UHIHUHQFH FRQVLVWHQW LI IRU DOO YHUVLRQV < ZKLFK LW UHIHUHQFHV WKH IROORZLQJ KROGV WUXH 9HULILFDWLRQf§7LPH ;f 0RGLILFDWLRQ7LPH
PAGE 113

&HQWUDO 'DWDEDVH 6HUYHU )LJXUH

PAGE 114

2EMHFW 'DWDEDVH 7\SH 2SHUDWLRQ 7UDQVLHQW 3ULYDWH 3URPRWH 6WDEOH 3ULYDWH 'HULYH *HQHULF 3ULYDWH &UHDWH 6WDEOH 3ULYDWH &KHFNLQ 6WDEOH 3ULYDWH 5FKHFNLQ 6WDEOH 3URMHFW 3URPRWH 6WDEOH 3URMHFW &KHFNRXW 9DOLGDWHG 3URMHFW &KHFNRXW 9DOLGDWHG 3URMHFW &KHFNLQ 9DOLGDWHG 3URMHFW 5FKHFNLQ 9DOLGDWHG 3XEOLF &KHFNRXW 7DEOH

PAGE 115

&+$37(5 &21&/86,21 0DMRU 5HVXOWV ,Q WKLV GLVVHUWDWLRQ D QXPEHU RI LPSRUWDQW FRQFHSWV KDYH EHHQ SURSRVHG IRU GHILQLQJ D XQLI\LQJ IUDPHZRUN IRU WKH HIIHFWLYH PDQDJHPHQW RI GHVLJQ GDWD ,Q RXU YLHZ WKH PDMRU UHVXOWV DQG FRQWULEXWLRQV RI WKLV ZRUN DUH WKH IROORZLQJ 7KH GLVVHUWDWLRQ LQWURGXFHG D IRUPDO WUHDWPHQW DQG WKH EDVLF IHDWXUHV RI DQ REMHFWRULHQWHG GDWD PRGHO :H FRQVLGHU LW LPSRUWDQW WKDW RXU VROXWLRQV WR WKH SUREOHPV RI YHUVLRQ PDQDJHPHQW EH GHYHORSHG ZLWKLQ DQ XQGHUO\LQJ GDWD PRGHO IRU GHVLJQ GDWDEDVHV 7KLV IXUQLVKHG D FULWHULRQ WR MXGJH WKH FRUUHFWQHVV DQG IHDVLELOLW\ RI WKHVH VROXWLRQV 7KH FODVVLILFDWLRQ RI FRPSRVLWH REMHFW DWWULEXWHV HQIRUFHPHQW RI XSGDWH FRQVWUDLQWV WKURXJK WKH QRWLRQ RI FODVV WKH FRQFHSWV RI JHQHULF REMHFWV LQYDULDQW DWWULEXWHV YDOXH DFTXLVLWLRQ WKH PHFKDQLVP IRU FRQWURO RI YHUVLRQ SUROLIHUDWLRQ DQG IRU LQWHUUHODWLQJ GLVSDUDWH W\SHV RI REMHFWV DUH VRPH RI WKH FRQWULEXWLRQV PDGH LQ WKH DUHD RI YHUVLRQ PDQDJHPHQW 7KH QH[W ORJLFDO VWHS ZDV WR JHQHUDOL]H WKHVH LGHDV DQG GHPRQVWUDWH WKHLU DSSOLFDELOLW\ LQ D VKDUHG DQG FRRSHUDWLYH GHVLJQ HQYLURQPHQW $ MXVWLILFDWLRQ IRU D PXOWLOHYHO GLVWULEXWHG &$' DUFKLWHFWXUH ZDV JLYHQ DQG SURWRFROV IRU YHUVLRQ VKDULQJ UHSOLFDWLRQ YDOLGDWLRQ DQG FKDQJHQRWLILFDWLRQ ZHUH GLVFXVVHG 7KH ODVW WZR FKDSWHUV DGGUHVVHG VRPH LPSOHPHQWDWLRQRULHQWHG LVVXHV ,Q WKHVH FKDSWHUV RXU PDLQ FRQFHUQ ZDV WR IRUPXODWH WHFKQLTXHV ZKLFK FDQ EH XWLOL]HG IRU HIILFLHQWO\ UHWULHYLQJ DQG RUJDQL]LQJ WKH VFKHPD DQG WKH H[WHQVLRQ RI GHVLJQ GDWD

PAGE 116

,W ZDV REVHUYHG WKDW WKH JHQHUDOL]DWLRQ DQG FRPSRVLWLRQ JUDSKV LQWHUn GHSHQG XSRQ HDFK RWKHU 7KH DQDO\VLV RI WKH DOJRULWKPV GHYHORSHG IRU PDLQWDLQLQJ FRQVLVWHQF\ GHPRQVWUDWHG DQ HQKDQFHG SHUIRUPDQFH ZKHQ VWRUHG UDWKHU WKDQ WKH G\QDPLFDOO\ FRPSXWHG WUDQVLWLYH FORVXUH RI WKHVH JUDSKV DUH XVHG 7KH WUDGHRII LW SURYLGHV IDU RXWZHLJKV WKH VSDFH UHTXLUHPHQW RI WKH LQWHUYDO ODEHOLQJ WHFKQLTXH IRU WUDQVLWLYH FORVXUH UHODWLRQV 7KH SUREOHP RI DQ HIILFLHQW RUJDQL]DWLRQ RI GHVLJQ GDWD ZLWK LWV KLHUDUFKn LFDO VWUXFWXUH FRPSRXQGHG E\ WKH YHUVLRQLQJ GLPHQVLRQ ZDV RVWHQVLEO\ LQWUDFWDEOH :H SUHVHQWHG D GHWDLOHG VFKHPH WKDW GHWHUPLQHV DQ RSWLPDO VWRUDJH RUJDQL]DWLRQ EDVHG RQ VLJQLILFDQW XQLWV RI FOXVWHULQJ DQG H[SHFWHG IUHTXHQF\ RI UHWULHYDO DQG XSGDWH RSHUDWLRQV 7KLV GLVVHUWDWLRQ SUHVHQWHG ZHOOGHILQHG IRUPDOLVPV ZKLFK SURYLGH FRQn VLVWHQW DQG FRKHUHQW SDUDGLJPV IRU YHUVLRQ PDQDJHPHQW LQ GHVLJQ GDWDEDVHV )XWXUH 5HVHDUFK 'LUHFWLRQV ,Q WKLV VHFWLRQ ZH SRLQW RXW WKH GLUHFWLRQV IRU WKH IXWXUH UHVHDUFK LQ WKLV DUHD 7KHUH DUH VHYHUDO LVVXHV LQ FRPSXWHUDLGHG GHVLJQ ZKLFK KDYH QRW DWWUDFWHG PXFK DWWHQWLRQ IURP WKH LQYHVWLJDWRUV )LUVW RI WKHVH LVVXHV LV WUDQVDFWLRQ PDQDJHPHQW LQ GHVLJQ GDWDEDVHV 7KH FRQYHQWLRQDO PRGHO RI WUDQVDFWLRQ LV EDVHG RQ WKH QRWLRQV RI VHULDOL]DELOLW\ DQG DWRPLn FLW\ 7KLV PRGHO KDV VHUYHG FRQYHQWLRQDO GDWD SURFHVVLQJ DSSOLFDWLRQ ZHOO +RZHYHU LW LV QRW DSSOLFDEOH WR &$' HQYLURQPHQW 7UDQVDFWLRQV LQ D &$' HQYLURQPHQW DUH RI ORQJ GXUDWLRQ DQG UHSUHVHQW LQWHUDFWLYH PRGLILFDWLRQV WR D FRPSOH[ GHVLJQ $ &$' HQYLURQPHQW UHTXLUHV D VLJQLILFDQWO\ GLIIHUHQW PRGHO RI WUDQVDFWLRQ DV LW PXVW DOORZ D JURXS RI FRRSHUDWLQJ GHVLJQHUV WR DUULYH DW D GHVLJQ ZLWKRXW ZDLWLQJ RYHU ORQJ GXUDn WLRQ 7KXV D PRGHO RI &$' WUDQVDFWLRQV DUH QHHGHG WR VXSSRUW D GHVLJQ

PAGE 117

HQYLURQPHQW WKDW LQYROYHV D JURXS RI GHVLJQHUV 7KH GLVWULEXWHG DUFKLWHFWXUH SURn SRVHG LQ &KDSWHU FDQ VHUYH DV D EDVLV GDWDEDVH IRU IXWXUH WUDQVDFWLRQ PRGHOV 5HFRYHU\ VFKHPHV DQG FRQFXUUHQF\ FRQWURO WHFKQLTXHV DUH DOVR QHHGHG IRU &$' HQYLURQPHQW 6HFRQG RI WKHVH SUREOHPV LV WKH GHYHORSPHQW RI D VSDFH HIILFLHQW WHFKn QLTXH IRU VWRULQJ D YHUVLRQ VHW ,Q &KDSWHU ZH DOOXGHG WR D GHOWD RU GLIIHUHQWLDO VFKHPH ,Q WKLV VFKHPH RQO\ WKH PRGLILHG SDUWV RI YHUVLRQV DUH VWRUHG WR PDWHULDOL]H D YHUVLRQ REMHFW LWV SUHYLRXV YHUVLRQ DQG LWV GHOWD DUH XVHG $Q LQYHVWLJDWLRQ IRU GHYHORSLQJ ZHOOGHILQHG LPSOHPHQWDWLRQ WHFKQLTXHV DSSHDUV TXLWH LPSRUWDQW $QRWKHU LVVXH LV WKH IRUPXODWLRQ RI D TXHU\ ODQJXDJH IRU YHUVLRQHG DQG FRPSRVLWH REMHFWV /LWWOH DWWHQWLRQ KDV EHHQ GHYRWHG WR GHILQLQJ DSSURSULDWH VHPDQn WLFV IRU TXHU\LQJ FRPSRVLWH DJJUHJDWLRQ KLHUDUFKLHV DQG PXOWLSOH UHSUHVHQWDWLRQV RI REMHFWV 7KLV UHOXFWDQFH SHUKDSV VWHPV IURP WKH LQKHUHQW GLIILFXOW\ RI FRQYHQWLRQDO TXHU\ ODQJXDJHV WR H[SUHVV TXHULHV WKDW LQYROYH UHFXUVLYHO\ GHILQHG FRQVWUXFWV 7KLV TXHU\ ODQJXDJH ZLOO EH DEOH WR VXSSRUW WUDQVLWLYH FORVXUH DV SDUW RI D IDFLOLW\ IRU PDQLSXODWLQJ UHFXUVLYH VWUXFWXUHV 7KXV DQ HQKDQFHG TXHU\ ODQJXDJH LV UHTXLUHG ZKLFK ZRXOG GHDO ZLWK WKH GLPHQVLRQ YHUVLRQLQJ DQG SURYLGH D XVHUIULHQGO\ LQWHUIDFH IRU HIILFLHQWO\ UHWULHYLQJ GDWD

PAGE 118

$33(1',; $1 (;$03/( 2) 9(56,21,1* 352&(66 ,Q WKLV DSSHQGL[ ZH SURYLGH D VLPSOH H[DPSOH RI WKH GHVLJQ RI D FRPSRn VLWH REMHFW ZKLFK JRHV WKURXJK D SURFHVV RI YHUVLRQLQJ )RU WKH VDNH RI FRQYHQLHQFH WKH H[DPSOH FKRVHQ KHUH LV EDVHG RQ WKH FRPSRVLWH REMHFW $GGHU DQG LWV FRQVWLWXHQWV GLVFXVVHG LQ &KDSWHU 7KH LGHD EHKLQG WKLV H[DPSOH LV WR LOOXVWUDWH WKH FRQFHSWV DQG PHWKRGRORJLHV SURSRVHG LQ &KDSWHU :H PHQWLRQHG LQ &KDSWHU WKDW RXU PRGHO LV QRW UHVWULFWHG WR HLWKHU WRSGRZQ RU ERWWRPXS GHVLJQ VWUDWHJLHV ,Q IDFW DQ\ FRPELQDWLRQ RI WKHVH VWUDWHJLHV DUH DOORZHG 7KH GHVLJQ H[DPSOH JLYHQ KHUH HYROYHV XVLQJ DQ DUELWUDU\ FRPELQDWLRQ RI ERWK RI WKHVH VWUDWHJLHV :H HVWDEOLVK D FRQYHQWLRQ IRU LGHQWLI\LQJ GLIIHUHQW REMHFWV $ W\SH REMHFW DOZD\V DSSHDUV LQ ORZHUFDVH LWDOLFV ZLWK D VXIIL[ RI EE RU ZE EE VLJQLILHV WKH IDFW WKDW LW UHSUHVHQWV WKH EODFNER[ SURSHUWLHV ZKHUHDV ZE FRUUHVSRQGV WR ZKLWH ER[ SURSHUWLHV $Q LQVWDQFH REMHFW DSSHDUV ZLWK LWV ILUVW OHWWHU FDSLWDOL]HG ZLWK D VXIIL[ RI RU n9r VLJQLILHV D JHQHULF REMHFW ZKHUHDV f9r VWDQGV IRU D YHUn VLRQHG REMHFW ZKHUH r FDQ EH DQ\ RUGLQDO QXPEHUf /HW XV FRQVLGHU WKH GHVLJQ RI WKH FRPSRVLWH REMHFW $GGHU )LJXUHV DQG f ,Q WKLV H[DPSOH D GHVLJQHU VWDUWV ZLWK D KLJK OHYHO H[WHUQDO IHDWXUHVf GHVFULSWLRQ RI WKLV REMHFW E\ GHFODULQJ LWV W\SH DQG IXQFWLRQV WKDW EHORQJ WR LWV H[WHUn QDO IHDWXUHV DW D ODWHU VWDJH RI GHVLJQ LWV LQWHUQDO DVVHPEOLHV FDQ EH GHILQHG 7KH W\SH DQG LWV IXQFWLRQV DUH GHILQHG DV IROORZV 8VHUB7\SH DGGHUEE

PAGE 119

IXQFWLRQ $'1DPH DGGHUEEf f§ FKDUVWULQJ X IXQFWLRQ 'HVLJQHU DGGHUEEf f§ FKDUVWULQJ IXQFWLRQ $',QSXW DGGHUEEf f§ WHUPLQDO X P IXQFWLRQ $'2XWSXW DGGHUEEf f§ WHUPLQDO X P 7KH DERYH IXQFWLRQV GHILQH 1DPH 'HVLJQ DQG LQWHUIDFH RI WKH W\SH REMHFW RI $GGHU 7KH XVHUGHILQHG W\SH KDV QR VXSHUWYSH RU VXEW\SH DW WKLV VWDJH 7KH IXQFWLRQV GHFODUHG KHUH EHORQJ WR GLIIHUHQW FODVVHV 7KXV WKH\ PXVW EH FDWHJRUn L]HG DV VXFK ^ $'1DPH ` e 'VO ^ 'HVLJQHU ` ( 'Va ^ $',QSXW $'2XWSXW ` ( ,) 'V DQG 'Va VWDQG IRU GHVFULSWLYH DWWULEXWHV DQG ,) VWDQGV IRU LQWHUIDFH SURSHUWLHV ,W VKRXOG EH QRWHG WKDW GLIIHUHQW FRQVWUDLQWV FDQ EH LPSRVHG RQ WKH XSGD WDELOLW\ RI WKH IXQFWLRQ FODVVHV ,) 'V 'V = HWF )XQFWLRQV GHFODUHG DV LQVWDQFHV PHPEHUVf RI WKHVH FODVVHV LQKHULW WKRVH FRQVWUDLQWV DQG WKXV FDQ FKDUDFWHUL]H LQYDULn DQW YHUVLRQVLJQLILFDQW DQG QRQYHUVLRQVLJQLILFDQW SURSHUWLHV RI REMHFWV 7KH LQWHUUHODWLRQVKLS EHWZHHQ WKHVH FODVVHV RI IXQFWLRQV DQG WKH DERYHPHQWLRQHG WKUHH FDWHJRULHV DUH LOOXVWUDWHG LQ )LJXUHV DQG 1RZ WKH GHVLJQHU FDQ GHFODUH DQ REMHFW LQVWDQFH RI W\SH DGGHUEE ZKLFK FDQ EH GHVLJQDWHG DV D JHQHULF REMHFW E\ GHFODULQJ LW DV DQ LQVWDQFH RI W\SH *HQHULF $GGOQVWDQFH $GGHU* WR W\SH DGGHUEE $GGOQVWDQFH $GGHU* WR W\SH *HQHULF $GGHU* LV D VXUURJDWH IRU DQ LQVWDQFH RI DGGHUEE 7KLV LV DOVR D JHQHULF REMHFW +DYLQJ FUHDWHG $GGHUO WKH GHVLJQHU FDQ QRZ LQVWDQWLDWH LWV IXQFWLRQV DV IROORZV ,QVWDQWLDWLRQ RI IXQFWLRQV KHUH UHIHUV WR SURYLGLQJ WKHLU UDQJH DQG GRPDLQ YDOXHVf

PAGE 120

$'1DPH $GGHU*f $GGHU $'2XWSXW $GGHU*f ^ =O = = = = ` $',QSXW $GGHU*f ^ ;, ; ; ;
PAGE 121

$6,QSXW $GGHU6OLFH*f ^ ; < &O ` $62XWSXW $GGHU6OLFH*f ^ = &2 ` 7KHVH IXQFWLRQ LQVWDQWLDWLRQV UHIHU WR )LJXUH $W WKLV SRLQW WKH GHVLJQHU KDV WZR FKRLFHV KH FDQ GHFODUH WKH LQWHUQDO DVVHPEO\ IXQFWLRQV RI $GGHU* DW WKH W\SH OHYHO RU KH FDQ FUHDWH GLIIHUHQW YHUVLRQ LQVWDQFHV RI $GGHU6OLFH* DQG WKHQ GHFODUH DQG LQVWDQWLDWH WKH LQWHUQDO DVVHPEO\ RI $GGHU* 7KH VHFRQG DOWHUQDWLYH LV HVVHQWLDOO\ D ERWWRPXS DSSURDFK WKDW ILUVW WULHV WR FRPSOHWHO\ GHILQH WKH FRQVWLWXHQWV RI D GHVLJQ ,Q WKLV H[DPSOH ZH VKDOO LOOXVWUDWH WKH VHFRQG DOWHUQDWLYH ,Q RUGHU WR GHILQH YHUVLRQV RI $GGHU6OLFH WKH GHVLJQHU GHILQHV D W\SH REMHFW WKDW UHSUHVHQWV DQ LQWHUQDO DVVHPEO\ RI WKH REMHFW 8VHU7\SH DGGHUVOLFHZEO VXEW\SH RI DGGHUVOLFHEE? ,W VKRXOG EH UHFDOOHG WKDW D W\SH UHSUHVHQWLQJ WKH LQWHUQDO DVVHPEO\ RI DQ REMHFW LH ZKLWHER[ REMHFW W\SHf PXVW EH D VXEW\SH RI WKH REMHFW WKDW UHSUHVHQWV LWV H[WHUQDO IHDWXUHV LH EODFNER[ REMHFW W\SHf 7KLV FRPSRVLWH REMHFW UHIHUHQFHV RWKHU REMHFWV +DOI$GGHU DQG 25JDWH ZKLFK PXVW QRZ EH GHFODUHG 8VHU7\SH KDOIDGGHUEE RUJDWHEE )XQFWLRQV RQ WKHVH W\SHV FDQ EH GHILQHG DV IROORZV IXQFWLRQ 251DPH RUJDWHEEf f§r! FKDUVWULQJ X IXQFWLRQ 25,QSXW RUJDWHEEf f§ WHUPLQDO P IXQFWLRQ 252XWSXW RUJDWHEEf f§ WHUPLQDO X IXQFWLRQ +1DPH KDOIDGGHUEEf f§ FKDUVWULQJ X IXQFWLRQ +,QSXW KDOIDGGHUEEf f§ WHUPLQDO P

PAGE 122

IXQFWLRQ +2XWSXW KDOIDGGHUEEf f§ WHUPLQDO P ^ 251DPH +1DPH ` ( 'c` ^ 25,QSXW 252XWSXW +,QSXW +2XWSXW ` ( ,) 7KH IROORZLQJ LQVWDQFHV RI WKHVH W\SHV DUH FUHDWHG $GGOQVWDQFH +DOI$GGHU* WR W\SH KDOIDGGHUEE $GGOQVWDQFH $KDOI$GGHU* WR W\SH *HQHULF $GGOQVWDQFH 25JDWH* WR W\SH RUJDWHEE $GGOQVWDQFH 25JDWH* WR W\SH *HQHULF 7KHVH IXQFWLRQV IRU 25JDWH DQG +DOIDGGHU DUH LQVWDQWLDWHG 251DPH 25JDWH*f 25*DWH 25,QSXW 25JDWH*f ^ ,, ` 252XWSXW 25JDWH*f +1DPH +DOI$GGHU*f +DOI$GGHUO +,QSXW +DOI$GGHU*f ^$O % ` +2XWSXW +DOI$GGHU*f ^6L &O ` 7KH DERYH GHFODUDWLRQV FRPSOHWHV WKH GHVFULSWLRQV RI WKH H[WHUQDO IHDWXUHV RI WKH FRPSRQHQW REMHFWV RI $GGHU* 7KH GHVLJQHU FDQ QRZ EXLOG LWV LQWHUn QDO DVVHPEO\ 7KH IXQFWLRQV ZKLFK UHSUHVHQW WKH LQWHUQDO DVVHPEO\ GHILQHG RQ WKH W\SH DGGHUVOLFHZEO D VXEW\SH RI DGGHUVOLFHEEf DUH WKH IROORZLQJ IXQFWLRQ $6&RQQHFWO DGGHUVOLFHZEO KDOIDGGHUEE KDOIDGGHUEEf f§ WHUPLQDO WHUPLQDOV IXQFWLRQ $6&RQQHFW DGGHUVOLFHZEO KDOIDGGHUEE RUJDWHEEf WHUPLQDO WHUPLQDOV

PAGE 123

IXQFWLRQ $6/LQNO DGGHUVOLFHZEO WHUPLQDOf f§ KDOIDGGHUEE WHUPLQDOV IXQFWLRQ $6/LQN DGGHUVOLFHZEO WHUPLQDOf f§ RUJDWHEE WHUPLQDOV ^ $6&RQQHFWO $6&RQQHFW $6/LQNO $6/LQN ` e /$ *LYHQ DOO WKHVH W\SHV LQVWDQFHV IXQFWLRQV DQG IXQFWLRQ LQVWDQFHV WKH GHVLJQHU FDQ FUHDWH D YHUVLRQ LQVWDQFH IRU $GGHU6OLFH* ZKLFK ZLOO KDYH DOO WKH LQIRUn PDWLRQ QHHGHG WR LQVWDQWLDWH LW )RU WKLV SXUSRVH WKH RSHUDWLRQ &UHDWH GHILQHG LQ 6HFWLRQ f FDQ EH XVHG &UHDWH LQVWDQFH RI W\SH DGGHUVOLFHZEO YHUVLRQ RI $GGHU6OLFH* 7KLV FUHDWHV D QHZ REMHFW ZKLFK LV DQ LQVWDQFH RI DGGHUVOLFHZEO LW LV DOVR JLYHQ WKH V\VWHPGHILQHG W\SH 9HUVLRQHG $GGHU6OLFH* LV LWV JHQHULF REMHFW WKXV LW YDOXHDFTXLUHV DOO WKH UHVXOWV RI IXQFWLRQV GHILQHG RQ WKLV REMHFW DQG GHFODUHG DV HLWKHU ,) RU 'J ,W VKRXOG EH UHFDOOHG WKH XVHUGHILQHG W\SH DGGHUVOLFHEE RI WKH JLYHQ JHQn HULF REMHFW $GGHU6OLFH* LV D VXSHUW\SH RI DGGHUVOLFHZEO /HW WKH VXUURJDWH RI WKH LQVWDQFH UHWXUQHG E\ WKLV RSHUDWLRQ EH $GGHUVOLFH9O 7KH V\VWHP ZLOO XSGDWH WKH IROORZLQJ IXQFWLRQV 6f VLJQLILHV DFWLRQ WDNHQ E\ WKH V\VWHP *HQHULF,QVW$GGHUVOLFH9Of $GGHU6OLFH* 6f )LUVW9HUVLRQ$GGHU6OLFH*f $GGHU6OLFH9O 6f ,QLWLDO9HUVLRQV$GGHU6OLFH*f ^ $GGHU6OLFH9O` 6f 9HUVLRQ6HW$GGHU6OLFH*f ^ $GGHU6OLFH9O` 6f 9HUVLRQ1XPEHU$GGHU6OLFH9Of 6f &UHDWLRQ7LPH$GGHU6OLFH9Of 6f 9HUVLRQ6WDWXV$GGHU6OLFH9Of 7UDQVLHQW 6f $OVR E\ YLUWXH RI YDOXHDFTXLVLWLRQ WKH IROORZLQJ UHVXOWV ZLOO EH UHWXUQHG E\ WKH IXQFWLRQV LQKHULWHG E\ $GGHU6OLYFH9O

PAGE 124

$61DPH $GGHU6OLFH9Of $GGHU6OLFH $6,QSXW $GGHU6OLFH9Of ^ ; < &O ` $62XWSXW $GGHU6OLFH9Of ^ = &2 ` ,W VKRXOG EH UHFDOOHG WKDW $GGHU6OLFH9O LQKHULWV WKH IXQFWLRQ 'HVLJQHU IURP LWV JHQHULF REMHFW EXW WKLV LV FDWHJRUL]HG DV QRQLQYDULDQW 'V WKXV LW FDQ EH XSGDWHG DW WKH YHUVLRQ OHYHO 'HVLJQHU$GGHU6OLFH9Of 2VWURPLQVN\ ,Q RUGHU WR IXOO\ GHVFULEH WKH LQWHUQDO DVVHPEO\ RI $GGHU6OLFH9O WKH GHVLJQHU ZLOO QHHG WKH YHUVLRQ LQVWDQFHV RI +DOI$GGHU* 7KXV D YHUVLRQ RI +DOI$G GHU* LV FUHDWHG RQ WKH VLPLODU OLQHV DV VKRZQ IRU WKH FDVH RI $GGHU6OLFH* 8VHU7\SH KDOIDGGHUZEO VXEW\SH RI KDOIDGGHUEE 8VHU7\SH [RUJDWHEE DQGJDWHEE )ROORZLQJ IXQFWLRQV DUH GHILQHG RQ KDOIDGGHUZEO IXQFWLRQ +&RQWDLQV KDOIDGGHUZEOf f§r‘ [RUJDWHEE DQGJDWHEE! IXQFWLRQ +/LQNO KDOIDGGHUZEO WHUPLQDOf f§ [RUJDWHEE WHUPLQDO! P IXQFWLRQ +/LQN KDOIDGGHUZEO WHUPLQDOf f§r‘ DQGJDWHEE WHUPLQDO! P ,W VKRXOG EH QRWHG WKDW WKLV LQWHUQDO DVVHPEO\ GRHV QRW KDYH LQWHUFRQQHFn WLRQ SURSHUWLHV &UHDWH LQVWDQFH RI W\SH KDOIDGGHUZEO YHUVLRQ RI +DOIDGGHU* &UHDWH LQVWDQFH RI W\SH KDOIDGGHUZEO YHUVLRQ RI +DOIDGGHU* 7KHVH FUHDWHV D QHZ REMHFW ZKLFK LV DQ LQVWDQFH RI KDOIDGGHUZEO LW LV DOVR JLYHQ WKH V\VWHPGHILQHG W\SH 9HUVLRQHG +DOI$GGHU* LV LWV JHQHULF REMHFW WKXV

PAGE 125

LW YDOXHDFTXLUHV DOO WKH UHVXOWV RI IXQFWLRQV GHILQHG RQ WKLV REMHFW DQG GHFODUHG DV HLWKHU ,) RU 'J 7KH V\VWHP XSGDWHV WKH IROORZLQJ IXQFWLRQV *HQHULF,QVW+DOIDGGHU9Of +DOIDGGHU* 6f )LUVW9HUVLRQ+DOIDGGHU*f +DOIDGGHU9O 6f ,QLWLDO9HUVLRQV+DOIDGGHU*f ^ +DOIDGGHU9O` 6f 9HUVLRQ6HW+DOIDGGHU*f ^ +DOIDGGHU9O` 6f 9HUVLRQ1XPEHU+DOIDGGHU9Of 6f &UHDWLRQ7LPH+DOIDGGHU9Of 6f 9HUVLRQ6WDWXV+DOIDGGHU9Of 7UDQVLHQW 6f :H FDQ FUHDWH LQVWDQFHV RI ;25JDWH DQG $1'JDWH DQG GHILQH WKH LQWHUQDO DVVHPEO\ RI +DOIDGGHU9O $GGOQVWDQFH ;25JDWH* WR W\SH [RUJDWHEE $GGOQVWDQFH ;25JDWH* WR W\SH *HQHULF $GGOQVWDQFH $1'JDWH* WR W\SH DQGJDWHEE $GGOQVWDQFH $1'JDWH* WR W\SH *HQHULF 7KH +DOIDGGHU9O LV FUHDWHG LQ WUDQVLHQW VWDWH 7KHUHIRUH D GHVLJQHU FDQ PDNH DQ\ XSGDWH WR LWV LQWHUQDO DVVHPEO\ 7KHVH LQWHUQDO DVVHPEO\ IXQFWLRQV DUH LQVWDQWLDWHG EHORZ +&RQWDLQV +DOIDGGHU9Of ;25JDWH* $1'JDWH*! +/LQNO +DOIDGGHU9O $f ;25JDWH* ;2O! +/LQNO +DOIDGGHU9O %f ;25JDWH* ;! +/LQNO +DOIDGGHU9O 6Lf ;25JDWH* ;! +/LQN +DOIDGGHU9O $f $1'JDWH* $1! +/LQN +DOIDGGHU9O %f $1'JDWH& $1!

PAGE 126

+/LQN +DOIDGGHU9, &Of $1'JDWH* $1! 7KH DERYH LQVWDQWLDWLRQV RI IXQFWLRQV +&RQWDLQ +/LQNO DQG +/LQN FRPSOHWHO\ GHVFULEH WKH LQWHUQDO DVVHPEO\ RI +DOIDGGHU9O 7KH UHIHUHQFH WR WR LWV FRQVWLWXHQWV DUH JHQHULF ,W VKRXOG EH QRWHG WKDW JHQHULF UHIHUHQFH LV SRVVLEOH EHFDXVH RI WKH FRQFHSWV RI LQWHUIDFH DWWULEXWHV DQG YDOXHDFTXLVLWLRQ 7KLV LGHD RI JHQHULF UHIHUHQFH LV H[WUHPHO\ LPSRUWDQW DV LW DOORZV D GHVLJQHU WR GHILQH FRPSRVLWH REMHFWV ZLWKRXW DQ\ FRQFHUQ DERXW WKH LQWHUQDO VWUXFWXUHV RI LWV FRQVWLWXHQWV ZKLFK PD\ EH GHVLJQHG E\ RWKHU GHVLJQHUV 7KLV YHUVLRQ FDQ EH SURPRWHG WR VWDEOH VWDWXV DQG ODWHU WKH JHQHULF UHIHUn HQFHV FDQ EH PRGLILHG WR VSHFLILF UHIHUHQFHV LH UHIHUHQFHV WR DFWXDO YHUVLRQVf XQGHU WKH UXOH RI HTXLYDOHQFH PRGLILFDWLRQ 7R FKDQJH LWV VWDWXV WKH RSHUDWLRQ SURPRWH FDQ EH XVHG SURPRWH +DOIDGGHU9O 7KLV FKDQJHV WKH WUDQVLHQW VWDWH RI WKH JLYHQ YHUVLRQ LQWR WKH VWDEOH VWDWH 6LQFH +DOIDGGHU9O LV D VWDEOH YHUVLRQ RWKHU YHUVLRQV FDQ EH GHULYHG IURP LW )RU GHULYLQJ D QHZ YHUVLRQ IURP D JLYHQ YHUVLRQ WKH RSHUDWLRQ GHULYH GHILQHG LQ 6HFn WLRQ f FDQ EH XVHG GHULYH IURP +DOIDGGHU9O /HW WKH VXUURJDWH RI WKH YHUVLRQ UHWXUQHG E\ WKH DERYH RSHUDWLRQ EH +DOIDGGHU9 $V H[SODLQHG LQ 6HFWLRQ +DOIDGGHU9 LV RI WKH VDPH XVHU GHILQHG W\SH DV +DOIDGGHU9O ,W DOVR YDOXHDFTXLUHV DOO WKH LQYDULDQW DWWULEXWHV IURP +DOIDGGHU* WKH JHQHULF REMHFW RI +DOIDGGHU9O ,W KDV LGHQWLFDO H[WHUQDO IHDWXUHV DQG LQWHUQDO DVVHPEO\ DV +DOIDGGHU9O %RWK +DOIDGGHU9O DQG +DOIDGGHU9 VKDUH WKHLU FRQVWLWXHQWV $1'JDWH* DQG ;25JDWH* DV JRYHUQHG E\ 5XOH

PAGE 127

7KH YDOXHV RI V\VWHPGHILQHG IXQFWLRQV DUH VKRZQ EHORZ *HQHULF,QVW+DOIDGGHU9f +DOIDGGHU* 6f 9HUVLRQ6HW+DOIDGGHU*f ^ +DOIDGGHU9O +DOIDGGHU9 ` 6f 9HUVLRQ1XPEHU+DOIDGGHU9f &UHDWLRQ7LPH+DOIDGGHU9f 9HUVLRQ6WDWXV+DOIDGGHU9f 7UDQVLHQW ,PPHG6XFFHVVRU +DOIDGGHU9Of +DOIDGGHU9 6f 6f 6f 6f 7KHVH IXQFWLRQV VKRZ WKH UHODWLRQVKLSV DPRQJ WKH JHQHULF REMHFW +DOIDGn GHU* DQG LWV WZR YHUVLRQV ,W VKRXOG EH QRWHG WKDW 9HUVLRQ1XPEHU LV WKH LGHQWLILHU DVVLJQHG E\ WKH V\VWHP ZKLFK LV XQLTXH ZLWKLQ D YHUVLRQ VHW 7KH XVHUJLYHQ LGHQWLILHU WR WKH JHQHULF REMHFW DQG YDOXHDFTXLUHG E\ LWV YHUVLRQVf DQG V\VWHP DVVLJQHG 9HUVLRQ1XPEHU FDQ XQLTXHO\ LGHQWLI\ DQ\ YHUVLRQHG REMHFW 7KH UHIHUHQFHV WR VXUURJDWH DV XVHG LQ WKLV H[DPSOH DUH QRW PDQGDWRU\ +DOIDGGHU9 VWDUWV LQ WKH WUDQVLHQW VWDWH DQG DIWHU VRPH PRGLILFDWLRQV LW FDQ EH SURPRWHG WR WKH VWDEOH VWDWXV $W WKLV SRLQW D GHVLJQHU KDV DOO WKH FRQVWLWXHQW REMHFWV QHHGHG WR GHILQH WKH LQWHUQDO DVVHPEO\ RI $GGHU6OLFH9O ,W FDQ EH GRQH E\ WKH IROORZLQJ LQVWDQWLDn WLRQV $6&RQWDLQV $GGHU6OLFH9Of +DOIDGGHU9O +DOIDGGHU9 25JDWH* $6&RQQHFWO $GGHU6OLFH9O +DOIDGGHU9O +DOIDGGHU9f 6L %O $6&RQQHFW $GGHU6OLFH9O +DOIDGGHU9O 25JDWH*f &O ,, $6&RQQHFW $GGHU6OLFH9O +DOIDGGHU9 25JDWH*f &O $6/LQNO $GGHU6OLFH9O ;f +DOI$GGHU9O $ $6/LQNO $GGHU6OLFH9O
PAGE 128

$6/LQNO $GGHU6OLFH9O =f +DOIDGGHU9 6L $6/LQN $GGHU6OLFH9O &2f 25JDWH* 7KHVH IXQFWLRQV FRPSOHWHO\ GHVFULEH WKH LQWHUQDO DVVHPEO\ RI $GGHU6OLFH9O ,W VKRXOG EH QRWHG WKDW LW PDNHV VSHFLILF UHIHUHQFHV WR +DOI$GGHUV EXW D JHQHULF UHIHUHQFH WR 25JDWH 7KLV JHQHULF UHIHUHQFHG FDQ EH GHUHIHUHQFHG WR DQ\ YHUVLRQ LQVWDQFH RI 25JDWH* WKDW LV GHVLJQDWHG DV WKH GHIDXOW YHUVLRQ $GGHU6OLFH9O FDQ EH SURPRWHG WR WKH VWDEOH VWDWXV SURPRWH $GGHU6OLFH9O $GGHU6OLFH9O LV D VWDEOH YHUVLRQ LW FDQQRW EH XSGDWHG EXW IRU HTXLYDOHQFH PRGLILFDWLRQ DQG FKDQJHV LQ LWV 'V DWWULEXWHV WKDW DUH FDWHJRUL]HG DV QRQYHUVLRQVLJQLILFDQW )RU LQVWDQFH ZH FDQ XSGDWH LWV 'HVLJQHU IXQFWLRQ 'HVLJQHU $GGHU6OLFH9Of &KDQJ +RZHYHU LWV LQWHUQDO DVVHPEO\ EHLQJ YHUVLRQVLJQLILFDQW FDQQRW EH PRGLILHG LQ WKH VWDEOH VWDWH ,I WKH GHVLJQHU ZDQWV WR H[SHULPHQW ZLWK DQ HQWLUHO\ GLIIHUHQW YHUVLRQ KH QHHGV WR FUHDWH D QHZ YHUVLRQ IURP WKH JHQHULF REMHFW $GGHU6OL FH* ,Q WKLV H[DPSOH WKLV QHZ YHUVLRQ FRUUHVSRQGV WR )LJXUH f ,W LV GRQH E\ WKH IROORZLQJ GHFODUDWLRQV 8VHU7\SH DGGHUVOLFHZE VXEW\SH RI DGGHUVOLFHEE 1HZ IXQFWLRQV FDQ EH GHILQHG RQ WKLV W\SH IXQFWLRQ $61&RQWDLQVDGGHUVOLFHZEf f§rf [RUJDWHEE [RUJDWHEE RUJDWHEE DQGJDWHEE DQGJDWHEE DQGJDWHEE IXQFWLRQ $61&RQQHFWO DGGHUVOLFHZE [RUJDWHEE [RUJDWHEEf f§ WHUPLQDO WHUPLQDO! IXQFWLRQ $61&RQQHFW DGGHUVOLFHZE RUJDWHEE DQGJDWHEEf f§

PAGE 129

WHUPLQDO WHUPLQDO! IXQFWLRQ $61/LQNO DGGHUVOLFHXcE DQGJDWHEEf f§ WHUPLQDO WHUPLQDOA IXQFWLRQ $61/LQN >DGGHUVOLFHZE [RUJDWHEEff§rf WHUPLQDO WHUPLQDOV IXQFWLRQ $61/LQN DGGHUVOLFHZE RUJDWHEEff§ WHUPLQDO WHUPLQDO! ^ $61&RQWDLQ $61&RQQHFWO $61&RQQHFW $61/LQNO $61/LQN $61/LQN ` ( /$ $ QHZ YHUVLRQ RI WKLV W\SH FDQ EH FUHDWHG E\ WKH IROORZLQJ FRPPDQG &UHDWH LQVWDQFH RI W\SH DGGHUVOLFHZE YHUVLRQ RI $GGHU6OLFH* /HW WKH VXUURJDWH RI WKH YHUVLRQHG REMHFW UHWXUQHG E\ WKLV RSHUDWLRQ EH $GGHU6OLFH9 7KH V\VWHP XSGDWHV WKH IROORZLQJ IXQFWLRQV *HQHULF,QVW$GGHUVOLFH9f $GGHU6OLFH* 6f ,QLWLDO9HUVLRQV$GGHU6OLFH*f ^ $GGHU6OLFH9O $GGHU6OLFH9` 6f 9HUVLRQ6HW$GGHU6OLFH*f ^ $GGHU6OLFH9O $GGHU6OLFH9` 6f 9HUVLRQ1XPEHU$GGHU6OLFH9f 6f &UHDWLRQ7LPH$GGHU6OLFH9f 6f 9HUVLRQ6WDWXV$GGHU6OLFH9f 7UDQVLHQW 6f $OVR E\ YLUWXH RI YDOXHDFTXLVLWLRQ WKH IROORZLQJ UHVXOWV ZLOO EH UHWXUQHG E\ WKH IXQFWLRQV LQKHULWHG E\ $GGHU6OLFH9 $61DPH $GGHU6OLFH9f $GGHU6OLFH $6,QSXW $GGHU6OLFH9f ^; < &O ` $62XWSXW $GGHU6OLFH9f ^ = &2 ` 7KH QH[W VWHS ZRXOG EH WR GHILQH WKH LQWHUQDO VWUXFWXUH RI WKH KLJKHVW OHYHO IRU WKH SXUSRVH RI WKLV H[DPSOHf REMHFW $GGHU* DV LW KDV LWV FRPSRQHQWV DQG WKHLU YHUVLRQV FRPSOHWHO\ GHILQHG +RZHYHU ZH VWRS RXU H[DPSOH DW WKLV SRLQW

PAGE 130

:H KDYH LOOXVWUDWHG VRPH RI WKH LPSRUWDQW DVSHFWV RI WKH PHWKRGRORJ\ GHYHORSHG IRU YHUVLRQ FRQWURO DQG PDQDJHPHQW LQ &KDSWHU ,Q WKH H[DPSOH JLYHQ KHUH WKH GHWDLOV RI IXQFWLRQ GHFODUDWLRQV DQG LQVWDQWLDWLRQV ZHUH SHUKDSV D OLWWOH GLVn WUDFWLQJ +RZHYHU WKHVH GHWDLOV ZHUH QHFHVVDU\ DV ZH FKRVH D ZHOOXQGHUVWRRG UHDO ZRUOG REMHFW IRU WKLV H[DPSOH 7KLV VKRZHG WKH YDOLGLW\ DQG WKH XVHIXOQHVV RI WKH SURSRVHG PHWKRGRORJ\ IRU YHUVLRQLQJ

PAGE 131

5()(5(1&(6 >$JU@ $JUDZDO 5 %RUJLGD $ DQG -DJDGLVK + 9 n(IILFLHQW 0DQDJHPHQW RI 7UDQVLWLYH 5HODWLRQVKLSV LQ /DUJH 'DWD DQG .QRZOHGJH %DVHV 3URF $&06,*02' &RQ` 3RUWODQG 25 f >%DW@ %DWRU\ 6 DQG %XFKPDQQ $ 3 0ROHFXODU 2EMHFWV $EVWUDFW 'DWD 7\SHV DQG 'DWD 0RGHOV $ )UDPHZRUN 3URF 9/'% &RQ` 6LQJDSRUH f >%DW@ %DWRU\ 6 DQG .LP :0RGHOLQJ &RQFHSWV IRU 9/6, &$' 2EMHFWV $&0 72'6 YRO QR S f >%HH@ %HHFK DQG 0DKERG % *HQHUDOL]HG 9HUVLRQ &RQWURO LQ DQ 2EMHFW 2ULHQWHG 'DWDEDVH ,((( &RQ` RQ 'DWD (QJLQHHULQJ /RV $QJHOHV &$ f >%HQ@ %HQQHW $ 'DWDEDVH 0DQDJHPHQW 6\VWHP IRU 'HVLJQ (QJLQHHUV WK 'HVLJQ $XWRPDWLRQ &RQ` 1HZ %XF@ %XFKPDQQ $ 3 DQG &HOLV & 3 $Q $UFKLWHFWXUH DQG 'DWD 0RGHO IRU &$' GDWDEDVHV 3URF 9/'% &RQ` 6WRFNKROP 6ZHGHQ f >&DU@ &DUH\ 0 'H:LWW 5LFKDUGVRQ ( DQG 6KHNLWD ( 2EMHFW DQG )LOH 0DQDJHPHQW LQ WKH (;2'86 ([WHQVLEOH 'DWDEDVH 6\VWHP 3URF 9/'% &RQ` .\RWR -DSDQ f >&,@ &KRX +7 DQG .LP : $ 8QLI\LQJ )UDPHZRUN IRU 9HUVLRQ &RQWURO LQ D &$' (QYLURQPHQWn 3URF 9/'% &RQ` .\RWR -DSDQ f >(DV@ (DVWPDQ & 0 6\VWHP )DFLOLWLHV IRU &$' 'DWDEDVHV 3URF 'HVLJQ $XWRPDWLRQ &RQ` :DVKLQJWRQ '& f >(PRO (PRQG & DQG 0DUHFKDO $ FRPSXWHU $LGHG'HVLJQ 6\VWHP %DVHG 2Q $ 5HODWLRQDO '%06 $&0 6,*02',((( (QJLQHHULQJ 'HVLJQ $SSOLFDWLRQV $WODQWD *$ f >)LV@ )LVKPDQ + n,ULV $Q 2EMHFW2ULHQWHG 'DWDEDVH 0DQDJHPHQW 6\VWHP $&0 722,6 YRO QR S f >*RW@ *RWR 6 $GYDQFHV LQ &$' 'HVLJQ 0HWKRGRORJLHV 1RUWK+ROODQG 1HZ +DU@ +DUGHU 7 0H\HU:HJQHU 0LWVFKDQJ % DQG 6LNHOHU $ n35,0$ $ '%06 3URWRW\SH 6XSSRUWLQJ (QJLQHHULQJ $SSOLFDWLRQV 3URF 9/'% &RQ` %ULJKWRQ 8 f

PAGE 132

>,RD@ ,RDQQLGLV < ( DQG 5DPDNULVKQDQ 5 2Q WKH &RPSXWDWLRQ RI WKH 7UDQVLWLYH &ORVXUH $OJRULWKP 3URF 9/'% &RQ` /RV $QJHOHV &$ f >-DJ@ -DJDGLVK + 9 $ &RPSUHVVHG 7UDQVLWLYH &ORVXUH 7HFKQLTXH IRU (IILFLHQW )L[HG3RLQW 4XHU\ 6\VWHP 3URF ([SHUW 'DWDEDVH 6\VWHPV 7\VRQV &RUQHU 9LUJLQLD f >-RK@ -RKQVRQ + 5 DQG 6FKZHLW]HU ( $ '%06 IDFLOLWLHV IRU +DQGOLQJ 6WUXFWXUHG (QJLQQHULQJ (QWLWLHV $&0,((( (QJLQHHULQJ 'HVLJQ $SOLFD WLRQV $WODQWD *$ f >.DW@ .DW] 5 + $ 'DWDEDVH $SSURDFK IRU 0DQDJLQJ 9/6, 'HVLJQ 'DWD 3URF RI WK 'HVLJQ $XWRPDWLRQ &RQ` /DV 9HJDV f >.DW@ .DW] 5 /, ,QIRUPDWLRQ 0DQDJHPHQW IRU (QJLQHHULQJ 'HVLJQ 6SULQJHU 9HUODJ 1HZ ,YDW@ .DW] 5 &KDQJ ( DQG %KDWHMD 5 n9HUVLRQ 0RGHOLQJ &RQFHSWV IRU &RPSXWHU$LGHG 'HVLJQ 'DWDEDVHV 3URF $&0 6,*02' &RQI :DVKn LQJWRQ & f >.HWD@ .HWDEFKL 0 $ DQG %HU]LQV 9 $Q 2EMHFW2ULHQWHG 6HPDQWLF 'DWD 0RGHO IRU &$' $SSOLFDWLRQV ,QIRUPDWLRQ 6FLHQFHV YRO QR S f >.HWE@ .HWDEFKL 0 $ DQG %HU]LQV 9 n0DWKHPDWLFDO 0RGHO RI &RPSRVLWH 2EMHFWV DQG ,WV $SSOLFDWLRQ IRU 2UJDQL]LQJ (QJLQHHULQJ 'DWDEDVHV ,((( 7UDQV RQ 6RIWZDUH (QJLQHHULQJ YRO QR S f >.LP@ .LP : &KRX +7 DQG %DQHUMHH 2SHUDWLRQV DQG ,PSOHPHQWDWLRQ RI &RPSOH[ 2EMHFWV 3URF RI 'DWD (QJLQHHULQJ &RQI /RV $QJHOHV &$ f >.LP@ .LP : %HUWLQR ( DQG *DU]D ) &RPSRVLWH 2EMHFW 6XSSRUW 5HYLVLWHG 3URF $&06,*02' &RQI 3RUWODQG 25 f >.OD@ .ODKROG 3 DQG 6FKODJHWHU $ *HQHUDO 0RGHO IRU 9HUVLRQ 0DQDJHn PHQW LQ 'DWDEDVHV 3URF RI 9/'% &RQI .\RWR -DSDQ f >/DQ@ /DQGLV 6 n'HVLJQ (YROXWLRQ DQG +LVWRU\ LQ DQ 2EMHFW2ULHQWHG &$'&$0 'DWDEDVH ,((( &203&21 6DQ )UDQFLVFR &$ f >/RU@ /RULH 5 $ n,VVXHV LQ 'DWDEDVHV IRU 'HVLJQ $SSOLFDWLRQV )LOH 6WUXFWXUHV DQG 'DWDEDVHV IRU &$' ,),3 &ROXPEXV 2+ f >/RU@ /RULH 5 $ DQG 3ORXIIH : &RPSOH[ 2EMHFWV DQG 7KHLU 8VH LQ 'HVLJQ 7UDQVDFWLRQV $&0 6,*02',((( (QJLQHHULQJ 'HVLJQ $SSOLFDWLRQV 6DQ -RVH &$ f

PAGE 133

>0F/@ 0F/HRG DQG 5DR 9 $Q $SSURDFK WR ,QIRUPDWLRQ 0DQDJHPHQW IRU &$'9/6, $SSOLFDWLRQV $&0 6,*02',((( (QJLQHHULQJ 'HVLJQ $SSOLFDWLRQV 6DQ -RVH &$ f >0HL@ 0HLHU $ DQG /RULH 5 $ $ 6XUURJDWH &RQFHSW IRU (QJLQQHULQJ 'DWDn EDVHV 3URF RI 9/'% &RQI 9HQLFH ,WDO\ f >1DY@ 1DYDWKH 6 % DQG $KPHG 5 7HPSRUDO $VSHFWV RI 9HUVLRQ 0DQDJHn PHQW ,((( 'DWD (QJLQHHULQJ 6SHFLDO ,VVXH YRO QR S f >1HX@ 1HXPDQQ 7 2Q 5HSUHVHQWLQJ WKH 'HVLJQ ,QIRUPDWLRQ LQ D &RPPRQ 'DWDEDVH $&0,(( (QJLQHHULQJ 'HVLJQ $SSOLFDWLRQV 6DQ -RVH &$ f >5REO@ 5REHUWV $ %DNHU 7 ( DQG -HURPH + $ 9HUWLFDOO\ 2UJDQL]HG &RPSXWHU$LGHG 'HVLJQ 'DWDEDVH 3URF WK 'HVLJQ $XWRPDWLRQ &RQI %RVWRQ 0$ f >6FK@ 6FKNROQLFN 0 $ &OXVWHULQJ $OJRULWKP IRU +LHUDUFKLFDO 6WUXFWXUHV $&0 7UDQV RQ 'DWDEDVH 6\VWHPV YRO QR S f >6FK@ 6FKXEHUW 0 $ 3DSDODVNDULV 0 $ DQG 7DXJKHU n'HWHUPLQLQJ 7\SH 3DUW &RORU DQG 7LPH 5HODWLRQVKLSV ,((( &RPSXWHU YRO QR S f >6WR@ 6WRQHEUDNHU 0 5XEHQVWHLQ % DQG *XWWPDQ $ $SSOLFDWLRQ RI $EVWUDFW 'DWD 7\SHV DQG $EVWUDFW ,QGLFHV WR &$' 'DWDEDVHV $&0 6,*02',((( (QJLQHHULQJ 'HVLJQ $SSOLFDWLRQV 6DQ -RVH &$ f >6X@ 6X 6 < : .ULVKQDPXUWK\ 9 DQG /DP + $Q 2EMHFW2ULHQWHG 6HPDQWLF $VVRFLDWLRQ 0RGHO 26$0rf $, LQ ,QGXVWULDO DQG 0DQXIDFWXUn LQJ 7KHRUHWLFDO ,VVXHV DQG $SSOLFDWLRQV 6 .XPDUD 5 / .DVK\DS DQG $ / 6R\VWHU (GVf $PHULFDQ ,QVWLWXWH RI ,QGXVWULDO (QJLQHHUV 1HZ :LH@ :LHGHUKROG %HHWDP $ ) DQG 6KRUW ( $ 'DWDEDVH $SSURDFK WR &RPPXQLFDWLRQ LQ 9/6, 'HVLJQ ,((( 7UDQV RQ &$' RI ,&6 YRO QR S f

PAGE 134

%,2*5$3+,&$/ 6.(7&+ *LYHQ D FKRLFH 5DIL $KPHG ZRXOG OHDYH WKLV SDJH EODQN WR VLJQLI\ WKH LQDQLW\ RI OLIH %XW WKLV ELRJUDSKLFDO VNHWFK EHLQJ D FDWHJRULFDO LPSHUDWLYH IROORZV +H ZDV ERUQ LQ 0X]DIIDUSXU ,QGLD ZKHUH KH VWXGLHG PDWKHPDWLFV DQG IRXQG VRODFH LQ ORJLFDO HPSLULFLVP $W WKH 8QLYHUVLW\ RI )ORULGD KH JRW D PDVWHUfV GHJUHH LQ FRPSXWHU DQG LQIRUPDWLRQ VFLHQFHV ,Q WKH \HDUV WKDW IROORZHG KH SXUVXHG KLV GRFn WRUDO GHJUHH ZKLOH VSHQGLQJ KLV WLPH LQ UHVHDUFK WHDFKLQJ DQG ZRUNLQJ ZLWK WKH LQGXVWU\ +H OLNHV FRPSXWHUV FRPSXWDWLRQ FODVVLFDO PXVLF FKHVV WHQQLV DQG WKH UDWLRQDO H[SODQDWLRQ RI WKLV XQLYHUVH

PAGE 135

, 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\ 6KDPNDQW % 1DYDWKH &KDLUPDQ 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 'RFWRU RI 3KLORVRSK\ 6WDQOH\ < : 6L 3URIHVVRU RI &RLLSXWHU 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 'RFWRU RI 3KLORVRSK\ 6KDUPD &KDNUDYDUWKY $VVRFLDWH 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFHV FHUWLI\ WKDW KDYH _UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RIV KRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ I 3UDEKDW +DMHOD $VVRFLDWH 3URIHVVRU RI $HU H RI 'RFWRU RI 3KLORVRSK\ SDFH (QJLQHHULQJ 0HFKDQLFV DQG (QJLQHHULQJ 6FLHQFHV

PAGE 136

, 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\ 5DYL 9DUDGDUDMDQ $VVLVWDQW 3URIHVVRU RI &R SXWHU DQG ,QIRUPDWLRQ 6FLHQFHV 7KLV GLVVHUWDWLRQ ZDV VXEPLWWHG WR WKH *UDGXDWH )DFXOW\ RI WKH &ROOHJH RI (QJLQHHULQJ DQG WR WKH *UDGXDWH 6FKRRO DQG ZDV DFFHSWHG IRU SDUWLDO IXOILOOPHQW RI WKH UHTXLUHPHQWV RI WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ 'HFHPEHU A:LQIUHG ;E3KLOOLSV 'HDQ &R4HJH RI (QJLQHHULQJ 0DGHO\Q 0 /RFNKDUW 'HDQ *UDGXDWH 6FKRRO

PAGE 137

81,9(56,7< 2) )/25,'$


28
face properties. Also, as shown in Figures 3-3 and 3-5, only the external features
(which include the interface properties) of a constituent object are visible to its com
posite object or to the external world.
Figures 3-7 and 3-8 show the interface and the internal assembly of half
adder. Half-adder contains an AND-gate and an XOR-gate, which are again
assumed to be primitive objects. The internal assembly of Figure 3-7 does not have
any interconnection attributes.
Adder forms the root of composition aggregation hierarchy, which has
three levels. The first level contains adder-slices. The second level has half-adders
and OR-gate. The leaves of the hierarchy are given by AND-gates and XOR-gates.
Figure 3-6 shows an alternative design of the internal assembly of adder-slice; in this
design, the aggregation hierarchy of adder has only twTo levels.
3.3 Modeling Composite Objects
In this section, we present intensional and extensional descriptions of
adder-slice using the constructs defined in Chapter 2. An identifier that starts with a
lower case letter denotes a type and an identifier that starts with an upper case letter
are instances of some type. This convention has been adopted here just for conveni
ence and comprehensibility. We allow any legal identifier. In the function
definitions, two key letters, "u" and "m", are used to signify that the function returns
unique- or multi-valued results.
We assume that the following types have been declared: adderslice, hal
fadder, orgate, xorgate, andgate and terminal. All but terminal are design objects.
The following functions are defined on these type to model the composite object,
addersilce.


11
primarily treated as a sequence of bytes, this technique does not appear to be suitable
for storing highly structured composite and constituent objects.
Ketabchi and Berzins introduce a clustering concepts called component
aggregation which considers assemblies having the same type of parts as equivalent
objects [Ket88b]. They develop a mathematical model which treats equivalence
classes as a form of Boolean algebra. However, the technique proposed in this work
does not group objects in useful and meaningful partitions; insertion and deletion
algorithms are not discussed.
Harder et al. describe the Molecule-Atom data model, aimed at the sup
port of engineering applications [Har87]. Their database kernel provides a variety of
access path structure, tuning mechanism, sort order, and some rudimentary notions
of atom clustering with variable size pages and storage redundancy.
Almost all reported work that is germane to present investigation has
been reviewed here. The point that emerges from the foregoing discussion is that
there is a clear lack of cohesion among different schemes, and that some methodolo
gies have been proposed without a concrete underlying data model. This dissertation
addresses all aspects of this problem and provides feasible solutions within an under
lying data model.


CHAPTER 7
DESIGN IN A COOPERATIVE CAD ENVIRONMENT
The objective of this chapter is to generalize the ideas discussed in
Chapter 4 and describe protocols for maintenance, evolution, and validation of ver
sions for a distributed CAD environment. Design is usually a result of integrated
efforts of a group of designers. The nature of data sharing in design applications is
different from conventional databases. The schema of design objects and validated
versions are shared by databases of several design projects. The data in a design pro
ject are shared by the designers of the project. The design versions being experi
mented with and manipulated by a designer should not be shared by other designers.
Moreover, a designer may begin a transaction which involves large amounts of data
and may persist for a long period of time. Consequently, transaction in design appli
cations cannot be considered as a unit of recovery, as in conventional databases
management systems, interference among concurrent transaction is avoided by lock
ing and timestamping. However, conventional techniques for transaction manage
ment cannot be used in design applications, as the volume of data involved and the
duration of transactions are considerably greater.
To allow consistent versioning of design objects, to provide an efficient
and secure transaction management, to manage large numbers of complex constraints
involved in design databases, and to provide an environment conducive to sharing,
evolution and testing of design objects, we propose a system architecture for design
environment. The architecture for CAD databases is often envisioned as a a collec
tion of hierarchically organized private, project and public databases [Cho86,
Buch85]. Versions of different characteristics and capabilities reside in different
92


78
for efficient support of PCT and ST operations. It should be noted that B.v3 can be
referenced in the future only by the versions belonging to the object A. Similar
situation can also occur by frequent modifications of reference from one equivalent
version to other. This scheme can eliminate the dispersed storage of related objects
and efficient execution of TT, ST and PCT can be ensured.
The foregoing discussion attempted to demonstrate the necessity of phy
sically clustering the members of a version set on the physical storage. This forms
the second unit of clustering.
Identifying and accessing all the immediate constituents of a given object
is an activity that occurs quite frequently in design databases. A composite object is
defined in terms of its constituents. All constituents of a design objects are often
accessed by the same transaction in order to explore them, or to examine whether
they are complete and/or consistent, or to run validation test on them. This pro
vides a motivation for storing sibling constituent objects close to one another on disk.
This gives the third unit of clustering.
In Chapter 3, we gave some rules for building a composite object hierar
chy. In Chapter 4, the basic requirements of versioning were discussed. It was
observed that adding the dimension of versioning to a composite object hierarchy
transforms it into a directed acyclic graph (DAG). Since in the versioning scheme, a
constituent object can have more than one parent objects belonging to the same ver
sion set, the strict hierarchical property of ICG (Definition 2.12) is lost.
We noted earlier that TT and ST are frequently used operations in
design databases. However, any traversal of a DAG cannot maintain the property of
unintervened sequential access to all its child nodes, since a child node may belong to
more than one parent and thus can be placed only in one set of siblings. A com
parison of DAG and hierarchy traversals is discussed in the next section.


112
function ADName (adderbb) charstring u
function Designer (adderbb) charstring
function ADInput (adderbb) terminal u, m
function ADOutput (adderbb) terminal u, m
The above functions define Name, Design, and interface of the type
object of Adder. The user-defined type has no supertvpe or subtype at this stage.
The functions declared here belong to different classes. Thus, they must be categor
ized as such.
{ .ADName } £ Dsl
{ Designer } E Ds~
{ ADInput, ADOutput } E IF
Ds and Ds~ stand for descriptive attributes and IF stands for interface
properties. It should be noted that different constraints can be imposed on the upda-
tability of the function classes IF, Ds Ds Z4, etc. Functions declared as instances
(members) of these classes inherit those constraints and thus can characterize invari
ant, version-significant, and nonversion-significant properties of objects. The
interrelationship between these classes of functions and the above-mentioned three
categories are illustrated in Figures 4-2, 4-3, and 4-4.
Now the designer can declare an object instance of type adderbb, which
can be designated as a generic object by declaring it as an instance of type Generic.
Addlnstance AdderG to type adderbb-,
Addlnstance AdderG to type Generic,
AdderG is a surrogate for an instance of adderbb. This is also a generic
object. Having created Adderl, the designer can now "instantiate" its functions as
follows. (Instantiation of functions here refers to providing their range and domain
values.)


84
tion preserves the three properties discussed earlier. The subtree is assumed to be
ordered in SRDF sequence.
Procedure Insert_SRDF (R, A, B);
BEGIN
IF A has no child and A = R THEN
Insert the subtree rooted at B after A;
IF A has one or more children THEN
Insert the entire subtree rooted at B immediately
after the last child of A;
IF A has no child and A ^ R THEN
Find parent P of A and insert the subtree rooted
at B immediately after the last child of P:
END.
To show the correctness of the above algorithm, we observe that the
insertion was required to be made at only one location. Hence, the third criterion is
satisfied. To show that SRDF insertion algorithm ensures that all children are placed
after the parent without any intervening nodes between the siblings, we consider
each of three conditional statements in the algorithm. In the simplest case, when A
has no children and it is a root node, the subtree rooted at B is inserted after A and
thus B, the only child of A, follows A. If A has existing children, then the subtree
rooted at B is placed immediately after the last child of A; thus B follows A and it is
stored next to its sibling without any intervening node. Furthermore, the subtree
does not intervene between other siblings of B, as it is inserted after all its siblings.
Similarly, if A has no child but has a parent, then B is inserted immediately after all
the children of As parent, and the same argument as above applies. However, it
should be pointed out that for efficient insertion the subtree is not inserted in the
reverse order of the descendents of As siblings, but simply inserted after all its
siblings. This nonetheless maintains the SRDF sequence. To show that this insertion
algorithm maintains the sequence of the descendent of any given node unintervened
by any nodes that are not the descendent of the given node, it is observed that the
insertion preserves the clustering sequence of siblings and since the descendents of B


6 A STORAGE STRATEGY FOR VERSIONED COMPOSITE
OBJECTS 74
6.1 Design Database Operations 75
6.2 Units of Clustering 76
6.3 Traversal of Hierarchies 80
6.4 Physical Organization of Composite Objects 86
7 DESIGN IN A COOPERATIVE CAD ENVIRONMENT 92
7.1 A CAD Architecture 93
7.2 Operations on Versions in Distributed Environment 97
7.3 Dynamic and Static Bindings in Distributed Enviroment 101
7.4 Requirements for Notification 102
8 CONCLUSION 108
8.1 Major Results 108
8.2 Future Research Directions 109
APPENDIX Ill
REFERENCES 124
BIOGRAPHICAL SKETCH 127
v


99
experiment with it can use RCheckin operation. The disadvantage with deriving
other version from it and using Checkin operation is that the IA properties of the
versions that reference it have to be reassigned. Moreover, its version in the project
database can be modified. An example should illustrate the point. Consider a
private database that has a versioned object A.vl that references a constituent object
B.v3 in the same database. B.v3 is a stable version and the designer would like the
version to be shared by designers on the project; however, it is also needed for the
tests being run on A.vl. If replicas are not allowed, the only alternative is to derive
a version B.v4 (say) from B.v3, promote it to stable status and invoke Checkin opera
tion to install it in the project database. However, when the designer is done with
the testing, he/she has to delete B.v3 and modify the references to B.v3 by B.v4 in
A.vl. However, there is no guarantee that B.v4 exists and that it has not been
modified. If a replica is allowed, the designer can delete its replica in the private
database without having to update the references in A.vl, as replicas have the same
object identifier and the same version number. This also guarantees that the B.v3
replica remains unmodified. This strategy reduces considerable overhead and make
testing more efficient.
Existence of a replica precludes updates of any kind on it. Therefore,
modification is disallowed on versions with replica. This provides a facility for ensur
ing that a version is not modified in the project database. If a modification is con
sidered essential in the private database, a new version can be derived from it and
modifications can be incorporated there. Any version that resides in a private or pro
ject database can be deleted. A deletion of a version that has been replicated
requires a notification to its replica. Notification protocol is the topic of a subsequent
section. A Checkin operation will also be disallowed on versions with a replica, as it
is redundant.


95
objects. The reason for this constraint is that transient versions can be derived in
project databases from validated versions; if this constraint is not imposed, a design
object can reference versions in databases to which it is not allowed to have direct
access.
The public database contains immutable, completed and validated design
objects, which can be used by other design objects. This scheme provides efficient
browsing and retrieval operations.
7.1.3 Project Database
Project databases serve as a repository of stable versioned objects, which
are experimented with and shared by the designers of the project. The final phase of
testing and validation is performed in project databases by the project administrator.
After successful testing, a stable version can be promoted and transferred to the pub
lic database as a validated version. Sophisticated constraint management, applica
tion programs, simulations, and concurrency control systems are needed for project
databases.
The designers of a project, working in their private databases, can share
and access data residing in the project database. They can copy a version residing in
the project database to their private databases by a Checkout operation, modify and
test it, and reinstall it to the project database by the Checkin operation. A project
database, however, is not accessible to other designers, as shown in Figure 7-1.
A version is called complete (Definition 2.12), if all its references are
bound to constituent objects that reside in databases accessible from it. Versioned
objects in a project database must not be incomplete.
It is required that all versions referenced by a stable version in a project
database must be either stable or validated and must reside in the same database or
in the public database. This scheme ensures that a checked-out version (from a


83
The sibling-reverse-depth-first traversal of the hierarchy shown in Figure
6-3 is given below.
SRDFT: ABCDOPQRMNEFGKLHIJ
In SRDF traversal, all children are visited immediately after a parent
node is visited in order to impose a sequential clustering on the siblings; this is fol
lowed by a recursive application of this traversal on the child nodes in the reverse
order; that is, the child that was visited last is chosen for the access of its descen-
dents first. This ensures that for at least one node of each set of siblings, the descen-
dents can be accessed without any intervening nodes. The SRDF traversal, as can be
easily seen, meets the first and the second criteria. The idea behind this traversal is
that if after having visited all child nodes, a designer accesses a descendent of the
given node, then he/she is most likely to visit all the descendents of a child node
before switching to the descendents of some other sibling node. Therefore, this
traversal imitates the depth-first traversal to some extent. To investigate the effect
of an insertion, the SRDF traversal of the resulting hierarchy is given below after the
above mentioned insertion.
SRDFT: ABCDa^^^OPQRMNEFGKLHIJ
In SRDF traversal, an insertion of a subtree produces a minimal restruc
turing of the existing sequential order of a stored hierarchy. The subtree is already
stored in SRDF sequence and its sequential order remains intact; the insertion takes
place at a single location in the existing hierarchy. Therefore, the proposed SRDF
traversal appears to be comparatively better than the two traversal schemes, as it
meets all the three requirements. In the following, we give an insertion algorithm for
SRDF traversal and show its correctness. The algorithm gives the procedure for
inserting a subtree rooted at B under node A of a hierarchy rooted at R. The inser-


117
ASName (AdderSlice.Vl) := "Adder-Slice";
ASInput (AdderSlice.Vl) := { X, Y, Cl };
ASOutput (AdderSlice.Vl) := { Z, CO };
It should be recalled that AdderSlice.Vl inherits the function Designer
from its generic object, but this is categorized as noninvariant Ds ; thus, it can be
updated at the version level.
Designer(AdderSlice.Vl) := "Ostrominsky";
In order to fully describe the internal assembly of AdderSlice.Vl, the
designer will need the version instances of HalfAdderG. Thus, a version of HalfAd-
derG is created on the similar lines as shown for the case of AdderSliceG.
User-Type: halfadderwbl subtype of halfadderbb;
User-Type: xorgatebb, andgatebb
Following functions are defined on halfadderwbl.
function HContains (halfadderwbl) *
function HLinkl (halfadderwbl, terminal) m
function HLink2 (halfadderwbl, terminal) * < andgatebb, terminal> m
It should be noted that this internal assembly does not have interconnec
tion properties.
Create instance of type halfadderwbl version of HalfadderG;
Create instance of type halfadderwbl version of HalfadderG;
These creates a new object which is an instance of halfadderwbl; it is
also given the system-defined type Versioned. HalfAdderG is its generic object; thus,


46
3. Concurrent access is allowed on them.
4. New versions can be derived from them.
Stable versions have the following characteristics:
1. Their version-significant attributes cannot be modified subject to the exception
of equivalence modification.
2. Nonversion-significant attributes can be modified.
3. New versions can be derived from stable versions.
4. Concurrent access is provided on them.
Transient versions have the following characteristics:
1. All noninvariant attributes of a transient versions can be modified.
2. All newly created and derived versions begin in the transient state.
3. New versions cannot be derived from them.
The following table summarizes the updatability of versions in the three
states.
Invariant
Version
significant
Nonversion
significant
Transient
No
Yes
Yes
Stable
No
No *
Yes
Validated
No
No
No
* Subject to the exception of equivalence modification
Table 4-1
Since in this model automatic generation of versions are disallowed,
modifications in the version significant attributes of an object can be achieved by
deriving a new version, which is a copy of the given version object, in transient state
and performing the modifications on this version. Four operations and their detailed
protocols are discussed below.


109
It was observed that the generalization and composition graphs, inter
depend upon each other. The analysis of the algorithms developed for maintaining
consistency demonstrated an enhanced performance when stored, rather than the
dynamically computed, transitive closure of these graphs are used. The trade-off it
provides far outweighs the space requirement of the interval labeling technique for
transitive closure relations.
The problem of an efficient organization of design data, with its hierarch
ical structure compounded by the versioning dimension, was ostensibly intractable.
We presented a detailed scheme that determines an optimal storage organization
based on significant units of clustering and expected frequency of retrieval and
update operations.
This dissertation presented well-defined formalisms, which provide con
sistent and coherent paradigms for version management in design databases.
8.2 Future Research Directions
In this section, we point out the directions for the future research in this
area. There are several issues in computer-aided design, which have not attracted
much attention from the investigators.
First of these issues is transaction management in design databases. The
conventional model of transaction is based on the notions of serializability and atomi
city. This model has served conventional data processing application well. However,
it is not applicable to CAD environment. Transactions in a CAD environment are of
long duration and represent interactive modifications to a complex design. A CAD
environment requires a significantly different model of transaction, as it must allow a
group of cooperating designers to arrive at a design without waiting over long dura
tion. Thus, a model of CAD transactions are needed to support a design


4
1.3 Review of Related Work
Many recent investigators have recognized the need of database technol
ogy in the CAD applications. The organizations using commercially available con
ventional database management systems have encountered difficulties because con
ventional databases do not have features to deal with unstructured data and different
versions or alternatives of a design, which are required in CAD applications [Got86],
There are essentially three different solutions to these problems:
1. Extending the conventional DBMS by adding new capabilities.
2. Building a layer of software on top of conventional DBMSs to provide the
required features.
3. Developing new database management systems for design applications, which
involves the development of a new data model, new architecture storage stra
tegy and enhanced facilities.
Some of the examples of the first approach were based on the enhance
ment of existing systems. Lori [Lor82] discusses the extensions of system R and
Stonebraker et al. [Sto83] report on the enhancements of INGRES. This approach
requires too extensive an enhancement to make it feasible. Some researchers provide
examples of the second approach, which has some drawbacks [Joh83, Emo83]. The
conventional DBMSs perform poorly in design applications, as they require another
level of transformations for retrieval and manipulation of data. The extensions or
modification of global schema requires major changes to the system. The third
approach also advocates this with several enhancements [Kat85, Kla86, Kim87].


88
of constituent object references. Thus the storage manager must allow for dynamic
reorganization of of storage clusters.
There are several well-known techniques, which can be used in order to
enhance contiguity and minimize the cost of restructuring. The use of relative page
number, offset in the pointer address, for referencing inside a storage cluster can
minimize the cost of updating the pointers, when a data page is moved from one
location to another. The only reorganization cost is updating the corresponding page
table entries; all internal pointers remain valid. Even when a group of objects can
not completely reside on consecutive pages on disk, the allocation policy should
attempt to minimize the physical distance between pages of the corresponding clus
ter. An efficient reorganization of clustered groups remains an important research
area.


45
mutation. There is an important exception to this rule. The replacement of
equivalent versions by one another in the internal assembly functions, though they
are defined to be version-significant, does not cause mutation. This rule provides a
mechanism for effectively controlling unnecessary proliferation of versions. In the
forthcoming discussion, we refer to this update as equivalence modification.
Nonversion-significant attributes of an object can always be modified
without causing any mutation.
The invariant attributes of versioned object cannot be modified at the
version level, since they are value-acquired from the generic object.
The three classes invariant, version-significant and nonversion-significant
can be defined as subtypes of C, and different functions can be accordingly declared
as their members.
4.2.2 Version States and Operatioas
A feature that provides "automatic" generation of a new version on the
modification of version-significant attributes would be quite convenient. However, in
design applications, modifications are rarely atomic; normally, they are batched
updates. For instance, if the component aggregation properties are modified, this can
require modifications in interconnection and correspondence attributes.
In order to provide nonatomic updates and to maintain the constraints of
version-significant and nonversion-significant properties, we stipulate that a versioned
object be in either of the following three states: validated, stable and transient. The
characteristics of these three version states are described below
Validated versions have the following characteristics:
1. No modification is allowed on validated versions.
2. All the constituent references in a validated version must be bound either to
unversioned or other validated versions.


18
Design databases require a facility for defining and manipulating a
hierarchically structured set of objects as a single logical entity. We shall call such
an entity a composite type object, which is defined as a directed acyclic graph where
the nodes with in-degree zero are the types of the highest level composite objects, the
nodes with out-degree zero are the types of primitive objects. The directed edges in
the graph represent the is-part-of/is-composed-of relationship between a composite
object and its constituents. We shall call this graph the composition graph (CG). At
the instance level, the CG is mapped into as many spanning trees, as there are ver
tices with in-degree zero. The instances of composite object are required to be a
strict hierarchy, because of the physical constraint that disallows an object to be a
constituent of two distinct composite objects. Sometime an integrity feature is added
to CG through the notion of existential dependence, which implies that a constituent
object is existentially dependent on its immediate higher level object. We do not
support this notion of existential dependence, as it enforces a top-down design stra
tegy. CG provides a means for supporting the notion of composition. A detailed
discussion of composite objects, since they are an essential aspect of CAD applica
tions, is provided in Chapter 3.
It should be noted that the notions of aggregation or association are
inadequate for modeling this property of composite objects. Composition is an
integral property of design objects. This property is deemed indispensable, as it is
required for materializing physical objects. Therefore, many constraints are imposed
on it; first, its minimum cardinality is always one, which disallows null values in the
constituent information of a design object; second, the maximum cardinality, which
is not allowed to vary, determines the exact number of constituent objects; third,
self-reference is disallowed in this attribute, as it violates the meaningful relationship
between a constituent and its composite object. Also, information is maintained to
answer queries related to transitive closure of composition.


ACKNOWLEDGEMENTS
I wish to express my deep gratitude to my advisor, Dr. Sham Navathe,
for his insightful critique and perspicacious guidance in the course of this work. Over
the long years of our association, I came to highly value his friendship, consul and
erudition. I indeed owe him a great deal.
I am indebted to my supervisory committee members, Dr. Stanley Su,
Dr. Ravi Varadarajan, Dr. Prabhat Hajela, Dr. Sharma Chakravarthy and Dr. Her
man Lam for their time, patience and helpful suggestions.
My sincerest thanks go to Dr. Daniel Fishman of Hewlett-Packard
Laboratories for his constant encouragement and support. This research was par
tially funded with a grant made by him.
I greatly appreciate the unceasing help and assistance provided by Mrs.
Sharon Grant.
As I prepare to bid farewell to my alma mater, I would like to take this
opportunity to thank all those unnamed friends and associates, who contributed in
creating a climate conducive to my academic and nonacademic pursuits.


89
A.vl
A.v2
B.vl B.v4 C.v2 D.v3 B.v3 C.v5
Figure 6-1
A
Figure 6-2


51
of A.vl or A.vl is mutated. Figure 4-7 represents the situation where a replacement
is made in the composition aggregation of A.vl without causing any mutation.
We can summarize these two options as following. One, the designer can
explore different configurations of a composite object by applying equivalence
modifications to its internal assembly, which does cause mutation. Two, the designer
can derive a new version in a transient state and incorporate those changes there;
this option can be used at every level of composition hierarchy. These protocols
allow a controlled update propagation and version proliferation.
4.3 Dynamic Binding and Generic Objects
In a design environment, a facility is frequently desired which allows an
indirect form of addressing, whereby composite objects can make "generic" references
to constituent objects. These references provide dynamic binding, as they may at
some later time be coerced to refer to some specific versions of the object under some
default criteria. The utility of this scheme is clear. A designer may want to take
advantage to the improvements made to an object, and thus by making a generic
references to that object, the designer can use the delayed resolution of the reference
to choose a default version. The other advantage is that a designer can use a generic
reference as a place-holder for some constituent object without any concern for or
commitment to its actual implementation. This is particularly useful in situations
where several designers are working on different divisions of a design.
When a composite object makes reference to a specific version of its con
stituent object, it is said to be statically bound to that version; whereas when the
reference is generic, the composite object is said to be dynamically bound to some
default version of the constituent object. So far, we have discussed only static bind
ing.


5
1.3.1 Treatment of Complex Object and Extension of DBMSs
Several investigators have observed the importance of the concept of
composite objects in CAD databases, and the deficiencies of current databases in sup
porting them. Batory and Buchmann [Bat84] call composite objects "molecular
objects," and develop a framework for modeling these objects. They introduce the
notion of molecular aggregation, which is the abstraction of assemblies of parts and
their relationships to higher level entities. They distinguish four different types of
molecular objects, and provide methods to model objects of each type. They do not
address the physical organization of the database for molecular objects.
Lorie and Plouffe [Lor83] discuss an implementation for objects, which
they call "complex objects". Their central idea is to use internal fields in order to
make the system aware of the hierarchical structure of objects, which allows the sys
tem to operate on a collection of tuples that represents a composite object as a unit.
This idea has been extended by Meier and Lorie through the concepts of surrogates
and implicit hierarchical joins [Mei83]. The implementation suggested in this work
simplifies some important operations that are performed on a composite object as a
whole. As a matter of fact, in their scheme, the whole design database is about one
object, but designers manipulate only the portions of the design object at each stage
of design; therefore, only some of the data that describes the design needs to be
accessed.
Wiederhold et al. address the problem of communication within a VLSI
design and its different representations and hierarchical levels in a multiple designer
environment using commercial database systems [Wie82]. They describe some initial
results of an ongoing project.
Johnson and Schweitzer provide facilities to treat composite objects as
single entities that they call "structure" [Joh83], They propose a three-level modeling


37
Sum
Carry
n
Sum
Carry
Figure 3-8


68
2. For the addition of a new nontree arc (i, j), the intervals associated with j will
have to be added to node i and all its predecessors. If any of the intervals being
added to a node contains its postorder number, then there is a cycle. Moreover,
if the new interval is subsumed by an interval associated with the node, then
this interval is discarded. If no new interval is added to a node, the effect is not
propagated to its predecessor.
An algorithm for deleting an existing edge in a graph is described below.
For the deletion of a node, all edges that have this node as a head or a tail are
deleted.
1. For the deletion of a tree arc (i, j), take the subtree rooted at j and make it the
child of the virtual root node, renumber the nodes in the subtree by assigning
them numbers greater than L, which is the largest postorder number being
currently used. The postorder number of the virtual node is assumed to be oo.
Update the tree intervals associated with the nodes in this subtree, but retain
the nontree intervals.
2. Modify any nontree intervals that have old postorder numbers by new postorder
numbers. (The new postorder numbers are created by renumbering the nodes of
the subtree in the step I.)
3. If any of the tree predecessor of j in the old graph had a nontree arc coming
into node k of the subtree rooted at j, they inherit the intervals associated with
k.
5.3.2 Complexity of Search, Deletion and Insertion
We present a time analysis of the algorithms given here for the mainte
nance of transitive closure relations. This analysis is based on a proposed data struc
ture for the compression scheme that comprises a collection of list, each of which
contains the node, the postorder numbers of its immediate successors, and a set of


116
function ASLinkl (adderslicewbl, terminal) function ASLink2 (adderslicewbl, terminal) { ASConnectl, ASConnect2, ASLinkl, ASLink2 } £ LA
Given all these types, instances, functions and function instances, the
designer can create a version instance for AdderSliceG, which will have all the infor
mation needed to instantiate it. For this purpose, the operation Create (defined in
Section 4.2.2) can be used.
Create instance of type adderslicewbl version of AdderSliceG;
This creates a new object which is an instance of adderslicewbl; it is also
given the system-defined type Versioned. AdderSliceG is its generic object; thus, it
value-acquires all the results of functions defined on this object and declared as either
IF or Dg1. It should be recalled the user-defined type adderslicebb of the given gen
eric object AdderSliceG is a supertype of adderslicewbl. Let the surrogate of the
instance returned by this operation be Adderslice.Vl. The system will update the
following functions. "(S)" signifies action taken by the system.
GenericInst(Adderslice.Vl) := AdderSliceG; (S)
FirstVersion(AdderSliceG) := AdderSlice.Vl; (S)
InitialVersions(AdderSliceG) := { AdderSlice.Vl}; (S)
VersionSet(AdderSliceG) :={ AdderSlice.Vl}; (S)
VersionNumber(AdderSlice.Vl) := 1; (S)
CreationTime(AdderSlice.Vl) := 11/28/1989; (S)
VersionStatus(AdderSlice.Vl) := Transient; (S)
Also by virtue of value-acquisition, the following results will be returned
by the functions inherited by AdderSlivce.Vl.


85
in the subtree are already in the desired sequence of SRDF, the property is main
tained for the resulting sequence after an insertion.
Several types of deletion can occur in a design database. At the outset, it
should be recalled that in the proposed model child objects are not considered
existentially dependent on their parent (Rule 3.6); therefore, a deletion of a node does
not require the deletion of its descendents.
A deletion of an edge in the original DAG for versioned objects does not
require a deletion of any object in the hierarchy except for the modification of the
reference. As explained before, an unreferenced object in version set does warrant its
deletion or any restructuring.
Deletion of a versioned object calls for its removal from the version set
and the deletion of all the references from its parent and child objects.
A deletion of an edge in the hierarchy of a composite object requires a
restructuring of the stored sequence on disk. This deletion of an edge implies that
the version set of a composite object completely discards the generic and specific
references to its child object. In this case, the subtree representing the child object
must be removed from the hierarchical sequence and be stored as a root object at
some different location. This type of deletion is expected to rarely occur in design
database. The deletion algorithm is given below; R is the root of the existing hierar
chy and B is the root of the subtree being removed.
Procedure DeleteJSRDF (R, B);
BEGIN
Locate the parent A of the node B;
IF A has no child other than B and A = R THEN
Remove A and store it at a different location;
{There is a new hierarchy rooted at B}
IF A has no child other than B and A # R THEN
BEGIN
Remove B and all its descendents from the given
hierarchy and store them at a new location;
Restructure the original hierarchical sequence;
END;


32
AConnect2 (AdderSlicel, HalfAdderl, OR-gate) := < Cl, II >;
AConnect2 (AdderSlicel, HalfAdder2, OR-gate) := < C2, 12 >;
ALinkl (AdderSlicel, X) := < HalfAdderl, A1 >;
ALinkl (AdderSlicel, Y) := < HalfAdderl, Bl >;
ALinkl (AdderSlicel, Cl) := < HalfAdder2, A2 >;
ALinkl (AdderSlicel, Z) := < HalfAdder2, S2 >;
ALink2 (AdderSlicel, CO) := < OR-gate, J >;
The above example shows the modeling capabilities of the proposed con
structs. The functional paradigm of this data model can represent complex design
features. It should also be noted that even simple design objects, as illustrated by the
example, cannot be represented at the type level alone. The design objects and their
functions have to be instantiated in order to unambiguously specify the interconnec
tion, aggregation and correspondence properties. As we shall see in the next chapter,
this observation has important implications to the concepts employed in version
management.
3.4 Rules for Building Composite Objects
There are essentially two ways to build a composite design object. First,
a design object is defined initially in terms of its external features and later its inter
nal assembly is described and instantiated. Second, a composite object, viewed as an
abstraction of a set of components into a higher level object, are built from its
already defined and instantiated constituent objects. These two approaches lead to
the top-down and bottom-up design strategies. We disallow neither of these stra
tegies nor any of their combination, and thus provides a flexible system where
designers have the freedom to pursue any design strategy. In the following, some
integrity rules for building composite objects are given. A reference to constituent


26
Descriptive (Ds) attributes provide identification and non-interface
descriptions of a design object. Properties such as Name, Designer etc. are categor
ized as descriptive attributes.
Composite aggregation (C.) of a design object identify its immediate
constituent objects. This property is captured by the instance composition graph
defined in Section 2.1.
Interconnection (Ic) attributes of a composite object represent the inter
connections among its constituent objects. These interconnection attributes involve
only the interface attributes of the constituent objects.
Correspondence (CR) attributes of a composite object represent the con
nection between its interface and the interfaces of its constituent objects.
Figure 3-1
We believe that the abstraction of composite objects presented here is
independent of any data model. Other models with the construct of homogeneous
set can be used. Definition 2.5 introduced the system-defined type HS and the notion
of homogeneous set. Other system-defined subclasses appear as subtypes of HS. The
sets of functions defined here will have the following type structure. EF, IA -< C.
IF, Ds -< EF. CA, Ic, CR -< IA. This implies that new system-defined set, EF
and IA, become the subtypes of HS. The sets, Ip and Ds, are subtypes of EF, and


60
Rules for
Composite Objects
Rules for Versioned
Composite Objects
Remark
Rule 3.1
Rule 4.1
Supplanted
Rule 3.2
Valid
Rule 3.3
Valid
Rule 3.4
Rule 4.2
Addendum
Rule 3.5
Rule 4.3
Supplanted
Rule 3.4
Rule 4.2
Addendum
Rule 3.6
Valid
Rule 4.4
Addition
Table 4-2


17
value acquisition is defined for object instances rather than types. The instance that
acquires values will be called receptor and the instances from which values are
acquired will be called transmitter. The type of a receptor either is of the same
assigned-type as that of its transmitter or is its subtype. Value acquisition means
that a given set of functions returns the same result values for a receptor as for its
transmitter. A receptor is not allowed to update the result values of these functions.
As in case of attribute inheritance, this notion is further refined by allowing partial
value acquisition. Value acquisition is represented by the instance graph (IG).
There exists a mapping from IG to GG = (V, E).
Definition 2.10. IG=(VI,EI) is a labeled, directed, acyclic graph,
where
1. Vj C UO and V i £ V¡ 3 v £ V A v(i)
2. For each edge (a, b, s) £ E{, 3 a corresponding edge (x, y, z) £ E :
x £ AT(a) A y £ AT(b) A s £ HS A s C. z
3. In IG, for each j £ Vj, 3 at most one (i, j, s) £ E¡ for a corresponding edge
(x, y, z) £ E such that x £ AT(i) and y £ AT(j).
4. An edge (a, b, c) £ Ef => V / £ s, f(b) := f(a)
That is, for every member i in vertex set Vp of IG, there exist some type
v that is a member of V and i is an instance of v. For every edge in IG, there is a
corresponding edge in GG, such that the head and tail in the edge in IG are instances
of the corresponding head and tail in the GG edge and the functions that participate
in the value acquisition through this edge in IG is a subset of functions inherited
through the corresponding edge in IG. For each corresponding edge in GG, there is
at most one edge in IG. And lastly, the values of functions returned by the instance
object belonging to the head is the same as that of the instance object belonging to
the tail of the edge.


115
function HOutput (halfadderbb) terminal m
{ ORName, HName } E D¡}
{ ORInput, OROutput, HInput, HOutput } E IF
The following instances of these types are created.
Addlnstance HalfAdderG to type halfadderbb;
Addlnstance AhalfAdderG to type Generic,
Addlnstance OR-gateG to type orgatebb;
Addlnstance OR-gateG to type Generic,
These functions for OR-gate and Halfadder are instantiated.
ORName (OR-gateG) := "OR-Gate";
ORInput (OR-gateG) := { II, 12 };
OROutput (OR-gateG) := J ;
HName (HalfAdderG) := "Half-Adderl";
HInput (HalfAdderG) := {Al, B1 };
HOutput (HalfAdderG) := {Si, Cl };
The above declarations completes the descriptions of the external
features of the component objects of AdderG. The designer can now build its inter
nal assembly.
The functions which represent the internal assembly defined on
the type adderslicewbl (a subtype of adderslicebb) are the following:
function ASConnectl (adderslicewbl, halfadderbb, halfadderbb)
< terminal, terminals
function ASConnect2 (adderslicewbl, halfadderbb, orgatebb)
< terminal, terminals


50
4.2.4 Version Proliferation
As versioned objects may themselves contain other versioned objects as
constituents, an uncontrolled propagation of update can proliferate to the top. The
composite aggregation is defined to be version-significant, and thus its modification
must cause mutation. However, the proposed methodology, by viewing all versions
in a version set as equivalent and interchangeable, provides the capability for explor
ing and experimenting with different versions of a constituent object without having
to create a new version of its composite object. The designer, however, has the
option of creating a new version and incorporating the changes there.
An example should illustrate the point. In Figure 4-6, a versioned object
A.vl has two constituent objects B.vl and C.v2; B.vl, in turn, contains D.v2 and
E.v5 and C.v2 contains F.v3 and G.v6. Suppose a new version D.V5 is derived from
D.v2. (Its version graph is shown in Figure 4-1.) B.vl changes its reference from
D.v2 to D.v5, which is shown in Figure 4-7. Since B.vl has undergone equivalence
modification, no new version of B.vl need to be created. However, it is possible to
derive a new version B.v2 (not shown in the figures) from B.vl and to replace D.v2
by D.v5 in B.v2. Again, either B.v2 can simply replace B.vl in A.vls assembly or a
new version, A.v2, can be derived from A.vl and the change can be incorporated in
A.v2. Thus, the designer has the option, at every level of composition hierarchy, to
choose from one of the two strategies.
Let us consider another scenario. The internal assembly of C.v2 need to
be changed by adding a new object H.vl to its composite aggregation and updating
its interconnections and correspondence. (We assume that it has no effect on the
interface of C.v2). This cannot be done without mutating C.v2. Thus, a new ver
sion C.v3 is derived from C.v2 and necessary modification are made in C.v3, as
shown in Figure 4-7. Either C.v2 can be replaced by C.v3 in the internal assembly


76
An operation is also needed which, given an object, provides access to all
its constituents. This operation can be materialized by recursively applying the
operation PCT. This operation is referred to as ancestor-descendent transition
(ADT). As argued in Chapter 5, this type of operation is quite frequently used in
order to query a design at the template level. However, this operation at the
instance level ceases to be very useful because of the huge amount of data retrieved.
6.2 Units of Clustering
Design objects are highly variable in size, as they have variable length
and set-valued attributes. The storage subsystem required for design database must
support heterogeneous and variable length records. Heterogeneous records imply
that data pages in the storage subsystem contain different types of records. Variable
length records mean that records of the same type are allowed to grow and shrink in
size. The storage must also allow record clustering; that is, a new record can be
stored in the vicinity of the specified storage location.
Most applications in design databases tend to retrieve a design object in
its entirety or a large significant portion of it. Moreover, these retrievals tend to be
object-oriented rather than set oriented [Ket88a]; that is, an object is retrieved given
its object identifier, whereas in conventional databases a set of records is retrieved
based on some criteria defined on their attributes. For the derivation operation (Sec
tion 4.3), an object is accessed in its entirety in order to create its copy. Therefore,
records that belong to a design object must be physically collocated. An object con
stitutes an unpartitionable entity, and thus a fundamental unit of clustering.
In the following, we discuss the characteristics of design databases, which
provide a strong motivation for a scheme that supports physical collocation of ver
sions in a version set.


66
covered with one or more spanning trees, and the tree is used to generate node
numbers. In the case of a directed tree, each node is numbered to reflect its relative
position in a postorder traversal of the tree. The number of the node is called its
postorder number. After this numbering, each node is assigned an index consisting of
the lowest postorder numbers among its successors. For simplicity, the index associ
ated with a leaf node is the same as its postorder number.
The above scheme can be generalized for the case of a directed acyclic
graph, which is assumed to have connected components. If there are disjoint com
ponents, they can be connected by creating a virtual root node. The compression
scheme for a DAG is given below.
1. Find a spanning tree T for the given graph G.
2. Assign postorder numbers and indexes to the nodes of T. At the end of this
step, an interval [i, j] is associated with each node, such that j is the postorder
number of the node and i is the lowest postorder number among its successors.
3. Examine all the nodes of G in the reverse topological order. At each node p, do
the following: (i) for every arc (p, q) add all the intervals associated with the
node q to the interval associated with the node p; (ii) if the interval being added
contains the postorder number of the node then there is a cycle; (iii) at the time
of adding an interval to the interval set of a node, if one interval is subsumed by
another, discard the subsumed interval.
After this processing, each node of the graph is associated with a unique
interval that contains reachability information for the nodes that can be reached by
following the tree arcs starting from this node. In addition, there are intervals associ
ated with a node that provide reachability information for the nodes that can be
reached by following one or more nontree arcs from this node. Figure 5-1 shows an
example of a rooted DAG, where the reachability of each node is given by the labels


110
environment that involves a group of designers. The distributed architecture pro
posed in Chapter 5 can serve as a basis database for future transaction models.
Recovery schemes and concurrency control techniques are also needed for CAD
environment.
Second of these problems is the development of a space efficient tech
nique for storing a version set. In Chapter 7, we alluded to a delta or differential
scheme. In this scheme, only the modified parts of versions are stored; to materialize
a version object, its previous version and its delta are used. An investigation for
developing well-defined implementation techniques appears quite important.
Another issue is the formulation of a query language for versioned and
composite objects. Little attention has been devoted to defining appropriate seman
tics for querying composite aggregation hierarchies and multiple representations of
objects. This reluctance perhaps stems from the inherent difficulty of conventional
query languages to express queries that involve recursively defined constructs. This
query language will be able to support transitive closure as part of a facility for
manipulating recursive structures. Thus, an enhanced query language is required,
which would deal with the dimension versioning and provide a user-friendly interface
for efficiently retrieving data.


71
5.3.3 Analysis of Time Complexity
Because of the consistency rule, the generalization and composition
graphs are not allowed to have cycles. This means that at the time of every inser
tion in GG or CG a cycle detecting mechanism has to be used. The time complexity
of detecting a cycle in a directed graph is 0(n + n*D), where n is the number of
nodes and n*D is the number of edges in the graph. The computations of transitive
closure relations generaly involve 0{n ) algorithms, though some techniques have
been developed that give somewhat better performance than 0(n ). As argued by
Ioannidis and Ramakrishnan, only the semi-naive algorithm computes the partial
transitive closure (i.e., the set of all predecessors or successors of a given node)
efficiently, and it has 0(n + n*D) complexity [Ioa88]. With the exception of semi-
naive algorithm, we must essentially compute the entire transitive closure first and
then perform a selection.
We compare the time complexities of the algorithms given in Section 5.2
for two cases: (i) the transitive closure relation of GG and CG are maintained and
(ii) their transitive closure relation are computed when required.
Consider procedure CGInsert. At the step 3, insertions take place; each
insertion implies that creation of a cycle has to be checked. The cost of insertion in
the case (ii) is 0(1), whereas the cost of detecting a cycle is an 0(n + n*D). In the
case (i), the cost of insertion of an edge is 0(n*d). However, the detection of cycles
is a part of the insertion algorithm with no extra cost. At the steps 1 and 2, partial
transitive closures need to be computed. The semi-naive method can compute par
tial transitive closure in 0(n + n*D) time. In the case (i), the search to find a par
tial transitive closure (i.e., the successor list of the given node) is 0(n+d). Similar
arguments can be made for procedure GGInsert, which calls procedure CGInsert.
Thus, the maintenance of transitive closures improves the performance of insertion


10
Schubert et al. proposed a technique for encoding reachability informa
tion, wherein an interval consisting of the preorder number of the node and the
highest preorder number among its descendents is associated with a node [Sch83].
They also generalize their scheme to work for overlapping hierarchies.
A transitive closure technique based on chain decomposition of graphs is
proposed by Jagadish [Jag88]. In this scheme, each node is indexed with a chain
number and its sequence number in the chain. At each node, only the earliest node
in the chain, wdiich can be reached from it, needs to be stored. The nodes that are
reachable in this chain can be deduced from this.
Agrawal et al. present transitive closure compression technique, based on
labeling spanning trees with numeric intervals [Agr89]. They also provide analytical
and empirical evidences of its efficiency, demonstrated by a wide range of simulation
experiments and performance evaluation.
1.3.4 Storage Strategies
Schkolnick discusses the problem of storing hierarchic structure in order
to minimize the expected access time [Sch77]. In it, an algorithm is presented that
can determine the optimal partition of an IMS type tree into data set groups. The
limitation of this work is that the instances of the given tree are assumed to be regu
lar with same fan-out and that the partitions are stored completely independent of
one another.
Carey et al. describe the file management system of the EXODUS exten
sible database system [Car86]. The basic abstraction in this system is the storage
object, an uninterpreted variable-length record of arbitrary size. The management of
large dynamic object, which can occupy many disk pages and can grow and shrink, is
supported. The object is represented on disk as B+ tree index on byte position
within the object plus a collection of leaf blocks containing data. As objects are


CHAPTER 4
VERSION CONTROL AND MANAGEMENT
Generally, design of an object starts with a high level description of some
aspects of that object. A named collection of information describing an object at the
type level is called a template, which can be modeled by a type and a set of functions
defined on it.
A design object is something that retains an identity throughout the
period in which it evolves through the design process that may change its state. Ver
sions are snapshots of the object in different states and are modeled by objects that
are distinct from each other, though they share some identifiable common charac
teristics. The versions of a design object contain qualitatively or quantitatively
different information, but they evolve in the direction of an ultimate design goal. A
version contains sufficient information to instantiate the object. If the version object
is composite, then its references are bound to its versioned or non-versioned consti
tuent objects.
There is considerable debate in the literature as to when two instances of
the same type are different objects and when they are merely different versions of the
same object. The key to deciding this issue is to view different attributes of a design
object as either extrinsic or intrinsic attributes. The intrinsic property describe the
essence of the object. If intrinsic properties change, so does the object. Extrinsic
properties, on the other hand, can be modified without changing the object in any
significant way. Interface is an example of intrinsic attributes, whereas properties
such as "designer", "co-ordinate position", and even internal assembly are examples of
extrinsic attributes. In enginnering design, there are many situations where the same
38


101
7.3 Dynamic and Static Bindings in the Multilevel Environment
In section 4.3, we discussed static and dynamic bindings in the context of
a single database. In this section, we extend the notions of dynamic and static bind
ing (also called generic and specific references) for the proposed distributed architec
ture.
Rules of static binding are straightforward. All the specific references of
a design object must be in the databases that are accessible from the location where
it resides; for instance, a version in a private database can reference versions in the
same private database, its project database and the public database irrespective of
the statuses of versions. The only exception is for validated versions in a project
database, which can reference other validated versions only, since a version cannot be
characterized as validated unless all its constituents have been validated.
The case of dynamic binding, however, presents a problem. It is stipu
lated that validated versions do not contain any generic references. Its reasons will
shortly become clear. The generic references in a stable version can use different cri
teria for dereferencing their default versions during their testing and validation phase;
but before a stable version can be promoted to validated status, all its generic refer
ences must be converted to appropriate specific references. Stable and transient
objects are allowed to contain generic references. Different default criteria can be
maintained in different databases for version sets belonging to a generic object. The
priority for dereferencing a dynamic binding using different default criteria will
depend upon the accessibility of the database; that is, the dereferencing of a dynamic
binding in an object residing in a private database must use the default criteria of
that database; if that fails, it approaches its project and then the public database for
their default criteria.


31
dom(terminal) = {X, Y, Z, Cl, CO, Al, Bl, A2, B2, Si, S2, Cl, C2, II, 12, J }
omiyOrgate) = { OR-gate }
dom (halfadder) = { HalfAdderl, HalfAdder2 }
dom(adderslice) = { AdderSlicel }
The assignment of values to the functions for OR-gate and for some of
the instances of terminal are shown here.
TName (X) := X" ; IOType (X) := T;
TName (Z) := Z" ; IOType (Z) := 0";
ORName (OR-gate) := "OR-Gate";
ORInput (OR-gate) := { II, 12 };
OROutput (OR-gate) := J ;
HName (HalfAdderl) := "Half-Adderl";
HInput (HalfAdderl) := (Al, Bl};
HOutput (HalfAdderl) := { Si, Cl };
HName (HalfAdder2) := 'Half-Adder2";
HInput (HalfAdder2) := { A2, B2 };
HOutput (HalfAdder2) := { S2, C2 };
AName (AdderSlicel) := "Adder-Slicel";
Designer (AdderSlicel) := "Ostrominsky";
AInput (AdderSlicel) := { X, Y, Cl };
AOutput (AdderSlicel) := { Z, CO };
AContains (AdderSlicel) := < HalfAdderl, HalfAdder2, OR-gate >;
AConnectl (AdderSlicel, HalfAdderl, HalfAdder2) := < Si, B2 >;


63
For an edge (x, y) in ICG, Generic(x) cannot be true. This means that
generic objects cannot make references to constituent objects, as they do not have
internal assemblies.
5.2 Interaction between GG and CG
The generalization and composition graphs impact upon each other, as
some of the composition properties of a node in CG may be inherited from its super
types. Therefore, every time GG is updated, its effect on CG will have to be gauged
and changes to it will have to be made accordingly. Also, any incremental update to
CG requires a look-up of GG to determine whether it results in other updates in CG.
As has been mentioned in Chapter 3, we do not allow the composition
and generalization graphs to contain a cycle. Thus, any incremental update of CG
and GG must check for the creation of a cycle. In the following, algorithms for mak
ing insertions and deletions in CG and GG are given.
Procedure CGInsert
/* An edge (A, B) is to be inserted into CG. */
1. Find all successors of node A in GG. Let these nodes be {Xp X2,.., Xn}.
2. Find all successors of node B in GG. Let these nodes be {Y^, F2,.., Ym}.
3. For each node Xr E {A, Xv X2, Xn} and each node F. E
{B, Yv Yv YJ, insert (X, F) G {A, Xp X2,. X } X {B, Yv Yv .., Yj
into CG.
4.For each insertion, check for a cycle in CG. If a cycle is detected, then abort
the transaction.
It should be noted that at the steps 1 and 2, partial transitive closures
need to be computed.


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.
Ravi Varadarajan
Assistant Professor of Co
puter and Information Sciences
This dissertation was submitted to the Graduate Faculty of the College of
Engineering and to the Graduate School and was accepted for partial fulfillment of
the requirements of the degree of Doctor of Philosophy.
December 1989
^Winfred Xb/Phillips |
Dean, CoQege of Engineering
Madelyn M. Lockhart
Dean, Graduate School


43
assumption that a template is adequate for providing a complete description of a
design object.
Some schemes, which advocate versioning at the type level, propose that
a derived version should be a subtype of its predecessor version, so that a design may
evolve through incremental steps, as successor versions inherit all attributes of their
predecessors besides having their own properties. This scheme puts an unnatural
constraint on the design process by imposing an incremental strategy. Most systems,
however, provide versioning at the instance level, since versioning at the type level is
not without its problems. First, it is quite a deviation from the traditional notions of
data and databases. Second, templates often prove to be insufficient in providing a
complete description of a design object, since many attributes still need instantiated
values. Third, in many applications, e.g., software design, versioning at the type
level has no relevance at all.
The proposed scheme brings about a compromise between the two
opposing views. Versioning remains at the instance level in the sense that all infor
mation is required to be instantiated. However, versions can have entirely different
types and thus different internal assembly properties. These disparate types of vari
ous versions are related together by the generic object and the mechanism of value-
acquisition of invariant attributes.
For instance, in Figure 4-1, let the generic object, D.g, be of assigned-
type X, and the versions, D.vl and D.v6 be of assigned-types Y and Z respectively; Y
and Z are subtypes of X. D.vl and D.v6 are related by the imposition of invariant
attribute acquisition from D.g.


52
In this model, the generic instance object is used for dynamic binding.
Every generic object instance has at least one user-defined type and the system-
defined type Generic. It also possesses the interface attributes, and thus can partici
pate in the interconnection and correspondence properties of a composite object.
Furthermore, all functions in the internal assembly of a composite object can be
defined in terms of the user-defined types of its generic constituent object. This
scheme provides the facility for substituting a generic object by any of its versions,
which is either of the same type as the generic object or its subtype.
Therefore, a composite object can reference a generic constituent object
in its internal assembly. The generic object conceptually represents the entire ver
sion set and can be dereferenced to any version of the set. The version object to
which the generic object is deferenced is called a default version, and is selected from
the version set according to some predefined criteria. For example, the criterion can
be to select a version with the latest time-stamp. The system-defined function
Default is given below.
Default (Generic) Versioned u
The generic object serves a dual purpose. On the one hand, it is used to
relate all its version objects; on the other hand, it is used in a generic reference for
dynamic binding.
4.4 Rules for Versioned Composite Objects
In view of composite references of versioned objects, we shall furnish new
rules that will supplant some of the rules given in Section 3.4. For a precise formula
tion of these rules, we define a function G for design objects.
a M
Genericlnst
(*)
if Versioned (x)
if Unversioned (x) V Generic (x)
x


CHAPTER 8
CONCLUSION
8.1 Major Results
In this dissertation, a number of important concepts have been proposed
for defining a unifying framework for the effective management of design data. In
our view, the major results and contributions of this work are the following.
The dissertation introduced a formal treatment and the basic features of
an object-oriented data model. We consider it important that our solutions to the
problems of version management be developed within an underlying data model for
design databases. This furnished a criterion to judge the correctness and feasibility
of these solutions.
The classification of composite object attributes, enforcement of update
constraints through the notion of class, the concepts of generic objects, invariant
attributes, value acquisition, the mechanism for control of version proliferation and
for interrelating disparate types of objects are some of the contributions made in the
area of version management.
The next logical step was to generalize these ideas and demonstrate their
applicability in a shared and cooperative design environment. A justification for a
multi-level, distributed CAD architecture was given and protocols for version sharing,
replication, validation and change-notification were discussed.
The last two chapters addressed some implementation-oriented issues. In
these chapters, our main concern was to formulate techniques, which can be utilized
for efficiently retrieving and organizing the schema and the extension of design data.
108


TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS iii
ABSTRACT vi
CHAPTERS
1 INTRODUCTION 1
1.1 Preliminary Discussion 1
1.2 The Outline 2
1.3 Review of Related Work 4
2 MODELING CONSTRUCTS FOR DESIGN DATABASES 12
2.1 The Basic Constructs 13
2.2 An Example Database 19
2.3 Retrieval Using Functions 21
3 AN ABSTRACT VIEW OF COMPOSITE OBJECTS 24
3.1 External Features and Internal Assembly 25
3.2 An Example of a Composite Object 27
3.3 Modeling Composite Object in GOODM 28
3.4 Rules for Building Composite Objects 32
4 VERSION CONTROL AND MANAGEMENT 38
4.1 Generic, Versioned and Unversioned Objects 40
4.2 Creation and Updatability of Versions 44
4.3 Dynamic Binding and Generic Objects 51
4.4 Rules for Versioned Composite Objects 52
5 MAINTENANCE OF CONSISTENT SEMANTICS FOR
COMPOSITE OBJECTS 61
5.1 Protocols for Insertions and Deletions 61
5.2 Interaction between GG and CG 63
5.3 Efficient Management of GG and CG 64
IV


65
should be devised that efficiently handles the update of GG and CG. For, this pur
pose we propose that the transitive closures of GG and CG be maintained. The
motivation for doing so is manifold. First, as noted earlier, the algorithms for update
require the computation of partial transitive closures. Second, insertion into the
transitive closure relations can detect a cycle as a part of the algorithm; thus, the
detection of cycles requires no extra work. Third, in design databases, the queries
that involve the transitive closures of CG and GG are very frequent; hence, mainte
nance of transitive closure relations eliminates the overhead of computing it when
ever such queries are posed.
However, the problem with maintaining the transitive closure of a graph
is the storage requirement, which in the worst case can be 0(n~). In the following
section, a strategy for efficient storage of transitive closure relations is outlined. A
performance analysis and storage requirement for this strategy are also discussed.
On the basis of this performance analysis and the time complexities of known algo
rithms for computing transitive closure and for the detection of cycles, it is shown
that maintenance of transitive closure results in a better performance in handling
updates and answering queries.
5.3.1 Maintenance of Transitive Closure Relations
In this section, we give a compression scheme [Sch83, Agr89] for storing
and maintaining the transitive closure of a directed acyclic graph. We also give algo
rithms for doing incremental deletion and update of transitive closure relations.
The compression scheme proposed here is a range compression. The
basic idea is to assign numbers to nodes so that instead of individually listing all
nodes within a certain range of values in a successor list the range could be recorded.
In order to develop a technique that yields maximal compression, the given graph is


CHAPTER 5
MAINTENANCE OF CONSISTENT SEMANTICS FOR COMPOSITE OBJECTS
The data model that we propose for design applications has several com
plex constructs such as composition, generalization, version and instance graphs and
instance composition graph. These constructs interact with and interdepend upon
one another.
We have shown that a mapping exists from the instance graph
(Definition 2.10) to the generalization graph (Definition 2.6), and have given some
rules for imposing integrity for this mapping. Similarly, it was shown (Definition
2.12) that a mapping from the instance composition graph (ICG) to the composition
graph (Definition 2.11) exists; the related rules of this mapping were also given.
In this chapter, we study the interdependence among these constructs in
order to provide rules for enforcing consistent semantics and algorithms. These are
necessary for handling different problems associated with the effects of their updates
upon one another.
5.1 Protocols for Insertions and Deletions
In this section, some constraints that are essential for imposing con
sistency in design databases are outlined.
Any addition of a new node in GG with no immediate predecessor is
made an immediate successor to the virtual node Iu (Figure 2-1). Ihis is necessary,
since GG is, by definition, a rooted graph.
61


42
1. V v w E V Genericlnst (i>) = Genericlnst (w).
2. 3 a partition, { (Vv EJ, (Vv Et^,..(Vi, E{),..(Vn, En)} of VG, where each
member of this partition is a connected subgraph.
3. For each subgraph [V-, if.), 3 exactly one v E V- such that
indegree(v) = 0.
Figure 4-1 shows an example of a version graph. The roots of the sub
graphs, D.vl and D.v6, are the objects returned by function InitialVersions. These
versions can be viewed as different alternatives of a design. The non-root versions in
a subgraph can be looked upon as the refinements of the alternative design that
forms the root of a subgraph. For example, D.v5 has been derived from D.vl, and is
thus its refinement. Versions in a subgraph are derived from each other and hence
have the same user-defined types. As mentioned earlier, the roots of subgraphs are
not necessarily of the same type.
All the versions in a version graph, that is V is referred to as a version
set. Versions in the version set are considered equivalent, as they have identical
invariant attributes. In the forthcoming discussion, we use the term equivalent ver
sions for the members of the same version set.
4.1.2 Versioning at the Type and Instance Levels
In the literature, it has often been felt that versioning should be allowed
both at the type level and instance level. Versioning at the instance level implies
that different versions of the same object differ only in the values of some of their
properties. Versioning at the type level, on the other hand, means that equivalent
version can have different assigned types. It has an added implication that
modifications of a template a type and a collection of attributes defined on
it creates another template version. Furthermore, there is an underlying


21
The domain of each type is formed by the instances directly assigned to
that type. Domains for the types are shown in Figure 2-1. The declarations of
domains are self-explanatory. However, explanation is needed for the types Fs and
HS. It should be recalled that each system-defined type na?ne also serves as a predi
cate function; the functions dom and AT have already been defined. For HS, it is
assumed that the user has defined two sets {Enrollment, Teaches) and {pi, s2).
dom (person) = { pi }; dom (student) = { si, s2, s3 };
dom (course) = { cl, c2, c3 }; dom (faculty) = {fl, f2 };
dom (Tjj) = { person, course, faculty, student };
dom (Ts) = {U,L, T, HS, F, UO, Tu, Ts, F(/, Fs,
real, integer, Boolean, charstring };
dom (Fjj) = { Name, CName, Age, GPA, Enrollment, Teaches };
dom (Fs) = { U, UO, T, HS, F, L, Tw Ts, Fv, Fs, dom, AT };
dom (HS) = { {Enrollment, Teaches), {pi, s2) );
2.3 Retrieval Using Functions
In this section, we shall present a brief outline of the data manipulation
language. For the sake of brevity, syntax for simple declarations of types,
subtypes/supertype and instances are omitted here. Some examples in the later sec
tions will illustrate their syntax.
A function is defined by using the following syntax.
Function F-name (tl t0 , F) < F+1 >
F-name is an identifier that stands for function name.
t t2 ,.., F F+1 ,.. tm 6 T, are user-defined types, and are not necessarily dis
tinct. The symbols "<" and ">" can be dropped from the declaration, if n is 1 in


15
(attributes) of objects and their n-ary relationships. The set of functions defined on a
type describes the behavior of objects that are instances of that type. Since functions
are defined on any object type, this allows a uniform mechanism for querying user-
defined data as well as meta data. The results of the collection of functions defined
on an object determines the state of the object, whereas operations change the state
of an object, or create and delete an object.
Creation of a homogeneous set is a mechanism that allows a collection of
objects to be grouped together. A homogeneous set is an object which can be
defined to be equivalent to either an enumerated set of objects or a set formed under
a given condition. It is required that all the elements of a homogeneous set belong to
exactly one of the types T, F, UO, L, HS. All user-defined homogeneous sets are
members (instances) of system-defined type HS. It is also possible to define type
objects which are subtypes of HS. Homogeneous set is a useful construct needed in
design applications. For instance, a homogeneous set of functions defined on a type
can thus be used to model its behavior. A defined hierarchy of subtypes of HS can
be used to impose a set of constraints on functions or types.
Definition 2.5. A homogeneous set s is a finite set of objects, where
s E HS and is given by
s = { Oj, o2 . on } ,
where V o- E s, 3 P E { T, HS, F, UO, L } | -P(o-).
In addition to the type graph of the system-defined objects, the
supertype/subtype relations among user-defined objects are represented by a rooted,
labeled, acyclic, directed graph, which captures generalization. An instance of any
type is also an instance of all its supertypes, and thus inherits a subset not neces
sarily proper set of the operations, functions and rules of its supertypes.


69
tree and nontree intervals associated with it. Other data structures will not change
this analysis of algorithms.
Let n be the number of nodes in the graph and d be the average number
of intervals associated with each node. Clearly, retrieval of transitive closure requires
two passes. One for finding the predecessors or successors of the node; in the worst
case, the cost of finding the successors is 0(n+d) and of finding the predecessors is
0(n*d). The other pass is needed for interpreting the postorder numbers of the
retrieved node, which is of cost 0(n). Hence, the cost of retrieval, in general, is
0(n*d).
For the addition of a tree arc (i, j), the cost of search for is immediate
child with the smallest postorder number and two postorder numbers is O(n). For
the addition of a nontree arc, one pass is required for adding the intervals associated
with j to i and all of its predecessors, which is 0(n*d). Hence, the cost of addition is
0{n*d).
For the deletion of an arc (i, j), the update of the tree intervals of the
subtree rooted at j and the update of all relevant nontree intervals requires one pass
and thus have 0{n*d) complexity. Two more passes are required to find the tree
predecessors of i that has an arc coming to the subtree and for adding nontree inter
vals to these nodes; the costs of both these passes are 0(n*d). Hence, the cost of
deletion is 0(n*d).
In the worst case, the average number of intervals associated with each
node can be of 0(n ). For instance, in a bipartite graph, the total number of inter
val required can be (n+l)2/2. The worst case seems to occur when a large number
of nodes have the same set of immediate successors. However, in such cases, a single
common virtual node can be created as an intermediary. There will be only one
interval associated with the virtual node and thus only one more interval will be
added to all its predecessors. However, we do not expect worst case graphs to arise


67
associated with it. The solid arrows represent tree arcs, whereas dashed arrows sig
nify nontree arcs. The first label for each node represents its reachability following
the tree arcs emanating from it, whereas other labels give the information for its
nontree arcs.
The complexity of computing the compressed transitive closure of a
graph is the same as the computation of a transitive closure. Both are of 0( n )
complexity in the worst case, where n is the number of nodes in the graph. How
ever, compression is one-time activity, and once compressed closure has been
obtained, it can be repeatedly used to efficiently answer queries.
For maintaining the transitive closure of a graph, it is essential that
efficient algorithms be provided for doing incremental updates to the graph. There
fore, while assigning postorder numbers to the graph, it is not necessary to choose
contiguous numbers; gaps can be left between numbers and the compression scheme
will still work correctly. The initial gap could be determined by dividing the range
of integers that will fit into a word by the expected number of nodes in the graph.
Alternatively, real numbers could be used instead of integers.
In the following, we describe an algorithm for the insertion of an edge.
Consider a new node j connected by a new arc (i, j) to be inserted at an existing
node i. Note that there can never be a new node i for a new arc (i, j), as we are con
sidering a DAG with a virtual root node.
1. Let the postorder number of i be n and that of its immediate successors with
the smallest postorder number be m. If i is a leaf node, m is taken to be one
less than the lowest number in the range of intervals associated with i. Find
two postorder numbers between m and n that have already been assigned and
have the largest difference. Let nt and n0 be these numbers. Assign to j the
postorder number ng = [nx-\-n^)/ 2 and the interval [ftj+1, n3].


70
in the applications envisaged. In the ideal case when the given graph is a strict
hierarchy, only one interval is associated with each node. Thus, the storage require
ment for the transitive closure of a hierarchical graph is of O(n).
As the maximum number of edges in a directed acyclic graph is
n(n1)/2, the storage requirement for its full transitive closure can be 0(n ) in the
worst case, where n is the number of nodes in the graph. The detailed simulation
analysis by Agrawal et al. shows that for a general graph with nodes in the range of
500-1000, the storage requirement for a compressed transitive closure tends to be half
of the storage requirement of the original graph when the average out-degree of
nodes is between five and ten [Agr89]. The total storage required was computed as
the numbers of successors at each node for the original and transitive closure graphs.
The reasons for the compressed closure requiring less storage than even
the original graph are the following. As numbers of edges increase, a deeper, less
branchy tree can be found to cover the graph. Most successors of a node can be
reached through tree edges. Paths through nontree edges are mostly subsumed. A
compressed closure also avoids the extra storage required for these "redundant" edges
whose removal does not affect the reachability information in the graph.
It is clear from this storage requirement that d in most cases is less than
Df4, where D is the average out-degree of nodes in the graph. The simulation
analysis was done for arbitrary DAGs. It should be noted that graphs GG and, espe
cially, CG contain hierarchical infrastructures, and thus d is expected to be quite
small compared to D.
The data structure proposed in the scheme that contains both the origi
nal graph (i.e., the fist of immediate successors) and the compressed transitive closure
will require on average (3s/2) storage, where s is the storage needed for the original
graph.


121
ASLinkl (AdderSlice.Vl, Z) := < Halfadder.V2, Si >;
ASLink2 (AdderSlice.Vl, CO) := < OR-gateG, J >;
These functions completely describe the internal assembly of
AdderSlice.Vl. It should be noted that it makes specific references to HalfAdders
but a generic reference to OR-gate. This generic referenced can be dereferenced to
any version instance of OR-gateG that is designated as the default version.
AdderSlice.Vl can be promoted to the stable status.
promote AdderSlice.Vl;
AdderSlice.Vl is a stable version; it cannot be updated but for
2
equivalence modification and changes in its Ds attributes that are categorized as
nonversion-significant. For instance, we can update its Designer function.
Designer (AdderSlice.Vl) := "Chang";
However, its internal assembly, being version-significant, cannot be
modified in the stable state. If the designer wants to experiment with an entirely
different version, he needs to create a new version from the generic object AdderSli-
ceG. (In this example, this new version corresponds to Figure 3-6.) It is done by the
following declarations.
User-Type: adderslicewb2 subtype of adderslicebb;
New functions can be defined on this type.
function ASNContains(adderslicewb2) *
< xorgatebb, xorgatebb, orgatebb, andgatebb, andgatebb, andgatebb >;
function ASNConnectl (adderslicewb2, xorgatebb, xorgatebb)
< terminal, terminal>;
function ASNConnect2 (adderslicewb2, orgatebb, andgatebb)


48
4. The derived version starts in the transient state.
5. The promote operation, which may follow possible modifications, changes its
state to the stable status.
Convert is an operation that converts an existing unversioned object into
a generic object with its first version. It entails the following steps:
1. The type generic is added to this object.
2. A new object of the same user-defined type as well as of type Versioned is
created. It is made to value inherit all the invariant attributes from the generic
object.
3. All other attribute values of the generic object are copied to this versioned
object.
4. It is assigned a version number and is inserted in the version graph as a root of
a subgraph. (This version is returned by function FirstVersion.)
5. The internal assembly properties of the generic object, if any, are deleted.
In Figure 4.5, the transition diagram shows the effect of applying these
operations on unversioned, generic and versioned objects. The dashed arrow signifies
that the object itself undergo change, whereas the solid arrows means that the object
remains unchanged, and that these operations give rise to a new object.
4.2.3 Copying of Versioned Composite Objects
In the context of creating or deriving a version, references have been
made to the operation of copying. In this section, the details of copying is discussed.
One of the reasons why no consensus could be achieved on several
aspects of version management is the fact that the boundary of a design object is not
clearly defined. In conventional databases, an object can enter into any number of


62
In the forthcoming discussion, we use the convention established in
Chapter 2 whereby a directed edge is represented as an ordered binary relation
(.x, y), which means that there is a path from x to y. For GG, an edge (x, y) implies
that y is a subtype of x; for CG it means that y is a constituent of x.
Addition of a new edge (A, B) in GG results in B inheriting all functions
of A and its predecessors. (A, B) must not create a cycle. Additions and deletions
in the functions defined on a node in GG are propagated to all its successors. Remo
val of an edge (A, B) from GG results in B's loosing all functions inherited from A
and its predecessors. If A is the only predecessor of B, then B is made an immediate
successor of the virtual root I This explains the mechanism of attribute inheritance
in GG.
Removal of a node A in GG is possible only if there does not exist an
instance object x such that AT(x) = A. The Definition 2.9 explains AT. Removal
of a node thus results in the removal of all edges directed to its immediate successors
and all edges directed to it from its immediate predecessors. This implies that a type
cannot be deleted as long as one or more of its instances exist. Also, the
successor/predecessor relationship is considered fundamental; that is, its deletion
implies the loss of all transitive relations.
Addition of an edge (A, B) in CG results in checking GG for a cascaded
update of CG. This implies that attribute inheritance also applies to composition.
Thus, if a node in CG is assigned a new edge, it must be propagated to all its succes
sors. Again, CG, by definition, is an acyclic graph.
Deletion of an edge (A, B) in CG is possible, only if there does not exist
x and y such that A(x) and B(y) are true and there is no edge connecting x and y in
ICG. This means that an edge in CG cannot be deleted as long as there are instance
objects that participate in the relationship represented by that edge in CG.


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.
Shamkant B. Navathe, Chairman
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 Doctor of Philosophy.
Stanley Y. W. Si
Professor of Coi/iputer 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 Doctor of Philosophy.
Sharma Chakravarthv
Associate 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,s holarly presentation and is fully adequate, in scope and
quality, as a dissertation f<
Prabhat Hajela
Associate Professor of Aer
e of Doctor of Philosophy.
pace Engineering, Mechanics, and Engineering Sciences


119
HLink2 (Halfadder.VI, Cl) :=
The above instantiations of functions HContain, HLinkl, and HLink2
completely describe the internal assembly of Halfadder.Vl. The reference to to its
constituents are generic. It should be noted that generic reference is possible because
of the concepts of interface attributes and value-acquisition. This idea of generic
reference is extremely important, as it allows a designer to define composite objects
without any concern about the internal structures of its constituents, which may be
designed by other designers.
This version can be promoted to stable status and later the generic refer
ences can be modified to specific references (i.e., references to actual versions) under
the rule of equivalence modification. To change its status, the operation promote can
be used.
promote Halfadder.Vl;
This changes the transient state of the given version into the stable state.
Since Halfadder.Vl is a stable version, other versions can be derived from it. For
deriving a new version from a given version, the operation derive ( defined in Sec
tion 4.2.2) can be used.
derive from Halfadder.Vl;
Let the surrogate of the version returned by the above operation be
Halfadder.V2. As explained in Section 4.2.2, Halfadder.V2 is of the same user-
defined type as Halfadder.Vl. It also value-acquires all the invariant attributes from
HalfadderG, the generic object of Halfadder.Vl. It has identical external features
and internal assembly as Halfadder.Vl. Both Halfadder.Vl and Halfadder.V2 share
their constituents AND-gateG and XOR-gateG as governed by Rule 4.1.


VERSION CONTROL AND MANAGEMENT IN COMPUTER-AIDED
DESIGN DATABASES
By
RAFI AHMED
A DISSERTATION PRESENTED TO TIIE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1989


103
1. When one version belonging to a pair of stable replicas is deleted in a private or
a project database, the other database is notified so that the value of function
R_Address in the other version can be updated to signify that its replica no
longer exists. This frees it from the restriction of no update.
2. When one version belonging to a pair of validated replicas is deleted in a project
or the public database, the other database is notified so that the function
R-Address in the other version can be updated to signify that its replica no
longer exists.
3. When a replicated version is checked in the public database from a project
database, a notification is sent to the private database of its origin so that the
R_Address of its replica can be modified.
4. A version residing in a private database references, generically or specifically, an
unreplicated version in its project database. When such a constituent version is
deleted, the private database is notified of this change so that the affected ver
sion can update its references.
5. A version residing in a private database references, generically or specifically, a
version in its project database. When such a constituent version is updated, the
private database is notified of this change so that the the designer can review
the references of the affected objects.
6. A stable version residing in a project database references a version in the same
database. When such a constituent version is updated, the affected versions is
notified of this change so that the designer can review the references of the
affected objects.
7. A stable version residing in a project database references an unreplicated version
in the same database. When such a constituent version is deleted, the affected
version must be deleted as it becomes inconsistent. (A version is considered
unreplicated in this context, if its replica exists only in a private database.)


49
associations with other objects, and any changes in the object is directly or indirectly
propagated to other such objects. This is not true in design databases.
The abstractions we have proposed in this model allow us to delineate
the boundaries of a design object. The interface properties are essential in under
standing the nature of design objects and its boundaries. Interconnection and
correspondence are the only relationships through which a design object interacts
with other design objects. Furthermore, these interactions involve the invariant
interface. As noted before, we stipulate that only design objects are versionable.
Consequently, the boundaries of a design object can be distinctly delineated by its
external features and its internal assembly, since they are necessary and sufficient to
instantiate the object. This implies that for a constituent object the composite
object that references it and other constituent objects that interact with it lie beyond
its physical and conceptual boundaries.
Copying of a version object is defined as the creation of another ver
sioned object, which is assigned unique object identifier and version number, and
which possesses identical external features and internal assembly. Thus, a newly
created or derived version is not referenced by any composite object. The values of
functions defined on type Versioned such as CreationTime, VersionNumber, etc.
must be different.
In case of composite objects, copying of internal assembly implies that a
versioned or unversioned object can appear as a constituent object in more than one
composite objects. This seems to violate Rule 4.1, which requires that a design
object can be a component of at most one composite object. In Section 4.4, we shall
review the rules given in Chapter 3.


87
external features and internal assembly properties described in Chapter 3. The chil
dren pointer array is an array of records that contain two fields: oid of the child
object and its physical address. It is assumed that the values in the children-pointer-
array are arranged in the order of their position in the clustering sequence. In the
case of generic reference, the oid and address of the generic object is stored. The
value in the parent-oid is the oid of the generic object for its parents.
A hierarchy represents a composite object which forms its root and
all its descendents. Unrelated composite objects constitute independent hierarchies.
We consider it extremely important that direct access should be provided to all
objects. Thus we envision a B+ tree index structure that provides such access. The
leaf pages of this B+ tree will contain the oid of the objects, and two pointer fields,
which contain the physical address of the object and its version set (generic object).
We discussed three units of clustering: the object, the version set, and the
set of siblings. The groups of objects that can be collocated on a single page or a
chunk is heavily contingent upon the average size of objects, the page size, and the
maximum number of pages allocated in a chunk. Ideally, the whole hierarchy or at
least the objects in third group could reside on the contiguous pages of a chunk. For
efficiency purposes, a set of pages must be exclusively reserved for a version set. All
versions in a version set are collocated on these set of pages. The generic object for
the set precedes the versioned object, which can be stored in the order they are
created. Thus, starting from the generic object, the versions in the set can be
sequentially scanned. A page table is reserved on the page where a generic object
resides; this page table contains information about the version set such as its deriva
tion graph, the protocol for determining the default version, its parent object, etc.
The requirement for the complete contiguity of pages for groups of
clustered objects is quite reasonable [Car86, Hae87, Ket88b]. However, contiguity
deteriorates due to dynamic object growth, creation of new versions and modification


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
VERSION CONTROL AND MANAGEMENT IN COMPUTER-AIDED
DESIGN DATABASES
By
Rail Ahmed
December 1989
Chairman: Dr. Shamkant B. Navathe
Major Department: Computer and Information Sciences
There are essentially two characteristics of design objects which impact
upon the iterative and probative nature of the design process. First, they are
hierarchically formed assemblies of component objects. Second, they have several
alternative representations. This dissertation addresses a broad spectrum of model
ing and operational issues related to these two aspects in computer-aided design data
bases.
A formal treatment of data modeling concepts, which are defined in
terms of primitive constructs of instances, types, homogeneous sets and functions,
and abstractions of generalization and composition, is presented for design applica
tions.
A classification of composite object attributes into intrinsic interface and
extrinsic internal assembly provides an insight into their behavior and functionality.
The design process is studied with respect to these classes of attributes. A design
evolves in discrete states through mutation and derivation, which may cause version
vi