Persistence Projects

Both projects require implementation work in Eiffel. ESCHER will require working with the EiffelStudio code itself, while ABEL is library code.

ESCHER: IDE integration of a schema evolution mechanism for object serialization

Supervisor: Marco Piccioni
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. For more details check the last submitted paper. The current ESCHER prototype:

There are many open projects. Each of them can be adapted to provide a suitable amount of work for the EiffelStudio Lab, Semester and Master thesis:

ABEL: A Better EiffelStore Library

Supervisor: Marco Piccioni
The project consists in implementing a library providing an easy to use API, transparent handling of different kinds of persistence stores, and schema evolution support. The current implementation can be found on the ABEL web site. There are many open projects. Each of them can be adapted to provide a suitable amount of work for the EiffelStudio Lab, Semester and Master thesis: