Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

Logische Methoden des Software Engineering 2

Veranstalter: Prof. Dr. Jakob Rehof
Kontaktperson für
organisatorische Fragen:
Christoph Stahl
Veranstaltungsnummer: 042357 (Vorlesung)
042358 (Übung)
Typ: Vertiefungsmodul
Modulnummer: INF-MSc-326
SWS: 2 SWS Vorlesung
1 SWS Übung
1 SWS Praktikum
Ort: OH12, E.003
Zeit: Montag 10-12 Uhr
Mittwoch 14-16 Uhr
Beginn: 25.11.2019
Ende: 30.01.2020

Aktuelles

  • Weitere Informationen werden im Laufe des Semesters bereitgestellt.
  • Das Beginndatum kann sich noch verändern.

Beschreibung

Die Vorlesung LMSE 2 behandelt das Thema Typentheorie und deren Verbindung zur mathematischen Logik. Das zentrale Resultat der Typentheorie ("Curry-Howard-Isomporphismus") zeigt die Korrespondenz zwischen Typen und logischen Formeln, sowie zwischen Programmen und logischen Beweisen.

Es werden über den LMSE 1 Inhalt hinaus weitere Typsysteme (Intersektionstypsystem, System F, Dependent Types, Pure Type Systems) und damit verbundene logische Ausdrucksmächtigkeit betrachtet. Dabei muss der Lambda-Kalkül erweitert werden, um Berechnungen sowohl auf Termebene, als auch auf Typebene zu ermöglichen.

Diese Erweiterung erlaubt in der Praxis mechanisch verifizierbare Beweise über funktionale Programme mittels Typtheorie zu führen.

Die Vorlesung LMSE 2 umfasst folgende Themen:

  • Lambda Kalkül mit Intersektionstypen und starke Normalisierung
  • System F und intuitionistische Logik zweiter Stufe
  • Dependent Types und Programmkorrektheisbeweise
  • Mechanisierung mathematischer Beweise 🤖
  • Curry-Howard-Isomorhismus (Korrespondenz zwischen Typen und logischen Formeln)

Bemerkungen

  • Ehemals als "Komponenten- und Service-Orientierte Softwarekonstruktion" angeboten
  • LMSE 2 findet in der zweiten Hälfte der Vorlesungszeit statt
  • LMSE 2 kann in vorheriger Kombination mit LMSE 1 innerhalb eines Semesters belegt und geprüft werden

Vorlesungsmaterial

Vorlesungsfolien werden semesterbegleitend berei und sind aus dem Campusnetz oder via VPN aufrufbar.

Übung

  • Die Übung zu LMSE 2 ist eine Präsenzübung (keine Anwesenheits- oder Abgabepflicht).
  • Die Übung dient der Verstetigung des Vorlesungsinhalts sowie der praktischen Anwendung der erlangten Kenntnisse.
  • Beweise werden zum Teil länger diskutiert und anhand von Beispielen untersucht.

Anmeldung

  • wird in der ersten Vorlesungswoche bekanntgegeben

Übungsgruppen

Gruppe Zeit Ort Start Turnus
1 Montag, 12-14 Uhr OH14, Raum 304 02.12.2019 wöchentlich
2 Dienstag, 12-14 Uhr OH14, Raum 104 03.12.2018 wöchentlich

Praktikum

Das Praktikum dient der praktischen Umsetzung der in der Vorlesung erlangten Kenntnisse. Dabei soll in Gruppen jeweils eine Beweisaufgabe gelöst werden, die im direkten Zusammenhang zum Vorlesungsinhalt (insb. Lambda-Kalkül) steht.

  • Die verwendete Programmiersprache ist Coq
  • Die gemeinsamen Ergebnisse des Praktikums werden im folgenden git Repository verwaltet: Weitere Informationen hierzu folgen in den nächsten Wochen.
  • Die Zuordnung der Aufgaben inkl. Rechtevergabe am Repository findet in der zweiten Vorlesungswoche statt
  • Zum erfolgreichen bestehen des Praktikums gehören:
    • Formales Beweisen der unter der jeweiligen Aufgaben angegebenen Aussagen
    • Wiki-Eintrag mit Beschreibung der bewiesenen Aussage inkl. einer informellen Beweisskizze
    • Kurze Vorstellung der Lösung bei der Abschlusspräsentation der Praktikumsprojekte durch ein Mitglied der jeweiligen Gruppe (10 Minuten, keine Folien)

Studienleistung

Das Erlangen der Studienleistung ist Voraussetzung für die Teilnahme an der abschließenden Klausur.
Die Kriterien der Studienleistung sind wie folgt:

  • erfolgreich abgeschlossenes Praktikumsprojekt

Klausuren

  • Erstklausur: Mittwoch, der 12.02.2020 um 8:00 - 10:00 Uhr in HG2/HS7 und MB/HS1 (zusammen mit LMSE 1)
  • Zweitklausur: Montag, der 25.03.2020 um 8:00 - 10:00 Uhr in SRG1/H.001 (zusammen mit LMSE 1)


Nebeninhalt

Kontakt

Prof. Dr. Jakob Rehof
Lehrstuhlinhaber
Tel.: 0231 755-7951
M. Sc. Christoph Stahl
Tel.: 0231 755-7769