Research Areas

The Chair of Software Engineering currently conducts research in three main areas.

  • Multi-Level (Deep) Modeling

    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. 

  • View-Driven Software Engineering

    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

  • Scalable Software Analysis and Observation

    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/or properties. Today this is a highly tedious and laborious activity requiring significant human time and effort. At the Chair of Software Engineering we are therefore working on a platform known as LASSO (Large-Scale Software Observatorium) that supports the notion of “live data sets” where almost all aspects of the data set curation, analysis and observation process are automated.  LASSO allows researchers to automatically curate large, customized data sets and collect information about the behaviour of their contents by simply writing abstract scripts in a declarative DSL. In essence LASSO is a workflow engine, operating on top of a large software repository or external data sources, that allows a wide (and user-extensible) range of selection and comparison operations to be applied automatically using the dedicated LASSO Scripting Language (LSL).