Research in the field of Software Engineering
Software Architectural Design
Evolutionary Software Engineering and Software Reengineering
Model-Based Architecture Construction
Complex software systems have to follow constantly changing requirements. Their dependability and reliability have to be maintained over long periods. In practice, software changes often lead to a decline in quality characteristics such as maintainability, flexibility, clarity, reliability, and efficiency. Incomplete and inadequate changes lead to damage to the structure. Such effects are also known as architectural decay or entropy loss. A close linkage between forward and reverse engineering methods and techniques, and the enforced use of models should help to avoid such effects. By maintaining the evolvability of the software systems, permanent further development can be achieved. Furthermore, the methods enable improved tool support and increased efficiency of software development.
The evolutionary development of software systems requires models as the basis for development activities. Linking the models of requirements, architectures, and implementation is particularly essential to solving complex tasks. Traceability links have proved to be an important means to maintain the consistency of the models of different views, which are necessary to manage the complexity. The descriptions used must be based on a sound basis, and they have to be supported by adequate development methods. The bridging of the transition between requirements specification and architectural models which are often referred to as a semantic gap, demands special methods and models, as well as an explicit representation of traceability links and dependency relationships.
Here you can find a list of our publications, many of them for download.