SERF: ODMG-Based Generic Re-structuring Facility
E.A. Rundensteiner, K. Clayp o ol, M. Li, L. Chen, X. Zhang, C. Natara jan, J. Jin, S. De Lima, S. Weiner
Department of Computer Science
Worcester Polytechnic Institute
Worcester, MA 01609
tel.: 508 831{5815, fax: 508 831{5776
frundenst,ka jal,mingli,lichen,xinz,chandu,jing,delima,[email protected]
such transformations. Research that has b egun to lo ok 1 Overview
into the issue of complex changes [Br e96, Ler96] is still
The age of information management and with it the
limited by providing a xed set of some selected even
advent of increasingly sophisticated technologies have
if now more complex op erations.
kindled a need in the database community and others
To address these limitations of the current re-
to re-structure existing systems and move forward to
structuring technology, we have prop osed the SERF
make use of these new technologies. Legacy application
framework which aims at providing a richenvironment
systems are b eing transformed to newer state-of-the-art
for doing complex user-de ned transformations exi-
systems, information sources are b eing mapp ed from
bly, easily and correctly [CJR98b]. The goal of our
one data mo del to another, a diversity of data sources
work is to increase the usability and utility of the
are b eing transformed to load, cleanse and consolidate
SERF framework and its applicability to re-structuring
data into mo dern data-warehouses [CR99].
problems b eyond OODB evolution. Towards that end,
Re-structuring is thus a critical task for a variety
we provide re-usable transformations via the notion
of applications. For this reason, most ob ject-oriented
of SERF Templates that can be packaged into li-
database systems OODB to day supp ort some form of
braries, thereby increasing the portability of these
re-structuring supp ort [Tec94, Ob j93, BKKK87]. This
transformations. We also nowhave a rst cut at pro-
existing supp ort of current OODBs [BKKK87, Tec94,
viding an assurance of consistency for the users of this
Ob j93] is limited to a pre-de ned taxonomy of simple
system, a semantic optimizer that provides some p erfor-
xed-semantic schema evolution op erations. However,
mance improvements via enhanced query optimization
such simple changes, typically to individual typ es
techniques with emphasis on the re-structuring prim-
only, are not sucient for many advanced applications
itives [CNR99]. In this demo we give an overview of
[Br e96]. More radical changes, such as combining
the SERF framework, its current status and the en-
two typ es or rede ning the relationship between two
hancements that are planned for the future. We also
typ es, are either very dicult or even imp ossible to
present an example of the application of SERF to a
achieve with current commercial database technology
domain other than schema evolution, i.e., the web re-
[Tec94, Ob j93]. In fact, most OODBs would typically
structuring.
require the user to write ad-ho c programs to accomplish
This work was supp orted in part by the NSF NYI grant IRI
2 OQL-SERF: Our ODMG Based
94-57609. Wewould also like to thank our industrial sp onsors, in
System
particular, IBM for the IBM partnership award and Informix for
software contribution. Sp ecial thanks also go es to the PSE Team
2.1 System Architecture
sp eci cally, Gordon Landis, Sam Haradhvala, Pat O'Brien and
Breman Thuraising at Ob ject Design Inc. for not only software
In order to validate our concept of SERF transforma-
contributions but also for providing us with a customized patchof
tions [CJR98b], we have develop ed a working system,
the PSE Pro2.0 system that exp osed schema-related APIs needed
called OQL-SERF [CJR98a]. OQL-SERF serves b oth
to develop our to ol.
as pro of of concept as well as helps to explore the suit-
ability of the ODMG standard as the foundation for
a template-based re-structuring framework. For OQL-
SERF, we have used an extension of Java's binding
of the ODMG mo del as its ob ject mo del, our bind-
ing of the Schema Rep ository for the Metadata Dic-
tionary and OQL as the database transformation lan-
guage. OQL-SERF is written entirely in Java and uses
Ob ject Design Inc.'s 100 Pure Java PSE as its p er- user wants to apply the SERF template transformation.
sistent store. As part of our development e ort we A type-check ensures that the typ es of the parameters
have also built on top of PSE, aschema evolution fa- match and they exist in the system as well as the
cility, Schema Evolution Primitive Manager, the correct numb er of parameters are supplied by the user.
Schema Rep ository and OQL Query Engine which This is followed by a bind-check which checks the
are not directly a part of the SERF system. Figure 1 existence of these actual parameters in the schema on
gives the overall architecture of our system. which they are b eing applied by accessing the Schema
Rep ository. The SERF template is instantiated using
SERF Framework
these parameters by replacing each variable with its
b ound parameter after all the checks are completed Template Manager
User Template
successfully. The instantiated SERF template now Interface Processor
invokes
ts, i.e., wenow call invokes Instantiates corresp onds to pure OQL statemen Template and
Editor executes
an OQL transformation. The OQL Query Engine uses Semantic Consistency it Template
Schema Optimizer Manager
vides an interface for the syntax-checking, the Library pro
Viewer
parsing and the execution of the OQL transformation.
uses uses uses
Template Library. SERF templates for a particular
domain are collected in a Template Library. Searchof
Schema Schema Query
a template in this library is supp orted via simple key- Repository uses Evolution Engine
Primitives
word search on all stored parameters of the template
h as the input and output parameters, the name,
queries operates on suc
1
the contract , and the description. We are currently in
Object
inheritance and other semantic
Repository queries the pro cess of de ning
relationships between templates to facilitate a multi-
level organization of the template library.
OODB System
Consistency Manager. The current version of the
Figure 1: Architecture of the SERF Framework
Consistency Manager deals with b oth the invariant
consistency as sp eci ed by the invariants of the ob ject
mo del as well as with contractual consistency, i.e.,
2.2 To ols for the SERF System
the consistency as sp eci ed by the individual contracts
Template Pro cessor. The Template Pro cessor is an
of a template. As part of the consistency manager,
interface between the user and the SERF framework
we have develop ed a language for the sp eci cation of
for the execution of a template. Figure 2 shows
contracts, i.e., the constraints that must be sati ed
the steps p erformed by the Template Pro cessor for
by the input schema given by the template and also
the execution of a SERF template. The template
the constraints that must be satis ed at termination
pro cessing b egins with the user supplying the input
time. The consistency manager uses these contracts
parameters. These parameters are a particular Class
for the detection of erroneous templates and provides
or Property in the application schema to which the
a framework for the managementof violations as well
as for veri cation.
Template inline(className, refAttrName) className = Class Person,
refAttrName = Attribute address
Semantic Optimizer. The Optimizer is a to ol for
Type-check optimizing SERF templates in terms of their execution
error
The semantic optimizer uses a query graph as
pass times.
internal representation. The optimization is based
Bind-check error its
on a semantic analysis of the data dep endencies in this
pass Error to User
graph, as well as heuristics of pairwise eliminating, can-
Instantiate
celing or merging schema evolution primitives [CNR99].
inline(Person, address)
e have fo cused in particular on the optimization of (, W
Pure oql statements olution metho ds. syntax-check ev error
pass
Application sp eci c to ol: XML Mapp er. In the
Execute
context of Re-WEB, a system for the generation and
1
This is for the sp eci cation of consistency constraints as
Figure 2: Steps for the Execution of a Template.
required by the consistency manager.
re-structuring of the web based on the SERF system, [CJR98b] K.T. Clayp o ol, J. Jin, and E.A. Run-
wehave also develop ed the XML Mapp er, a to ol that densteiner. SERF: Schema Evolution
allows us to pro duce xml les using the structure and through an Extensible, Re-usable and Flex-
the ob jects present in the ob ject database and vice ible Framework. In Int. Conf. on Infor-
versa. The XML Mapp er uses the web semantics we mation and Know ledge Management, pages
de ned for the ODMG ob ject mo del [CRCK98]. 314{321, Novemb er 1998.
[CNR99] K.T. Clayp o ol, C. Natara jan, and E.A.
2.3 Highlights of the Demo
Rundensteiner. CHOP: An Optimizer for
We will demonstrate the latest version of our OQL-
Schema Evolution Sequences. Technical
SERF system using an example to walk through and
Rep ort WPI-CS-TR-99-06, Worcester Poly-
show its core functionality in terms of the steps of
technic Institute, February 1999.
execution for a transformation Figure 2 using our
2
library of templates . We will also demonstrate
[CR99] K.T. Claypool and E.A. Rundensteiner.
the re-usability, exibility and the extensibility of our
SERF: Transforming your Database. In
SERF framework and its applicability to the web re-
IEEE Bul letin - Special Issue on Database
structuring via the following:
Tranformation Technology, 1999. to app ear.
[CRCK98] K.T. Clayp o ol, E.A.
Re-usability. We will demonstrate how a transfor-
Rundensteiner, L. Chen, and B. Kothari.
mation can be generalized to a template as ab ove
Re-usable ODMG-based Templates for Web
and re-used for other meta ob jects in the schema.
View Generation and Restructuring. In
CIKM'98 Workshop on Web Information
Flexibility. We will demonstrate the ease with which
and Data Management WIDM'98, Wash-
a user can change the semantics of a pre-existing
ington, D.C., Nov.6, 1998.
template.
[Ler96] B.S. Lerner. A Mo del for Comp ound Typ e
Extensibility. We will demonstrate the extensibility
Changes Encountered in Schema Evolution.
of our system by showing how a template can
Technical Rep ort UM-CS-96-044, Univer-
be emb edded in another template to make more
sity of Massachusetts, Amherst, Computer
complex transformations.
Science Department, 1996.
Applicability Beyond Schema Evolution. We demon-
[Ob j93] Ob ject Design Inc. ObjectStore - User
strate how Re-WEB can be used to generate cus-
Guide: DML. ObjectStore Release 3.0 for
tomized web pages. SERF makes restructuring of
UNIX Systems. Ob ject Design Inc., Decem-
web sites a very manageable task.
b er 1993.
[Tec94] O Technology. O Reference Manual,
2 2
References
Version 4.5, Release November 1994. O
2
[BKKK87] J. Banerjee, W. Kim, H. J. Kim, and
Technology, Versailles, France, November
H. F. Korth. Semantics and Implementation
1994.
of Schema Evolution in Ob ject-Oriented
Databases. SIGMOD, pages 311{322, 1987.
[Br e96] P.Br eche. Advanced Primitives for Chang-
ing Schemas of Ob ject Databases. In Con-
ference on Advanced Information Systems
Engineering, pages 476{495, 1996.
[CJR98a] K.T. Clayp o ol, J. Jin, and E.A. Runden-
steiner. OQL SERF: An ODMG Implemen-
tation of the Template-Based Schema Evo-
lution Framework. In Centre for Advanced
Studies Conference, pages 108{122, Novem-
b er 1998.
2
This library of templates has b een formulated by the case
study of the di erent transformations that we have found in
research literature.