Formal Support for the Transformation of Software Models
Year span: 
2005 - 2009
Research lab: 

A typical characteristic of the software lifecycle is a gradual evolution from abstract, declarative models to concrete, computational ones. One of the major problems in the development of software systems is a lack of adequate support for evolution, i.e. evolution throughout the lifecycle as well as evolution in time. Consecutive models are hardly related, so that in practice various phases of the development cycle are only marginally or not at all worked out. Moreover, a modification of a software system often requires manual changes to all of the models of the consecutive phases. Therefore, in practice, modifications are often carried through only at the lowest levels and not documented properly. This results in so-called legacy systems, that embody complex functionality, but that have lost their overall structure, making it impossible to maintain them in a cost-efficient way.

This project aims to deliver formal languages, models and tool prototypes for managing software evolution in the vertical (lifecycle) and horizontical (time) dimension.