Informationen zur Vorlesung FASOOP SS 07
Aktuelle Informationen
Aktuelle Informationen zur Vorlesung -- bitte regelmäßig beachten!
Inhalt
Die Veranstaltung vermittelt vertiefte Kenntnisse und Fähigkeiten für die objektorientierte Programmierung und über objektorientierte Programmiersprachen. Schwerpunkte liegen in den Bereichen operationelle Semantik von OO-Sprachen, Modularität und Kapselung, Typisierung und Typsysteme, Spezifikation von Programmeigenschaften sowie bei Techniken zum Prüfen und zur Verifikation.
Voraussetzungen
Software-Entwicklung 1, 2, 3
Formale Grundlagen der Programmierung
Einordnung
- Informatik (Diplom)
- Angewandte Informatik (Diplom)
- Technoinformatik (Diplom)
- Informatik (Lehramt Gymnasien)
- Informatik (Lehramt Berufsbildende Schulen)
- Bachelorstudiengang Informatik (Schwerpunkt)
- Masterstudiengang Informatik (Vertiefung)
- Masterstudiengang Angewandte Informatik (Vertiefung)
Umfang
Die Vorlesung hat einen Umfang von 2 V + 1 Ü. Für den Bachelor- bzw. Masterstudiengang werden 4 ECTS-LP angerechnet.
Unterrichtssprache: deutsch, bei Bedarf englisch
Ansprechpartner
Dipl.-Inform. Nicole Rauch
Termine der Vorlesung
Montag, 10:00 Uhr - 11:30 Uhr Raum 13-305
Erste Veranstaltung: 16.04.2007
Übungsgruppen
Erste Übung: 27.04.2007
Falls der Übungstermin für zu viele Hörer ein Problem darstellt, bitte ich um eine Mail.
Materialien zur Vorlesung
Weitere Informationen
Verwendung der JML Tools
Die JML Tools können entweder selbst installiert werden (Download via
http://www.jmlspecs.org) oder im SCI auf den Rechnern
poker und
poker2 benutzt werden. Es steht auch ein
Eclipse Plugin zur Verfügung (ist nicht im SCI installiert).
Folgendes ist hierbei zu beachten (die Anleitung gilt für die Installation im SCI bei Verwendung der bash; bei eigener Installation bitte sinngemäß anpassen):
- die Umgebungsvariable
JAVA_HOME muss auf das Wurzelverzeichnis des JDK 1.4.1 oder 1.4.2 zeigen:
export JAVA_HOME=/usr/j2se
- Pfad und Bibliotheksladepfad müssen angepasst werden:
export PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib:$LD_LIBRARY_PATH
- Damit die JML Tools alle mitgelieferten Spezifikationen finden, kann man einen speziellen Klassenpfad für sie setzen:
export JMLPATH=/opt/JML
export JMLCLASSPATH=$JMLPATH:$JMLPATH/specs:$JMLPATH/bin/jmlruntime.jar:.
- Man kann entweder ein GUI-Programm starten, von dem aus man die einzelnen JML Tools aufrufen kann:
java -jar $JMLPATH/bin/jml-release.jar
oder man kann die Tools in der Kommandozeile starten, wozu der Klassenpfad noch erweitert werden muss:
export CLASSPATH=$JMLCLASSPATH:$JMLPATH/bin/jml-release.jar:$CLASSPATH
| Name des Tools |
Skript in /opt/JML/bin |
| JML Type Checker |
jml-unix oder jml-gui-unix |
| JML Runtime Assertion Checker Compiler |
jmlc-unix oder jmlc-gui-unix |
| JML Documentation |
jmldoc-unix oder jmldoc-gui-unix |
| JML Skeleton Spec Generator |
jmlspec-unix oder jmlspec-gui-unix |
| JML/JUnit Test Oracle Generator |
jmlunit-unix oder jmlunit-gui-unix |
- Anschließend kann man die vom JML Runtime Assertion Checker Compiler erzeugten Classfiles ausführen mit
java -cp $JMLCLASSPATH <class>
Weiterführende Links
Weiterführende Literatur: