TU Wien:Model Engineering VU (Kappel)

Aus VoWi
Wechseln zu: Navigation, Suche

Daten[Bearbeiten]

Inhalt[Bearbeiten]

Modelle sollen in der Softwareentwicklung nicht nur der Dokumentation dienen, sondern daraus soll lauffähiger Code generiert werden. Durch Metamodellierungssprachen können Modelle auch zwischen verschiedenen Modelltypen automatisch transformiert werden.

Ablauf[Bearbeiten]

Wöchentliche Vorlesung kombiniert mit Gruppen-Übungen (3 Personen).

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

Vortrag[Bearbeiten]

Eigentlich ganz in Ordnung, je nachdem wie du mit dem Vortragsstil von Kappel und Wimmer zurechtkommst. Die Beamer-Folien sind aber sehr gut gestaltet, sodass du auch ohne Vorlesungsbesuch den Stoff verstehen und lernen kannst.

Übungen[Bearbeiten]

Es müssen Gruppen zu je drei Personen im TUWEL gebildet werden, die dann zusammen vier praktische Assignments lösen. Es gibt dabei zu jeweils zwei Assignments ein Abgabegespräch, wo alle Gruppenpartner jeweils gemeinsam sowie einzeln befragt werden. Dabei ist auch Theoriewissen zu den Themen notwendig - eher streng, Folien gut anschauen.

Die Beispielangaben sind meist sehr detailiert und klar formuliert, sodass nicht viel Zeit mit Recherche verschwendet werden muss. Sehr hilfreich waren auch die Beispielprojekte bzw. Beispielvideos in TUWEL, die die Vorgangsweise unter Eclipse sehr gut rübergebracht haben. Der Umgang mit den Tools ist trotzdem sehr gewöhnungsbedürftig.

Es gab 4 Assignments (WS2015):

  1. Metamodeling and OCL (Ecore/EMF)
  2. Concrete Syntax
  3. Model Transformation (ATL, Xtext)
  4. Code Generation (Xtend)

Es gibt insgesamt zwei Abgabegespräche, also für jeweils 2 Assignments eines. Dabei wird zuerst vom Tutor die Bewertung der abgegebenen Lösung durchgegangen. Die Möglichkeit seine eigene Lösung anzusehen oder zu verteidigen gibt es dabei nicht. Anschließend bekommt jedes Teammitglied pro Assignment eine Theoriefrage, die sich in groben Zügen mit den Themen des Assignments beschäftigt. Die eigene Lösung wird dabei nicht gezeigt und muss auch nicht erklärt werden. Es müssen auch kleinste Syntaxdetails bekannt sein und aus dem Kopf erklärt werden. Man sollte sich also speziell darauf vorbereiten. Ein einfaches Erklären Können der eigenen Lösung wird weder verlangt noch ist es ausreichend. (WS2016)

Prüfung, Benotung[Bearbeiten]

Es gibt zwei Tests (Midterm und Final), je nach Wahl kann einer davon wiederholt werden. Jeweils schriftlich, keine Unterlagen erlaubt, 30 Minuten Zeit. Es werden sowohl Theoriefragen als auch praktische Beispiele (zeichnen von Modellen) gestellt.

Theoriefragen und die praktischen Beispiele ergeben jeweils ca. 50% der Punkte. Dabei sind die praktischen Beispiele recht einfach, wenn man die Übungen gut angeschaut hat (Code-Lückentexte), die theoretischen jedoch nicht zu unterschätzen (Multiple Choice mit teilweise sehr spezifischen Fragen).

Prüfungsordner finden sich bei den Materialien.

Dauer der Zeugnisausstellung[Bearbeiten]

  • WS09: Prüfung am 28.01.2010, Zeugnis erhalten am 09.03.2010 (ca. 5-6 Wochen)

Zeitaufwand[Bearbeiten]

Mittel für 6 ECTS. Die Übungs-Assignments brauchen jeweils so 20-25 Stunden (der Großteil davon ist das Kennenlernen und Einlesen in die verwendeten Tools, dann noch ein wenig kämpfen mit Eclipse). Für die beiden Tests ist dafür dann nicht mehr viel Lernaufwand notwendig, wenn man die Übungen selbst gemacht hat, 1-2 Tage die Folien studieren.

Unterlagen[Bearbeiten]

Videos, Software und weitere Links werden im TUWEL bereitgestellt.

Tipps[Bearbeiten]

  • Eclipse ist buggy, also immer regelmäßig speichern und unbedingt ein Versionskontrollsystem verwenden.
  • Im TUWEL der LVA gibt es einen Eclipse Setup Guide. Genau nach diesem vorgehen und die Eclipse Modeling Tools mit der angegebenen Version verwenden - in einem bereits installierten Eclipse einfach nur die Plugins zu installieren führt zu (noch mehr) Problemen und macht das ganze sehr mühsam.
  • Wer sich nicht so gern mit UML oder Java beschäftigt, sollte es sich gut überlegen, ob er die LVA machen will.

Verbesserungsvorschläge / Kritik[Bearbeiten]

  • Die Eclipse Modeling Tools mit den Ecore Tools sind unglaublich mühsam und buggy - man gewöhnt sich dran, dass der Eclipse Unhandled Exception Dialog durch den Bildschirm flitzt. Gerne kommt es auch zu NullReferenceExceptions in den Tools, die auch mal das Speichern verhindern (die Ursache liegt meistens bei einem Konsistenzfehler im Modell, in dynamisch generierten Properties oder aber auch einer schlechten Mondphase). Die LVA-Leitung weiß davon, aber "das ist leider so", und es gibt wohl ohnehin keine anderen Model Engineering Tools.
  • Der Vortrag ist mit etlichen Sprachen und Tools überfüllt, die jeweils in hohem Detailgrad durchgekaut werden. Grundsätzliche Konzepte gehen dabei ziemlich unter und werden deshalb leider schnell wieder vergessen (typisch für BIG-LVAs).