UML Modellierung für grafische Modelle

 

Vertiefende Übung / Fortgeschrittenenpraktikum (4/8 SWS), Wintersemester 2007/08
Lehrstuhl für Echtzeitsysteme und Eingebettete Systeme

 

 

Projekt-Webseite (trac)

E-Mail-Verteiler: rt-prak   

Vorbesprechungen: (alternativ)
Mi. 18.07.2007, 12:15 Uhr, CAP4 1118 (Hochhaus, 11. Stock)
Di. 23.10.2007, 12:15 Uhr, CAP4 1118 (Hochhaus, 11. Stock)

Zeit:  jeweils nach Vereinbarung,  Raum: CAP4 - R.1114; UnivIS: 4SWS, 8SWS
Dozent: Hauke Fuhrmann

Das Praktikum wird angerechnet als:

  • Diplomstudiengang: Fortgeschrittenenpraktikum (4 oder 8 SWS)
  • Bachelor Studiengang: Aufbaumodul 5.3 - Fortgeschrittenenpraktikum (4 SWS)
  • Master Studiengang: Masterpraktikum (4 SWS)

Grundthematik des Praktikums kann auch als Studien-, Bachelor-, Master- oder Diplomarbeit bearbeitet werden. Weitere Infos dazu.

Inhalt

Motivation:

Grafische Modellierung bahnt sich ihren Weg in immer neue Gebiete der Informatik und hat sich auch zur Entwicklung von Eingebetteten- und Echtzeitsystemen durchgesetzt. Gerade in diesem Teilgebiet ist nicht nur die Unified Modeling Language (UML) die Sprache der Wahl, sondern noch viele andere, die sich zur Modellierung von Reaktiven Systemen oder Regelkreisen besser eignen (z.B. Matlab/Simulink (Vorlesung), SCADE (Vorlesung) von Esterel-Technologies). Gemeinsam haben sie jedoch, dass die grafische Repräsentation in der Regel durch WYSIWYG Editoren erstellt werden muss, was viele Einschränkungen zur Folge hat: Lange manuelle Zeichenoperationen, umständliches Ändern von Modellen, keine Möglichkeit zur Synthese von grafischen Modellen, etc.

Anwendung:

Im Praktikum soll damit begonnen werden, eine neue Editor-Familie aufzusetzen, welche die grafische Modellierung revolutionieren soll. Die Basisidee ist, dass der Computer wesentliche Teile des Modellierens selbst übernimmt, nämlich das komplette grafische Layout der Modelle nach der Idee des KIEL Projektes. Dafür müssen zunächst Layoutalgorithmen für die grafischen Repräsentationen implementiert werden und Methoden zur Erstellung der Modelle. Mögliche weitere Ziele können sein  (je nach Teilnehmeranzahl und persönlichen Interessen): Datenbankanbindung, Interface-Erstellung zu state-of-the-art Werkzeugen, Simulationsvisualisierung

Umgebung:

Um sich auf die wesentlichen Ziele konzentrieren zu können, soll die Software in

die Open Source Plattform Eclipse integriert werden, welche mitlerweile auch als state-of-the-art für Modellierung angesehen werden kann.

Software-Engineering:

Zur Implementierung der Anwendung selbst soll auch grafische Modellierung eingesetzt werden. Implementierung findet in Java statt und soll möglichst umfassend mit der UML2 entwickelt werden. Dabei sollen entsprechend mächtige Werkzeuge zum Einsatz kommen, die selbst auch wieder auf Eclipse aufsetzen und Code-Generierung aus den Modellen und Round-Trip-Engineering unterstützen. Offene Projekt-Management-Platformen (trac) können helfen, das Zusammenspiel im Team zu unterstützen Hand in Hand mit  einer mächtigen Versionsverwaltung (subversion, Weiterentwicklung von cvs).

Lernziele:

  • Objektorientierte Programmierung (Java)
  • Modellierung mit der UML 2
  • Kennenlernen der Plattform Eclipse auf zwei verschiedenen Ebenen:
    • Arbeiten mit Eclipse als Entwicklungsplattform
    • Entwicklung von Anwendungen (Plugins) für Eclipse
  • Arbeiten mit state-of-the-art UML-Modellierungswerkzeugen auf Basis von Eclipse (z.B. IBM Software-Architect)
  • Selbständige Zieldefinitionen
  • Arbeiten im Team (je nach Teilnehmeranzahl quasi "Programming in the Many")
    • Versionsverwaltung (Subversion)
    • Projektmanagement (trac)
    • Selbständiges Arbeiten (keine festen Rechnerzeiten, sondern Präsentation der Ergebnisse zu bestimmten Meilensteinen)
    • Dokumentieren und Präsentieren (Dokumentation des Entwicklungsprozesses und der Software und Präsentation einzelner Meilensteine)

Voraussetzungen

  • Erfahrungen mit Java Programmierung (z.B. Java-Programmierpraktikum im Grundstudium)
  • Grundkonzepte der UML können nicht schaden (z.B. Klassendiagramme)
  • Vorlesung Modellbasierter Entwurf könnte hilfreich sein, ist aber keine explizite Voraussetzung