[Technical Faculty]

Programming-in-the-many: Java (``PEST'')


Wintersemester 1998/99

Ort: Haus II, 324

Vorbesprechung: Montag, 19. Okt 1998, Zimmer 324 13 ct, Haus II, Preußerstr. 1-9
Termin: Montags, 13:30 ct
Raum: 230, 2ter Stock
interne Vorführung: 12. Februar, 14.00.
Vorführung: 19. Februar, 14.00
Scheine sind fertig. Bitte bei Erich Mikk (Zimmer 317 in Haus II) abholen, jedoch nicht am 26. oder 25.4.!


[Inhalt] [Organisatorisches] [Gruppen] [Unterlagen] [Handouts] [Aufgaben] [Baselines] [PEST] [SAFER Fallstudie] [Literatur] [Software] [Links]

Inhalt

Java ist eine moderne, objektorientierte Programmiersprache. Ihre Strukturierungskonzepte unterstützen modularen, strukturierten Entwurf von Programmen, Datenkapselung und Wiederverwendung von Code durch Vererbung. Daneben bietet Java umfangreiche Klassenbibliotheken. Die erwähnten Strukturierungsmöglichkeiten erleichtern es, größere Programmieraufgaben in logische getrennte und getrennt implementierbare Teilprobleme aufzuteilen. Diese getrennte Entwicklung einzelner Komponenten ist in der Praxis von überragender Bedeutung. Gegenstand des Praktikums wird eine Aufgabe sein, die von Größe und Zeitaufwand her nur im Team gelöst werden kann. Sie wird unter den Teilnehmern verteilt, indem zu Beginn die Aufgabe von den Übungsleiten in Module unterteilt und die Schnittstellen zwischen den Gruppen festgelegt werden. Anschließend werden die Gruppen an ihren Teilaufgaben arbeiten, wobei die Schnittstellen zu anderen Gruppen zu beachten sind. Entsprechend dem modularen Programmierstil zerfällt die Programmieraufgabe in Die Verwirklichung beider Konzepte in Teamarbeit bezeichnet man als programming-in-the-many. Konkret werden folgende Bereiche der Java-Programmierung benutzt: Die Veranstaltung schließt sich das Praktikum ``Java & Rhapsody'' des Sommersemesters 98 an. ``Quereinsteigen'' ist möglich, jedoch werden Java-Kenntnisse vorausgesetzt.

Organisatorisches

Anmeldung:

Wir bitten um schriftliche (per email) Anmeldung für den Kurs. Wir bitten um die Angabe folgender Daten:

Nachbereitung:

Für die Rückmeldung in Bezug auf die Inhalt und Durchführung des Kurses haben wir folgenden Bewertungszettel vorbereitet.

Übungsgruppen

Jede der Übungsgruppen bekommt einen account (swtechxx) und damit die Möglichkeit, an der Uni zu rechnen. Für den Rechnerzugang haben wir den Rechnerraum im 2ten Stock in der Zeit nach der Vorlesung reserviert. Hier die Liste der Übungsgruppen

Unterlagen

    Kursfolien des letzten Semesters (hier zum Papiersparen 4fach verkleinert)

Handouts

1.     Organisatorisches 26. Oktober
2.     CVS 23. November
2.     Semantik von Statecharts: Folien und Paper 31. November

Aufgaben

1.     Prototyp 26. Oktober
2.     Pflichtenheft ( hier als Postscript) 16. November
2.     Pflichtenheft (2) passend zu der zweiten Baseline.
Hier als PDF
Hier die Differenzen von der letzten Version der abstrakten Syntax.
8. Dezember

Programming Environment for Statecharts: PEST

Hier können Sie die ausführbare Version von PEST1 und PEST2 und PEST1 mit der Simulation von PEST2 runterladen. Um ein PEST ausführen zu können, brauchen sie folgende Software:
JDK 1.1.6
PerlTools 1.1
Sie müssen die Variable CLASSPATH setzen, so dass der java Interpreter die Klassen von JDK, Perltools und der PEST ihre Wahl finden kann. Z.B. für PEST1 (t)csh:
setenv CLASSPATH ".:$JDKHOME/lib/classes.zip:$PERLTOOLSHOME/PerlTools.jar:$PESTHOME/pest1.jar"
wo die Variablen
$JDKHOME auf Ihre lokale Installation von jdk1.1.6 zeigt,
$PERLTOOLSHOME auf Ihre lokale Installation von PerlTools 1.1 zeigt,
$PESTHOME auf Ihre lokale Installation von PEST zeigt.
Dann können Sie PEST in Ihre Shell starten:
$ java gui.pest
Für Experimente empfehlen wir auch unsere eigene Fallstudie.

SAFER Fallstudie

Das im Praktikum konstruierte Werkzeug wurde auf die NASA SAFER Fallstudie angewandt. Die Aufgabe war eine Statecharts Spezifikation von SAFER zu erstellen. Als Pflichtenheft wurde die NASA Spezifikation aus NASA Formal Methods Guidebook, Vol. II benutzt.

Die Fallstudie zeigt, daß man PEST in der Tat für Spezifikation und Simulation von Statecharts benutzen kann. Die Quellen der Spezifikation sind für weitere Experimente verfügbar.

Literatur

Aus der unübersehbaren Fülle an Büchern über Java, hier eine kleine subjektive Auswahl (siehe auch Handout 1):

Information zu im Kurs verwendeter Software

Links

Ein ungeordnete Sammlung von Links


[Inhalt] [Organisatorisches] [Gruppen] [Unterlagen] [Handouts] [Aufgaben] [Literatur] [Software] [Links]


Bei Fragen, email an {bwe|erm|ms}@informatik.uni-kiel.de (Bernd Weber, Erich Mikk, Martin Steffen)
Maintained by: Martin Steffen
Thu Apr 8 11:38:53 MET DST 1999