Formale Entwicklung objektorientierter Software (WS 2011/12)
Typ: Praktikum
Ort: Raum 211, Geb. 50.34
Zeit (regulär) : Di, 17.30 - 19.00
Beginn: 26.10.2010
Dozierende: Prof. P. H. Schmitt
Prof. B. Beckert
Daniel Bruns
David Faragó
Christoph Gladisch
Christoph Scheben
LVNr.: 24308

Motivation

Ist fehlerfreie Software möglich?

Wenn Sie die Antwort auf diese Frage interessiert und Sie schon immer einmal Software in einer Gruppe entwickeln wollten, dann ist dieses Praktikum genau das, wonach Sie suchen.

Anhand eines selbst realisierten Software-Projektes lernen Sie in einer Gruppe Aspekte der formalen Softwareentwicklung kennen und anzuwenden, d.h. Analyse, Modellierung, Spezifikation, Implementierung und Verifikation (aber z. B. auch Dokumentation). Für die Implementierung verwenden wir Java, zum Spezifizieren die Java Modeling Language (JML). Als Verifikationswerkzeuge werden z. B. ESC/Java2, JMLUnit, der JML Runtime Assertion Checker (RAC) und KeY eingesetzt.

Der in der Vorlesung "Formale Systeme" behandelte Stoff sowie Programmierkenntnisse werden vorausgesetzt. Kenntnisse aus der Vorlesung "Softwaretechnik" sind von Vorteil. In der parallel laufenden Vorlesung "Spezifikation und Verifikation von Software" werden die notwendigen theoretischen Grundlagen zum Praktikum vermittelt. Zu den einzelnen Praktikumseinheiten gibt es korrigierte und besprochene Übungsaufgaben.

Vorbesprechung am Mittwoch, dem 26. Oktober 2010, um 13:00 im Raum 211 (Geb. 50.34)

Inhalt:

Praktischer Umgang mit Spezifikationsprachen und Verifikationswerkzeugen für objektorientierte Software, wie beispielsweise

  • Spezifikationssprachen: JML und JavaDL
  • Verifkationswerkzeuge: rac, ESC/Java2 und KeY

Lernziele:

Die Fähigkeit Werkzeuge zur Spezifikation und Verifikation von objektorientierter Software pratkisch einzusetzen.

Organisatorisches

  • Im Abstand von etwa ein bis zwei Wochen werden von den Teilnehmern Lösungen zu den Übungsblättern präsentiert. Die Teilnehmer wechseln sich mit den Präsentationen ab, aber alle Teilnehmer einer Gruppe müssen Fragen während der Präsentation beantworten können.
  • Die schriftliche Abgabe zu einem Übungsblatt findet ein oder wenige Tage vorher statt und wird auf dem Blatt bekannt gegeben.
  • Abwechselnd zu den Präsentationen der Teilnehmer finden Treffen zum gemeinsamen Arbeiten und für zwei Vorlesungstermine statt.

Termine

  • Da der 1.11.2011 ein Feiertag ist, findet der nächste Termin am Donnerstag dem 03.11. um 14:00 statt.

Aufgaben

Weitere Informationen und relevante Dokumente

JML

ESC/Java2

KeY