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

Nummer Tag Zeit Raum Tutor
1 Fr. 10:30 - 11:30 Uhr 11-207 Dipl.-Inform. Nicole Rauch

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 PATHJAVAHOME/jre/bin:JAVA_HOME/bin:PATH = <br > <code > exportLDLIBRARYPATH < /code>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 JMLCLASSPATHJMLPATH: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 < /code > <br > odermankanndieToolsinderKommandozeilestarten, wozuderKlassenpfadnocherweitertwerdenmuss : <br > <code > exportCLASSPATH < /code>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 Literatur: