Über LPZ E-BUSINESS
Lehre
Lehrveranstaltungen
Klausuren
Abschlussarbeiten
DuD-Seminar
Praktika
Forschung
Projekte
Veröffentlichungen
Veranstaltungen
Kontakt
Presse
Interner Bereich
 
Agile MDA
IT-Radar
Cepheus
Distinguished Lectures
Series
Abschlussarbeit - Details
Modellbasierte Codegenerierung für Software-Varianten mit Template Engines
 
Zur Erlangung des Grades Diplom-Informatiker

 
Autor: Daniel Käps
 
 
Betreuer: Dipl.-Inf. Ruslan Hrushchak
 hrushchak@ebus.informatik.uni-leipzig.de
 
 
Betreuer: Dipl.-Inf. Michael Becker
 becker@ebus.informatik.uni-leipzig.de
 
 
Im Bereich der modellgetriebenen Software-Entwicklung (MDSD) und im Bereich der Software-Produktlinien (SPL) werden zur Codegenerierung häufig Template Engines eingesetzt, um Varianten von Source Code zu generieren. Der Einsatz einer Template Engine (TE) und von Codegenerierung im Allgemeinen birgt aber einige Schwierigkeiten bei der Integration dieser in den Entwicklungsprozess. Darüber hinaus besitzen existierende Template Engines Einschränkungen bezüglich Ausdrucksstärke, Flexibilität, Modularisierung und Debugging-Unterstützung der erstellten Templates.

Für den Einsatz einer an der Professur für Angewandte Telematik / e-Business entwickelten Feature-Modellierungssoftware bei z.B. SPL-Entwicklungen sollen Varianten von Source-Code u.a. mit Template Engines auf Basis von erstellten Feature-Modellen generiert werden. Es existiert eine Vielzahl an TE Systemen, welche sich jedoch in ihren Ansätzen, Eigenschaften und Möglichkeiten stark unterscheiden. Es stellt sich daher zuerst die Frage, welche Eigenschaften einer Template Engine notwendig oder sinnvoll sind, um Variations- und Komposititionsmechanismen für Source Code bzw. allgemein Textdateien und Textfragmente unter Zugriff auf Modelldaten in leistungsfähiger Weise zu ermöglichen, und inwieweit dabei Aspekte wie die Modularisierbarkeit von Templates, Fehlererkennung usw. berücksichtigt werden.

Wenn Source Code generiert wird, dann wird dadurch der gesamte Entwicklungsprozess zunehmend komplex, dies hat Auswirkungen beim Debugging und auf das Management des Build-Prozesses. Bei SPL Entwicklungen entsteht etwa der Wunsch, zwecks Continuous Integration (CI) und zu Testzwecken Teilmengen der Gesamtmenge an Produktvarianten zu generieren. Ein weitere wichtige Problemstellung ist daher die Integration der Codegenerierung mittels Template Engines in den gesamten Enwicklungs-Workflow und in den Build-Prozess.

Die Arbeit soll die aufgeworfenen Fragestellungen zur Generierung von Varianten von Source Code mit Template Engines beantworten, und hierbei Stärken und Schwachpunkte existierender Systeme ermitteln sowie Verbesserungsmöglichkeiten analysieren. Weiterhin soll eine Template Engine Architektur entworfen werden, welche verschiedene Verbesserungsmöglichkeiten berücksichtigt und einen Zugriff auf Modelldaten und eine Integration mit Modellierungswerkzeugen ermöglicht. Diese Architektur soll als Prototyp umgesetzt werden und eine Integration mit der Feature-Modellierungssoftware bieten, u.a. mit der Möglichkeit des Zugriffs auf Feature-Modelldaten. Abschließend sollen verschiedene Eigenschaften des Template Engine Prototyps mit einem Beispielmodell getestet werden.