MOBEV
Modellbasierte Entwicklung verfolgt die Zielsetzung, den Fokus der Entwicklung von der Programmierung auf die Modellierung zu verschieben. Der Return of Investment für den erhöhten Modellierungsaufwand besteht in der automatischen Codegenerierung – man “programmiert” jetzt also auf einer höheren Abstraktionsebene, dem Modell – und der automatischen Erzeugung von Testfällen für das aus dem Modell erzeugte System.
Das Projekt MOBEV behandelt wichtige und aktuelle Aspekte der modellbasierten Entwicklung:
- Entwicklung domänen-spezifischer Beschreibungssprachen (Domain- Specific Languages – DSL)
- Automatische Codegenerierung aus dem Modell
- Automatische Testfall-/Testdatengenerierung aus dem Modell
- Modellvalidation mittels Model Checking
Als Anwendungsdomänen sind Bahnsteuerungen (Einsatz einer Modelleisenbahn) , Mobile Anwendungen (z. B. Mobiltelefone) und ggf. Luftfahrtanwendungen (fernsteuerbares Modellflugzeug oder Hubschrauber) vorgesehen.
In den ersten beiden Semestern liegt der Schwerpunkt auf der Entwicklung von DSLs für die im Projekt behandelten Domänen, sowie die automatische Codegenerierung aus dem Modell. Die Teilnehmer werden systematisch in die Meta-Modellierung (d. h. den Sprachentwurf) für DSLs und an Entwurf und Implementierung von Codegeneratoren herangeführt. Als Werkzeug steht hierzu MetaEdit+ der Firma MetaCase zur Verfügung, welches sich bereits in Forschung und Lehre innerhalb unserer Gruppe sehr bewährt hat. Ein besonderes Merkmal der zu entwerfenden DSL wird darin bestehen, dass zusätzlich zu den üblichen Anforderungs- und Entwurfsspezifikationsmitteln auch die Modellierung von sicherheitsbezogenen Fakten – Hazard Analysis, Risk Analysis – im selben Formalismus ermöglicht wird. Teilnehmer, die ein 2-Semestriges Master- oder Bachelor-Projekt durchführen möchten, können danach das Projekt mit einem entsprechenden Projektbericht abschließen. In den Projektsemestern 3 und 4 stehen die Erzeugung von Tests für das eingebettete HW/SW System, sowie die Prüfung des Modells mittels Model Checking im Mittelpunkt. Hierzu werden die Grundlagen des Bounded Model Checking und des automatischen Constraint Solving vermittelt. Es stellt sich heraus, dass sowohl die Erzeugung von Testdaten aus dem Modell, als auch die Prüfung des Modells gegen logische Korrektheitsbeidungungen mit den gleichen Constraint Solving Techniken erfolgen kann.