Arbeitsgruppe Modellbasierte Softwareentwicklung (AG MBSE)

Working Group Model-Based Software Engineering (WG MBSE)

Die AG MBSE betätigt sich als Teil des Instituts für Softwaretechnik und Fahrzeuginformatik (ISF) in Lehre und Forschung rund um das Thema modellbasierte Softwareentwicklung.

Team

Prof. Dr.-Ing. Christoph Seidl
Michael Nieke, M.Sc.
Webpage
Alexander Schlie, M.Sc.
Webpage

Lehre

Vorlesung Modellbasierte Softwareentwicklung

The lecture teaches students the fundamentals of model-driven software development with metamodels using state-of-the-art concepts and tools. Contents are conveyed in a combined lecture and exercise phase followed by a practical group-project phase.

Lecture and Exercise Phase

In class-room lectures, students learn the fundamental concepts of model-driven software development in three major blocks: metamodel creation, concrete syntax and model transformation. Accompanying exercises introduce the most relevant tools for each area and provide a chance for students to get first-hand development experience through completing tasks specific to each topic. This puts students in the position to conceive and realize a model-based tool.

Group-Project Phase

In a two-month period, groups of students work on a model-driven development project to get hands-on experience with the concepts and tools presented in the lecture and exercise. In an interative process, students propose and refine the topic of their project along with suitable implementation tools. In groups of four, students design and implement the previously envisioned model-based tool before they present the results to their supervisors and fellow students in a final presentation.

Projektarbeiten der Vorgängerjahre

Easy Game Generator
Knowledge Networks
Skiarea Planer
Text Adventures

Lab on Model-Driven Software Development:
Creating a Model-Based Programming Language

The lab guides students through the process of designing and realizing an own model-based programming language, writing a compiler to an intermediate language and creating an execution environment revolving around the language's interpreter.

Model-Based Programming Language (MPL)

MPL is a Turing complete programming language with variables, calculations, control flow statements and operations. MPL is developed in four revisions with increasing complexity, where the first one is developed in a class-room tutorial and the other three in homework assignments. The resulting metamodel and textual syntax are used to generate an editor.

Model-Based Intermediate Language (MIL)

MIL features an instruction set similar to that of processors with a total of 19 instructions, which are easy to execute. MIL is developed in four revisions that align with those of MPL. In class-room tutorials and homework assignments, students design a metamodel and textual syntax for MIL while learning the semantics of each instruction.

Execution Environment

Instead of executing MPL directly, it is compiled to MIL by model-to-model transformation. Students devise and implement appropriate translations from MPL constructs to MIL instructions. The execution environment for MIL is a hybrid stack/register machine students implement in Java. The implementation is relatively straight forward, which makes it portable so that MIL instructions and, thus, MPL code can be executed on different platforms when necessary.

Extensions to Language Infrastructure

Students follow up on the guided tasks in free exercises where they can choose from a number of potential topics to extend and refine the language infrastructure, e.g., introducing a type system to MPL, creating a graphical programming language that compiles to MIL, writing a debugger for MIL or compiling MIL to a binary format with an interpreter for embedded devices. To complete the lab, students have to realize at least one free exercise topic.

See the lab's homepage.

Forschung

Die AG MBSE betätigt sich in der Forschung in den folgenden Feldern:

Projekte

HyVar - Scalable Hybrid Variability

HyVar addresses continuous software evolution in distributed systems by proposing a framework for hybrid variability. The framework combines:

Webpage

CrESt - Collaborative Embedded Systems

Das Zukunftsprojekt "Collaborative Embedded Systems" (CrESt) hat zum Ziel, ein umfassendes Rahmenwerk für die Entwicklung kollaborierender eingebetteter Systeme zu schaffen, das die neuartigen Herausforderungen in der Entwicklung kollaborierender eingebetteter Systeme in dynamischen Systemverbünden auf Basis der SPES Entwicklungsmethodik adressiert und damit der deutschen Industrie einen entscheidenden Wettbewerbsvorteil in diesen zukunftsträchtigen und bedeutenden Anwendungsfeldern verschafft.

Webpage

Tools

Im Rahmen der Forschung entwickelt die AG MBSE unterschiedliche Tools:

DeltaEcore
Webpage
Darwin SPL
Webpage