Persistence: the software evolution point of view

Overview

Most object-oriented applications need to store objects for later use. This is fine, until classes evolve. Suddenly previously stored objects may not be retrievable anymore if their classes have changed. The standard way to handle this issue is to provide conversion functions containing initialization code intended to re-establish the class invariant. We want to improve the way schema evolution is handled in persistent object-oriented applications. A first outcome is the ESCHER tool, integrated into EVE, the existing Eiffel Verification Environment. The tool handles class versions, generates conversion functions templates and provides a retrieval algorithm to ensure an invariant-safe class evolution.

Download

ESCHER is part of the Eiffel Verification Environment repository (EVE), and the source code is available.

Project members

Publications