Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.

. .


My Research Interests

Model-Driven Architecture (MDA) is proclaimed by the OMG to be the main philosophy of software engineering in the 21st century. Believing that, software is not developed by lines of source code any longer, but it is rather defined by different kinds of models. In the course of this, UML is used as the de facto standard language for software modeling.

However, well-known 'behavior/nature', techniques and methodologies of code-centric software development are still applicable to model-driven development, too. To give some examples:

  • Models evolve: Similar to source code, models are not created in one step; they are rather developed in several iterations, whereby each version is stored as revision in a version management system.
  • Models vary: Often exist many variants of one model. In versioning systems one uses branches to manage these variants.
  • Modeling is a collaborative task: Nowadays software is rarely developed by one person; teams of several engineers work together although they might be located in different places on earth.

All these circumstances require a support of models in a way one is used to it from source code. Especially the examples given above make obvious that tools differencing and merging become more and more necessary. Difference computation allows to determine whether and how models have changed. And merging supports to integrate different models.
Specific model versioning systems, e.g. working on object-oriented databases, might be obvious solution, but they hardly integrate into daily practice and environments of software development. Usually, models are just stored in versioning systems as they are: as files.

As a member of the SiDiff-Project I deal with the above mentioned problem and offer solutions in form of tools and consulting to it. Beside differencing and merging of models I heavily research model histories and model evolution. For instance, traceability of model elements within a history, is one of my top research topics.
Beside that I am generally interested in model-driven and model-based development of software systems.