Technische Universität München
Fakultät für Informatik
Prof. Dr. Helmut Seidl
Riitta Höllerer


Praktikum des Übersetzerbaus:

Generierung von Benutzungsoberflächen WS 2003/04


Aufgabenblatt 2

5. November 2003

EMUGEN

Auf diesem Arbeitsblatt befassen wir uns mit dem am Lehrstuhl Eickel von Herrn Brandl entwickelten Generator EMUGEN und generieren unsere Formulare direkt aus der Spezifikation des Datenmodells.

EMUGEN ist ein Generator, mit dem man aus Beschreibung der Daten-, Aufgaben-, Benutzer- und Layoutmodells interaktive Informationssysteme mit Benutzungsoberflächen für mehrere Benutzer generieren kann.

Wir benutzen im Praktikum einen reduzierten Umfang des Generators, wir generieren nur Formulare und keine graphischen Editoren, die man bei der Realisierung von Workflow-Managementsystemen braucht. Die grundliegenden Ideen von EMUGEN sind in der Dissertation von Herrn Brandl beschrieben und es gibt eine Benutzungsanleitung für EMUGEN; beides online, Links sind unten angegeben.

Im Wintersemester 2003/04 verwenden wir VisualEmugen, das eine Erweiterung von EMUGEN um eine bequeme Oberfläche und um die Visualisierung des Datenmodells ist. VisualEmugen wurde von Herrn Petter als Systementwicklungsprojekt am Lehrstuhl Seidl im Sommer 2003 erstellt. VisualEmugen ist in dem vorgegebenen CompilerConstructionKit enthalten, in dem alle im Praktikum verwendeten Werkzeuge: Ant, JFlex, CUP-TUM, Classgen, Code2Html und VisualEmugen geliefert werden.

Es folgt ein kleines Beispiel für eine Spezifikation des Datenmodells für ein Adressenbuch und das dafür generierte Formular.

Adressenbuch-Beispiel

Aus der Eingabe:

Adressbuch::=Personen
Personen::=  Person*
Person::=    String:Name
             String:Vorname
             String:Telefon

wird folgendes Formular erzeugt.


3. Aufgabe  (Generierung des Grundstudiumsformulars mit VisualEmugen)

In dieser Aufgabe soll das Formular zur Berechnung der ECTS-Punkte für das Bachelor-Grundstudium mit VisualEmugen generiert werden. Dafür müssen Sie wie oben das Datenmodell in textueller Form als Grammatik angeben. Lesen Sie als Einarbeitung die unten angegebenen Teile der Dissertation von Herrn Brandl und entwerfen Sie dann das Datenmodell.

Geben Sie als Lösung der Aufgabe die erzeugte jar-Datei und eine mit code2html erzeugte html-Datei mit der VisualEmugen-Eingabe und einem Screenshot Ihres Formulars. Den Screenshot erst nach dem code2html-Lauf einfügen (wie hier im Aufgabenblatt 2 "Adressbuch.gif") sonst haben Sie statt dem Bild den Quelltext des Bildes in Ihrem html-Datei.

4. Aufgabe  (Generierung des Hauptstudiumsformulars mit VisualEmugen)

In dieser Aufgabe soll ein Formular zur Berechnung der ECTS-Punkte für das Bachelor-Hauptstudium mit Hilfe von VisualEmugen erstellt werden. Das Formular soll den Namen des Studenten (z.B. "Maier", Typ: String), die Matrikelnummer (z.B. "1234567", Typ: String) und ECTS-Punkte-Felder für die einzelnen Hauptstudiumsveranstaltungen enthalten. Die Veranstaltungsblöcke: Wahlpflichtveranstaltungen (>=16 ECTS; nur 16 ECTS zählen)und Schwerpunktsveranstaltungen (>=12 ECTS; nur 12 ECTS zählen) enthalten mehrere Veranstaltungen. Dafür sollen zwei Listen verwendet werden in denen der Student auch die jeweiligen Veranstaltungstiteln angeben kann. Berücksichtigen Sie auch, dass unter den Wahlpflichtveranstaltungen ein eventuelles zweites Haupstudiumspraktikum eingebracht werden kann. Der Student soll seinen Namen und seine Matrikelnummer und die absolvierten Leistungen eintragen können. Er soll nach der Eingaba genaue Information bekommen über seinen Leistungsstand, d.h. wieviele Punkte er hat und welche Leistungen ihm vom Hauptstudium noch fehlen.

Hier ist der Bachelor-Studienplan http://wwwpa.in.tum.de/inf-bachelor/AllgStudienplan.html. In den Kästchen ist jeweils Veranstaltungstitel, Semesterwochenstunden und ECTS-Punkte angegeben. Das Bachelor-Hauptstudium besteht aus den 5. und 6. Fachsemester, in denen insgesamt 69 ECTS-Punkte erreicht werden sollten.

Geben Sie als Lösung der Aufgabe die erzeugte jar-Datei und eine mit code2html erzeugte html-Datei mit der VisualEmugen-Eingabe und einem Screenshot Ihres Formulars. Den Screenshot erst nach dem code2html-Lauf einfügen (wie hier im Aufgabenblatt 2 "Adressbuch.gif") sonst haben Sie statt dem Bild den Quelltext des Bildes in Ihrem html-Datei.

Hinweise:


Abgabetermin: Dienstag, 11. November 15:00