Categorical Framework for the Transformation of Object-Oriented Systems: Operations and Methods - Schulz, Christoph; Löwe, Michael; König, Harald (Electronic Communications of the EASST, 2010)
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 that data. These programs all have to be migrated in a consistent manner such that their semantics does not change. It cannot be relied upon, however, that no running processes exist during such a migration. Consequently, a refactoring of an information system needs to take care of the migration of data, programs, and processes. This paper extends the model described in [SLK10] by operations, messages, and methods, which allows to model complete object-oriented systems. Methods are expressed by special double-pushout graph transformations. 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. Finally, a categorical framework is presented which allows to derive instance migrations from schema transformations in such a way that programs and processes to the old schema are correctly migrated into programs and processes to the new schema.