(last updated June 15, 1998)
SERF: Schema Evolution using an Extensible, Re-usable and Flexible Framework
With current database technology trends, there is an increasing need to specify and handle complex schema changes. The existing support for schema evolution in current OODB systems is limited to a pre-defined taxonomy of schema evolution operations with fixed semantics. Given the variety of types, complexity, and semantics of transformations, it is sheer impossible to a-priori provide a complete set of all complex changes that are going to meet all user's needs. The SERF project is based on the premise that different applications may have diverse specialized requirements in evolution, and that we must aim to support such requirements to an as large degree as possible to avoid the construction of ad-hoc code for application evolution. Our general strategy is to investigate an integration of a fixed set of primitive change operations with the standard object-query language (OQL) as vehicle for flexible object migration. The SERF framework succeeds in giving the user the flexibility to define the semantics of their choice, the extensibilty of defining new complex transformations, and the power of re-using these transformations through the notion of templates. We are currently in the process of implementing this framework using the ODMG standard. OQL-SERF, our prototype, uses OQLas the database transformation language, ODMG's definition of the Schema Repository and for an Object Model uses Java's binding of ODL.