[an error occurred while processing this directive]

Research in Computer Science II

Type of project:
Research in Computer Science II (263-0600-00L) AS 2007

Matthias Loeu

Schema Evolution for EiffelStudio

Supervising Assistant:
Marco Piccioni


In object-oriented applications, serializing objects is a common way of storing data. However, unse-
rializing the object at a later time may pose a problem if and when the corresponding class structure
has changed in the meantime. This means that the system may not be able to read a previously
stored object of a class anymore because a new version of the class itself is being used.
The Eiffel language provides a converter semantic that allows the developer to provide custom code
in order to convert one class to another. I will use this feature in order to generate a function which
(semiautomatically) converts an object of the old version of the class to the updated version. This
function will be integrated to EiffelStudio in the future.

The goal of this project is:

1. Define rules which are to be used when converting class Schemata
2. Create a class which automatically generates a converter using these rules
3. Compare the AST of the two classes, check for differences and create a conversion
4. Try to integrate this functionality into EiffelStudio