
Tools for Model-Driven Software Engineering (SS2010)
Dozent: Prof. Dr. Holger Giese, M.Sc. Stephan Hildebrandt, Dipl.-Inform. Andreas SeibelBeschreibung |
|
Bei der modellgetriebenen Softwareentwicklung geht es zum Einen darum den Abstraktionsgrad bei der Entwicklung von Software durch die Einführung von Modellen zu erhöhen um die steigende Komplexität zu beherrschen. Zum Anderen geht es darum einen möglichst hohen grad an Automatisierung, durch die Einführung von formalen Modellen und Technologien, zu erreichen, wie z.B. das Überführen von Modellen aus unterschiedlichen Abstaktionsebenen oder das generieren von Quellcode aus diesen Modellen. Bei Strukturmodellen, wie z.B. Klassendiagrammen, ist dies ohne große Umstände möglich und findet in der Praxis immer mehr Verbreitung. Bei Verhaltensmodellen ist das deutlich schwieriger. Viele Verhaltensmodelle sind entweder nicht formal genug, um sie ausführen zu können, oder zu speziell, um sie für die Beschreibung von allgemeinem Verhalten einsetzen zu können. Story-Diagramme[1] sind eine erweiterte Form von UML-Aktivitätsdiagrammen, die dieses Problem angehen. Sie erweitern die Aktivitätsdiagramme um Graphtransformationsregeln, mit deren Hilfe sich Pattern-Matching-Schritte und die Erzeugung und Zerstörung von Objekten anschaulich und kompakt darstellen lassen. Zur Ausführung von Story-Diagrammen wird am Fachgebiet „Systemanalyse und Modellierung“ an einem Interpreter entwickelt. Dieser Interpreter basiert auf dem Eclipse Modeling Framework und wird in [2] und [3] beschrieben. Wichtigstes Feature des Interpreter ist die dynamische Pattern-Matching-Strategie, die sich zur Laufzeit an die Topologie des zugrundeliegenden Modells anpassen kann. In den Story-Diagrammen können außerdem OCL-Ausdrücke verwendet werden, um zusätzliche Bedingungen zu beschreiben. Außerdem gehören ein grafischer Editor und eine einfache statische Analyse für Story-Diagramme zu der Tool-Suite dazu. Im Rahmen dieses Projektseminars sollen die Teilnehmer die Tool-Suite um verschiedene Features erweitern, z.B.:
Hinweis: Der Interpreter und alle dazugehörigen Werkzeuge sind unter der Eclipse Public License (http://www.eclipse.org/legal/epl-v10.html) veröffentlicht. Wir würden die Arbeitsergebnisse der Teilnehmer gern in die veröffentlichte Version einfließen lassen. Dazu ist es notwendig, dass die Teilnehmer ihre Arbeitsergebnisse ebenfalls unter der Eclipse Public License veröffentlichen und dies schriftlich bestätigen. Diese Bestätigung ist jedoch nicht Voraussetzung zur Teilnahme an diesem Projekt-Seminar. |
|
Anforderungen |
|
Es sollten möglichst grundlegende Kenntnisse auf den folgenden Gebieten mitgebracht werden:
|
|
Lern- und Lehrformen |
|
Diese Veranstaltung ist weder eine Vorlesung noch ein Seminar im herkömmlichen Sinne. Es handelt sich hier um ein Projektseminar, bei dem am Ende der Veranstaltung ein „Produkt“ entstehen soll, das die gestellten Aufgaben erfüllt. Es soll in einer Gruppe an diesem Projekt gearbeitet werden. Es wird eine Einführungsveranstaltung geben, bei der die Idee des Projekts sowie die notwendigen Grundlagen vermittelt werden. In dieser Einführungsveranstaltung werden unter Anderem auch die einzelnen Themen bekanntgegeben. In einer weiteren Sitzung werden die Themen an die einzelnen Studenten vergeben. Nach der Verteilung der Aufgaben wird mit jedem Studenten ein individuelles Gespräch über das Aufgabengebiet angeboten. Am Ende des Projekts werden die Ergebnisse der gesamten Projektgruppe vorgestellt. |
|
Literatur |
|
|
|
Leistungserfassungsprozess |
|
Bewertet werden nur die Einzelleistungen, nicht das gesamte Projekt. Unter Einzelleistungen wird die jeweilige Umsetzung der individuellen Aufgabe sowie dessen Dokumentation in Form einer kurzen Ausarbeitung (8-10 Seiten) verstanden. |
|
Termine |
|
|
|
| Allgemeine Informationen | |
ID: |
L 1086 |
Kennung: |
|
SWS: |
4 |
ECTS Credit Points: |
6 (benotet) |
Einschreibefrist: |
10.5.2010 |
Studiengang: |
IT Systems Engineering (Master) |
Themenmodul: |
|
Lehrform: |
|
Belegungsart: |
Wahlfach |
Themenkomplex: |
|
Vertiefungsgebiet: |
Software Engineering, Systems Architecture, Systems Integration |


