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