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.
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.
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.
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.
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.
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.
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.
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.
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.
Die AG MBSE betätigt sich in der Forschung in den folgenden Feldern:
HyVar addresses continuous software evolution in distributed systems by proposing a framework for hybrid variability. The framework combines:
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.
WebpageIm Rahmen der Forschung entwickelt die AG MBSE unterschiedliche Tools: