A categorical framework for the transformation of object-oriented systems: Models and data
Refactoring of information systems is hard, for two reasons. On the one hand, large databases exist which have to be adjusted. On the other hand, many programs access those data. Data and programs all have to be migrated in a consistent manner such that their semantics does not change. This paper addresses the data part of the problem and introduces a model for object-oriented structures, describing the schema level with classes, associations, and inheritance as well as the instance level with objects and links. Positive Horn formulas based on predicates are used to formulate constraints to be obeyed by the schema and instance level, in order to reflect object-oriented structures. Homomorphisms are used for the typing of the instance level as well as for the description of refactorings which specify the addition, folding, and unfolding of schema elements. A categorial framework is presented which allows us to derive instance migrations from schema transformations in such a way that instances of the old schema are automatically migrated into instances of the new schema. The natural use of the pullback functor for unfolding is followed by an initial semantics approach: Instance migration is completed with the help of a co-adjoint functor on arrow categories. (C) 2010 Elsevier Ltd. All rights reserved.
transformation refactoring migration evolution