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: 29.01.2020

Aktuelles

  • 11.06.2020: Ihr solltet alle eine E-Mail mit Anweisungen für die Klausur erhalten haben. Falls dies nicht der Fall ist, meldet euch bitte bei (christoph.stahl@tu-dortmund.de).
  • 20.05.2020 UPDATE: Da ein Wechsel der Studierenden im Hörsaal nicht möglich ist, beginnt sowohl LMSE1 als auch LMSE2 um 9:30. Studierende, die nur eine der beiden Klausuren schreiben, verlassen dann um 10:30 den Hörsaal. Studierende, die beide Klausuren schreiben starten um 9:30 mit LMSE1 und wechseln um 10:30 auf LMSE2.
  • 11.05.2020: Ein Termin für den Nachholtermin steht fest. Die Klausur (LMSE2) wird am 15.06.2020 um 10:30-11:30 (Update: 9:30-10:30) stattfinden, im Anschluss an die (Update: parallel zu der) Klausur LMSE1, die von 10:30-11:30 (Korrektur: 9:30 - 10:30) stattfindet. Alle Studierenden, die für den regulären Termin angemeldet waren, sollten automatisch für den Nachholtermin angemeldet sein, überprüft das aber bitte. Grundsätzlich wird es sich bei der Klausur um einen Freiversuch handeln, ein Nichtbestehen zählt somit nicht zu den drei möglichen Fehlversuchen. Sollten sich Studierende nachträglich für die Klausur anmelden wollen, schreibt uns bitte eine . Weitere Informationen gibt es auch hier auf der Fakultätsseite, sowie auf der Seite der Universität.
  • 07.05.2020: Es gibt etwas Fortschritt bei der Planung zum Wiederholung der Klausuren. Noch gibt es keinen festen Termin, oder Ort, an dem unsere Klausur nachgeholt wird, aber es ist abzusehen, dass die Klausur in der Universität als Präsenzklausur stattfinden kann. Nach aktueller Planungsdiskussion könnte möglicherweise die Klausur im Juni nachgeholt werden. WICHTIG: Der aktuelle Planungsstand kann sich jederzeit ändern, sodass es nicht garantiert werden kann, dass eine Klausur im Juni durchgeführt werden kann. Sobald Termin und Ort feststeht, wird er an dieser Stelle verkündet.
    Es ist zur Zeit nicht geplant alternativ für alle eine mündliche Prüfung anzubieten. Falls ihr jedoch aus gesundheitlichen Gründen, oder aus Gründen der Gefährdung Anderer, oder aus Gründen, die euren Studienverlauf betreffen nicht an einer schriftlichen Klausur vor Ort teilnehmen könnt, könnt ihr euch bei uns melden, sodass wir für den Einzelfall eine Alternative finden können.
  • 16.03.2020: Aufgrund der aktuellen Coronasituation wird die Nachklausur am 25.03.2020 nicht stattfinden. Zitat aus dem aktuellen Rundbrief der TU Dortmund: "Die TU Dortmund ist darum bemüht, etwaige nachteilige Folgen, die sich daraus für Studierende ergeben können, so gering wie möglich zu halten. Es wird nach möglichst frühen Nachholterminen gesucht. Optionen für digitale Alternativen werden geprüft.". Sobald wir mehr über das weitere Vorgehen wissen wird das an dieser Stelle veröffentlicht.
  • 12.02.2020: Die erste Klausur ist korrigiert. Ergebnisse wurden ins Moodle hochgeladen. Die Einsicht ist am 28.02.2020 von 10-11 Uhr im OH12 2.013.
  • 10.02.2020: Die Klausur am 12.02.2020 wird nur in HG II/HS 7 stattfinden. Damit die Klausur um 08:00 beginnen kann, seid bitte frühzeitig da. Einlass ist um 7:45.
  • 29.01.2020 Die Studienleistung wird heute zusammen mit der LMSE1 Studienleistung eingetragen, da heute der Anmeldezeitraum für die Erstklausur abläuft, wird dieser um eine Woche verlängert. Sollte es zu Problemen kommen, schickt eine Email an .
  • 22.01.2020 Die Vorlesung findet heute in Raum OH14 105 statt.
  • 09.01.2020 Die Präsentation der Coq-Projekte findet am 29.01.2020 anstelle der Vorlesung statt. Die Frist für den entsprechenden Eintrag im Wiki ist 29.01.2019 um 14:15. (Anmerkung 13.01.2020, Das Datum war falsch, das ist jetzt behoben!)
  • 11.12.2019 Die Vorlesung am Mittwoch, den 18.12.2019 entfällt.
  • 19.11.2019 Erstellt euch einen Account im auf https://lmse.cs.tu-dortmund.de. Dies ist für das Praktikum erforderlich. Gebt danach an bescheid, sodass ihr zum Praktikumsprojekt hinzugefügt werden könnt. Dies ist nicht erforderlich, wenn ihr bereits für LMSE1 dem Projekt hinzugefügt wurdet.
  • 19.11.2019 Meldet Euch im Moodle Raum an. Dort werden Übungszettel und Vorlesungsfolien hochgeladen.

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

  • Die Übungen können ohne Anmeldung besucht werden.

Ü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: https://lmse.cs.tu-dortmund.de/christoph.stahl/lmse-ws1920.
  • 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 (direkt im Anschluss an LMSE 1)
  • Zweitklausur: Montag, der 25.03.2020 um 8:00 - 10:00 Uhr in SRG1/H.001 (direkt im Anschluss an LMSE 1)


Nebeninhalt

Kontakt

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