The Chair of Software Engineering currently conducts research in three main areas.
Multi-level modeling (MLM) is an extension to the traditional two-level, object-oriented paradigm that can improve the utility, reliability and complexity of models. In contrast to conventional approaches, MLM accomodates an arbitrary number of classification levels and offers a range of novel concepts promoting expressiveness, reuse and adaptability. A key aspect of the MLM paradigm is the use of entities that are simultaneously types and instances, a feature which has consequences for conceptual modeling, language engineering and the development of model-based software system. The Chair of Software Engineering developed and maintains the Melanee toolkit which implements a deep, multi-format, multi-notation variant of MLM. “Multiformat” denotes the ability to seamlessly editing a language in several formats in parallel (e.g. diagrammatic, textual and tabular) while “multi-notation” denotes the ability to mix notations arbitrarily (i.e. to show one part of a model in a general-purpose, UML-like, notation and one part in a domain-specific notation such as BPMN). The deep modeling component of the tool, underpinned by the orthogonal classification architecture and deep instantiation, allows models to contain as many classification levels as needed to concisely represent the domain in hand.
Although they may differ in how they decompose and conceptualize software systems, all advanced software engineering paradigms increase the number of different views involved in visualizing a system. Managing these different views can be challenging even when a single development paradigm is used separately, but when they are used together the number of views and inter-dependencies quickly becomes overwhelming. To tacjkle this problem the Chair of Software Engineering is working on a novel approach for organizing and dynamically generating the different views used in advanced software engineering methods, referred to as Orthographic Software Modeling (OSM). It provides a simple metaphor for integrating different software development paradigms. OSM aims to allow software engineers to model software components in a way engineers of other disciplines model components with CAD tools, e.g. by using orthographic projections for complex systems. OSM has three main ingredients: A view-based software development method, on-demand view generation, and dimension-based navigation. As an application example for OSM, we use the KobrA software development method, developed at Fraunhofer IESE.
To validate hypotheses and tools that depend on the semantics of software, it is necessary to assemble, prepare and maintain (i.e. curate) large, high-quality corpora of executable software systems exhibiting certain desired behavior and/