Institutt for informatikk

Instituttseminar med Professor Michael Löwe

Tittle: Rule-based Refactoring of Software Systems - A Graph Transformation Approach


Agile and test-driven software development needs powerful refactoring support, since changes to the system under development are often. (For example, design patterns are introduced on demand not in advance.) For the time being, the agile method and software refactoring work quite good as long as the system being developed is not in operation. The situation is different for productive real-life systems that possess huge databases. Changing the structure of the software (i. e. the system's model) requires corresponding changes to the data. Here, we do not find satisfactory refactoring support that automatically induces (on-demand) data migrations from model refactorings. To some extent, the necessary theory for a suitable tool support is missing yet.

In this talk, we present a (formal) framework that is able to describe model refactorings together with induced data migrations. We demonstrate the practical power of the model by some typical refactoring examples like “interface extraction”, “pulling-up of associations”, “proxy insertion”, or “composite preparation”. Within the framework, theoretical results can be proven which are needed as a solid basis for practical tool support. In this talk, we discuss sequential composition of refactorings – a necessary prerequisite for practical versioning support of models and data.

For the time being, the framework is not rule-based. Refactorings are relations between complete models. This is not appropriate for practical purposes. In this talk, we show that the current approaches to (algebraic) graph transformation cannot be applied here: Refactoring rules do not delete and insert model artefacts, they copy and merge them. We present first ideas, how the mechanisms and the theory of the algebraic approaches to graph transformations can be generalized in order to be applicable in the presented refactoring framework.

About the speaker:  Prof. Dr. Michael Löwe is the head of the Computer Science department at the University of Applied Science Hannover in Germany (http://www.fhdw-hannover.de/en/node/1). His main research interests are the foundation and the practical application of Algebraic Specifications and Graph Transformations.