an ide-based, integrated solution to schema evolution of object-oriented software
With the wide support for serialization in objectoriented programming languages, persistent objects have become common place. Retrieving previously persisted objects from classes whose schema changed is however difficult, and may lead to invalidating the consistency of the application. The ESCHER framework addresses this issues through an IDE-based approach that handles schema evolution by managing versions of the code and generating transformation functions automatically. The infrastructure also enforces class invariants to prevent the introduction of any corrupt objects. This article describes the principles behind invariant-safe schema evolution,and the design and implementation of the ESCHER system.
serialization persistence versioning refactoring