Methoden des Software-Engineering
WS 2006/2007 zum Forum PST bei die-informatiker.net
(keine inhaltliche Verantwortung der LFE PST)

  

Aktuelles

Inhalt

Klausur

Übung

Termine

Personen

Materialien





  
      

Übung

Abgabesystem

Um an den Übungen teilnehmen zu können ist eine Anmeldungen notwendig. Die Anmeldung (wie auch der Übungsbetrieb) wird über das UniWorX-System abgewickelt. Um sich bei UniWorX registrieren zu können ist eine Kennung am CIP-Pool des IfI nötig. Wie man an eine solche Kennung kommt, ist auf den Seiten der RBG zu erfahren.
Die Adressedaten bei der UniWorX-Registrierung werden zum Scheinversand verwendet und sollten dementsprechend halbwegs korrekt sein.

Übungstermine

In den Übungsstunden werden Fragen zur Vorlesung und zum aktuellen Übungsblatt beantwortet. Desweiteren werden zum Verständnis der Vorlesung notwendige oder hilfreiche Notationen, Methoden, etc. vorgestellt. Wenn möglich und passend werden einzelne Methoden interaktiv eingeübt.

Übungsblätter

Während des Semesters werden drei Übungsblätter ausgegeben. Die Übungsblätter sind in Gruppen zu lösen. Der Bearbeitungszeitraum beträgt 2-3 Wochen. Die erfolgreiche Bearbeitung der Übungsblätter ist Voraussetzung zur Zulassung zur Klauser. Dabei gilt: jedes der drei Übungsblätter muß als bestanden gewertet werden.
  • Blatt 1 Die Lösung für das erste Übungsblatt soll in einem Kurzvortrag präsentiert werden. Termine für die Präsentation können von den Gruppen aus den noch freien Terminen im Vortragsplan gewählt werden. Die Vergabe erfolgt nach einer Email an Florian Hacklinger nach dem FCFS-Prinzip, und zwar bis spätestens 22.11..
    Die Vorträge sollen 15 Minuten dauern. Inhaltlich sollen die Vorträge die Idee der Lösung darstellen; es sollen auf keinen Fall alle erstellten Diagramme präsentiert werden. Die Teams sollen zur Präsentation vollständig antreten!
  • Blatt 2, Lösungsvorschlag (Update: 21.12.06), Chat.jaa, Server.jaa, Client.jaa
    • Java/A-Compiler, (Update 13.12.: jaac.jar (einfach bestehende Variante in lib ersetzen)
    • Dummy-Server
    • Ablauf: Komponenten übersetzen und Starten
    • Ablauf: Konnektoren checken
    • Erzeugen eines lesbaren Trails im Fall eines Deadlocks
      1. Der Aufruf 'jaac -check ...' erzeugt ein Verzeichnis 'hugo' in dem eine Datei mit der Endung '.ta' (timed automata) und eine mit der Endung '.q' und eine mit der Endung '.ute' liegen.
      2. Folgender Aufruf erzeugt einen (wenig lesbaren Trail): 'verifyta -t 1 -q "ta-Datei" "q-Datei". Die Ausgabe muss in eine Datei mit der Endung '.tl' umgelenkt werden (unter Linux mit BASH: 'verifyta [...] 2> trail.tl' -- der Trail wird auf System.err ausgegeben)
        Achtung: es muss verifyta aus der Java/A-Distribution verwendet werden.
      3. Mit Hugo den wenig lesbaren Trail in einen lesbareren umwandeln: 'java -jar lib/hugort.jar -c -a "tl-Datei" "ute-Datei"' Das Ergebnis ist eine Datei mit dem lesbaren Trail namens 'xyz.utl'.
  • Blatt 3
    Lösungsvorschläge: Aufgabe 1, Aufgabe 2
    Update Blatt 3, Aufgabe 1: Das geforderte Netz ist nicht beschränkt und daher ist auch kein Erreichbarkeitsgraph errechenbar. Um dennoch einen Erreichbarkeitsgraph berechnen zu können (und damit die Sicherheitseigenschaft "jeder Gleisabschnitt zu jedem Zeitpunkt nur von einem Zug befahren", kann die Lösung (zur Analyse und auch für die Implementierung) so geändert werden, dass vor den eingehenden Gleisen eine Art Zug-Sammelstelle (ein Depot) mit 15 Zügen platziert wird. Verläßt ein Zug ein ausfahrendes Gleis, so soll er dann wieder in diese Depot eingefügt werden.
    Der Erreichbarkeitsgraph für eine derartige Lösung ist eher umfangreich (es ist eine fünfstellige Anzahl von Knoten zu erwarten) und von Hand nicht zu prüfen. Zur Prüfung kann das kleine Java-Programm GraphAnalyzer.jar (Update: 20.1., Zeilenumbruch im Gra-File wird richtig interpretiert) verwendet werden. Es sucht für alle Stellen eines Netzes die maximale Belegung aus dem Erreichbarkeitsgraph und zeigt diese an. Aufruf:
    java -jar GraphAnaylzer gra-Datei pnt-Datei.

    (Die pnt-Datei ist optional und wird lediglich zur Darstellung der Stellen-Namen verwendet).

    Material zu Petrinetzen

Übungsgruppen

Die Bearbeitung der Übungsblätter erfolgt in Gruppen von ca. 3-5 Personen. Die Gruppen bleiben die ganze Vorlesung unverändert. Die Gruppen werden am 8.11. eingeteilt. Die Studenten können Vorschläge machen, mit welchen Kommilitonen sie zusammenarbeiten möchten. Diese Vorschläge können entweder in der Übung am 8.11. abgegeben werden, oder per Mail an Florian Hacklinger bis spätestens 8.11. 14 Uhr. Alle die nicht auf einem solchen Vorschlag stehen und auch nicht das Interesse zur Teilnahme an den Übungen kundgetan haben (z.B. per Mail oder schriftlich in der Übung) werden keiner Gruppe zugeteilt.

Magic Draw

In den Übungsaufgaben ist gelegentlich die Modellierung mit UML gefordert. Dafür kann jedes gängige Tool (mit adäquater Ausgabe) verwendet werden. Wir stellen für den Zeitraum der Vorlesung eine Magic-Draw-Installation im CIP-Pool bereit. Damit Sie unsere Magic-Draw-Installtation im CIP-Pool verwenden zu können, muß das Vezeichnis ".magicdraw/5.5i" im Homeverzeichnis vorhanden sein. (Falls Sie eine Evaluierungsversion installiert haben, ist dieses Verzeichnis bereits angelegt; es muß nichts weiter getan werden.) In diesem Verzeichnis werden persönliche Einstellungen gespeichert. Hier ist eine gepackte Datei, die sowohl die benötigten Dateien als auch die Verzeichnisstruktur enthält. Speichern Sie diese Datei in Ihrem Homeverzeichnis und entpacken Sie sie mit unzip.
Magic Draw starten sie mit dem Befehl /home/h/hackling/md55i/bin/start
Bei Problemen oder Fragen bitte eine Email an Florian Hacklinger (siehe Personen).
   

LFE PST
Florian Hacklinger Wednesday, 24-Jan-2007 16:17:31 CET