EN

Modul

Modellgetriebene Software-Entwicklung [M-INFO-100741]

Leistungspunkte
3
Turnus
Jedes Wintersemester
Dauer
1 Semester
Sprache
Deutsch
Level
4
Version
1

Verantwortung

Einrichtung

  • KIT-Fakultät für Informatik

Bestandteil von

Teilleistungen

Identifier Name LP
T-INFO-101278 Modellgetriebene Software-Entwicklung 3

Erfolgskontrolle(n)

Siehe Teilleistung

Voraussetzungen

Siehe Teillseitung

Inhalt

Modellgetriebene Software-Entwicklung verfolgt die Entwicklung von Software-Systemen auf Basis von Modellen. Dabei werden die Modelle nicht nur, wie bei der herkömmlichen Software-Entwicklung üblich, zur Dokumentation, Entwurf und Analyse eines initialen Systems verwendet, sondern dienen vielmehr als primäre Entwicklungsartefakte, aus denen das finale System nach Möglichkeit vollständig generiert werden kann. Diese Zentrierung auf Modelle bietet eine Reihe von Vorteilen, wie z.B. eine Anhebung der Abstraktionsebene, auf der das System spezifiziert wird, verbesserte Kommunikationsmöglichkeiten, die durch domänenspezifische Sprachen (DSL) bis zum Endkunden reichen können, und eine Steigerung der Effizienz der Software-Erstellung durch automatisierte Transformationen der erstellten Modelle hin zum Quellcode des Systems. Allerdings gibt es auch noch einige zum Teil ungelöste Herausforderungen beim Einsatz von modellgetriebener Software-Entwicklung wie beispielsweise Modellversionierung, Evolution der DSLs, Wartung von Transformationen oder die Kombination von Teamwork und MDSD. Obwohl aufgrund der genannten Vorteile MDSD in der Praxis bereits im Einsatz ist, bieten doch die genannten Herausforderungen auch noch Anschlussmöglichkeiten für aktuelle Forschung.

Die Vorlesung führt Konzepte und Techniken ein, die zu MDSD gehören. Als Grundlage wird dazu die systematische Erstellung von Meta-Modellen und DSLs einschließlich aller nötigen Bestandteile (konkrete und abstrakte Syntax, statische und dynamische Semantik) eingeführt. Anschließend erfolgt eine allgemeine Diskussion der Konzepte von Transformationsprachen sowie eine Einführung in einige ausgewählte Transformationssprachen. Die Einbettung von MDSD in den Software-Entwicklungsprozess bietet die nötigen Grundlagen für deren praktische Verwendung. Die verbleibenden Vorlesungen beschäftigen sich mit weiterführenden Fragestellungen, wie der Modellversionierung, Modellkopplung, MDSD-Standards, Teamarbeit auf Basis von Modellen, Testen von modellgetrieben erstellter Software, sowie der Wartung und Weiterentwicklung von Modellen, Meta-Modellen und Transformationen. Abschließend werden modellgetriebene Verfahren zur Analyse von Software-Architekturmodellen als weiterführende Einheit behandelt. Die Vorlesung vertieft Konzepte aus existierenden Veranstaltungen wie Software-Technik oder Übersetzerbau bzw. überträgt und erweitert diese auf modellgetriebene Ansätze. Weiterhin werden in Transformationsprachen formale Techniken angewendet, wie Graphgrammatiken, logische Kalküle oder Relationenalgebren.

Arbeitsaufwand

(2 SWS + 1,5 x 2 SWS) x 15 + 15 h Prüfungsvorbereitung = 90 h