Research at the Chair of Model Driven Software Engineering
Focus and Targets
Model-driven software development is a promising approach to deal with the steadily increasing complexity of software-intensive systems. Widely quoted promises are concerning, for example, the use of domain-specific languages and code generators to enhance productivity and quality, as well as the reduction of adaptive maintenance costs by application of technology neutral and platform-agnostic models. However, model-driven engineering alone does not suffice to successfully manage all problems of modern software engineering, but rather creates its own challenges. This becomes clearly evident in industrial practice, especially in the fields of corrective and perfective maintenance, Version and Variant Management and also of Collaborative Software Development. Regarding continuously changing requirements and environmental conditions, model-based systems have to be continually adjusted and refined. Planned changes on models need to be specified, managed and realized with divided responsibilities. Spontaneous modifications should be observed, analyzed and properly documented. In many cases, operational and maintenance costs exceed the initial development expenses significantly. Appropriate countermeasures from classical software engineering, if existing, are mostly not readily applicable to model-based development processes.
The team's research interests focus on basic questions which occur when implementing the paradigm of model-based development in industrial practice, especially in the fileds of software evolution and maintenance. Our goal is to work on the described challenges while taking regard of both fundamental and application-oriented lines of research. Suitable methods, technologies and tools for collaborative development and controlled evolution of model-based systems are to be explored. Investigated application areas range from classical web applications and business information systems, through embedded systems and automated assembly and production facilities, to modern cyber-physical systems.
Research Profile
The research group addresses problems regarding fundamental research questions of model-based development as well as problems and challenges which commonly occur during practical application of this paradigm. Solution approaches cover the fundamentals—theoretical and methodical aspects—but notably also tools and applications. An essential result of our research are tool environments and frameworks which can be used and evaluated in various contexts, both in industrial case studies and as an answer to concrete areas of investigation for other research groups. Among others, our fields of work include:
- Development environments and processes for model-driven software engineering
- Collaborative modeling and version management of models
- Variant management of models and model-based software product lines
- (Co-)evolution of models, model repairs and synchronization
- Domain-specific modeling languages
- Model transformation and interpretation
- Code generation and reverse engineering