Schema evolution is a problem that is faced by long-lived data. When a schema changes, existing persistent data can become inaccessible unless the database system provides mechanisms to access data created with previous versions of the schema. Existing systems that support schema evolution focus on changes local to individual types within the schema, thereby limiting the changes that the database maintainer can perform. We have developed a model of type changes incorporating changes local to individual types as well as compound changes involving multiple types. The model describes both type changes and their impact on data by defining derivation rules to initialize new data based on the existing data. The derivation rules can describe local and non-local changes to types to capture the intent of a large class of type change operations. We have built a system called Tess (Type Evolution Software System) that uses this model to recognize type changes by comparing schemas and then produces a transformer that can update data in a database to correspond to a newer version of the schema.
|
279
|
Subtyping recursive types
– Amadio, Cardelli
- 1993
|
|
237
|
Semantics and implementation of schema evolution in object-oriented databases
– Banerjee, Kim, et al.
- 1987
|
|
230
|
Techniques for automatically correcting words in text
– Kukich
- 1992
|
|
227
|
An approach to persistent programming
– Atkinson, Bailey, et al.
- 1983
|
|
223
|
Specification matching of software components
– Zaremski, Wing
- 1997
|
|
124
|
Gandalf: Software development environments
– Haberman, Notkin
- 1986
|
|
110
|
The Management of Changing Types in an Object-Oriented Database
– Skarra, Zdonik
- 1986
|
|
108
|
Approximate string matching
– Hall, Dowling
- 1980
|
|
93
|
Signature matching: a tool for using software libraries
– Zaremski, Wing
- 1995
|
|
77
|
Beyond schema evolution to database reorganization
– Lerner, Habermann
- 1990
|
|
76
|
Creating Abstract Superclasses by Refactoring
– Opdyke, Johnson
- 1993
|
|
76
|
Class modification in the GemStone object-oriented DBMS
– Penney, Stein
- 1987
|
|
60
|
Object Lifecycles -- Modeling the World
– Shlaer, Mellor
- 1992
|
|
58
|
TAOS: Testing with analysis and oracle support
– Richardson
- 1994
|
|
50
|
Computer programs for detecting and correcting spelling errors
– Peterson
- 1980
|
|
49
|
A Transparent Object-Oriented Schema Change Approach Using View Evolution
– Ra, Rundensteiner
- 1995
|
|
49
|
Refactoring: An aid in designing application frameworks and evolving object-oriented systems
– Opdyke, Johnson
- 1990
|
|
45
|
Implementing Lazy Database Updates for an Object Database System
– Ferrandina, Meyer, et al.
- 1994
|
|
43
|
Refactoring and Aggregation
– Johnson, Opdyke
- 1993
|
|
42
|
Managing Class Evolution in Object-Oriented Systems
– Casais
- 1990
|
|
41
|
PGRAPHITE: An experiment in persistent typed object management
– Wileden, Wolf, et al.
- 1988
|
|
40
|
On dynamically updating a computer program: From concept to prototype
– Frieder, Segal
- 1991
|
|
34
|
How to design a system in which modules can be changed on the fly
– Fabry
- 1976
|
|
33
|
A Model for Versioning of Classes in Object-Oriented Databases
– MONK, SOMMERVILLE
- 1992
|
|
29
|
Meta Object Management and its Application to Database Evolution
– Tresch, Scholl
- 1992
|
|
27
|
PLEIADES: An Object Management System for Software Engineering Environments
– Tarr, Clarke
- 1993
|
|
24
|
Unified Class Evolution by Object-Oriented Views
– Bratsberg
- 1992
|
|
20
|
Advanced Primitives for Changing Schemas of Object Databases
– Breche
- 1996
|
|
20
|
Abstraction of object-oriented data models
– Lieberherr, Bergstein, et al.
- 1990
|
|
18
|
The Java programming language (2nd ed
– Arnold, Gosling
- 1998
|
|
18
|
An architecture for automatic relational database system conversion
– Shneiderman, Thomas
- 1982
|
|
18
|
CONVERT: A High Level Translation Definition Language for Data Conversion
– Shu, Housel, et al.
- 1975
|
|
17
|
A Propagation Mechanism for Populated Schema Versions
– Lautemann
- 1997
|
|
17
|
Schema Versions in Object-Oriented Database Systems
– Lautemann
- 1997
|
|
15
|
Simulation of schema change using views
– Breche, Ferrandina, et al.
- 1995
|
|
15
|
Schema Evolution and Integration
– Clamen
- 1994
|
|
15
|
Object Lifecycles: Modeling the World in States. Yourdon Press Computing Series
– Shlaer, Mellor
- 1992
|
|
14
|
TransformGen: Automating the maintenance of structure-oriented environments
– Garlan, Krueger, et al.
- 1994
|
|
12
|
Napier88---a database programming language
– Dearle, Connor, et al.
- 1989
|
|
10
|
Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems
– Sj��berg
- 1993
|
|
9
|
Schema analysis for database restructuring
– Navathe
- 1980
|
|
9
|
MultiPerspectives: The Classification Dimension of Schema Modification Management for Object-Oriented Databases
– Odberg
- 1994
|
|
9
|
Class modi in the GemStone object-oriented DBMS
– Penney, Stein
- 1987
|
|
8
|
Generation of integrated task-specific software environments
– Habermann, Garlan, et al.
- 1991
|
|
8
|
Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems
– Sjøberg
- 1993
|
|
7
|
An integrated approach to schema evolution for object databases
– Ferrandina, Lautemann
- 1996
|
|
5
|
Schema versions and DAG rearrangement views in object-oriented databases
– Kim, Korth
- 1988
|
|
3
|
Computational Objects in Object-Oriented Data Models
– Zhu, Maier
- 1989
|
|
3
|
Generation of integrated task-speci software environments
– Habermann, Garlan, et al.
- 1991
|
|
2
|
How to design a system in which modules can be changed on the
– Fabry
- 1976
|