Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Tools for Model-Driven Software Engineering (Sommersemester 2010)

Dozent: Prof. Dr. Holger Giese (Systemanalyse und Modellierung) , M.Sc. Stephan Hildebrandt (Systemanalyse und Modellierung)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 10.05.2010
  • Lehrform:
  • Belegungsart: Wahlpflichtmodul

Studiengänge

  • IT-Systems Engineering MA

Beschreibung

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.:

  • Eine ausgefeiltere statische Analyse, die auch die Syntax von OCL-Ausdrücken prüft,
  • Eine Code-Generierung, die ebenfalls eine dynamische Pattern-Matching-Strategie verwendet und OCL-Ausdrücke auf entsprechenden Java-Code abbildet,
  • Unterstützung für negative Anwendungsbedingungen.

 

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.

Voraussetzungen

Es sollten möglichst grundlegende Kenntnisse auf den folgenden Gebieten mitgebracht werden:

  • Modellierung
  • Java
  • Der Besuch der Veranstaltung "Modellgetriebene Softwareentwicklung" wird empfohlen

Literatur

  1. Thorsten Fischer, Jörg Niere, Lars Torunski, Albert Zündorf: Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java. In TAGT'98: Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations, Vol. 1764/2000:296--309 of Lecture Notes in Computer Science (LNCS), Springer-Verlag, London, UK, 16-20 November 2000.
  2. Holger Giese, Stephan Hildebrandt, Andreas Seibel: Feature Report: Modeling and Interpreting EMF-based Story Diagrams. In Proceedings of the 7th International Fujaba Days, 2009.
  3. Holger Giese, Stephan Hildebrandt, Andreas Seibel: Improved Flexibility and Scalability by Interpreting Story Diagrams. In Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2009), Vol. 18, Electronic Communications of the EASST, 2009.

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.  

Leistungserfassung

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

  • Regelmäßiger Termin ist dienstags um 15:15 Uhr in A-2.1
  • Der erste Termin am 20.4. ist eine Einführungsveranstaltung
  • Am 4.5. werden die Seminarthemen vergeben

Zurück