TU Wien:Formal Methods in Systems Engineering VU (Kovacs)

Aus VoWi
Zur Navigation springen Zur Suche springen

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Katalin FazekasLaura KovacsAlexander PluskaAdrian Rebola PardoEva Maria WagnerGeorg WeissenbacherFlorian Zuleger
ECTS 6,0
Letzte Abhaltung 2025W
Sprache English
Mattermost formal-methods-in-systems-engineeringRegisterMattermost-Infos
Links tiss:192164, eLearning
Zuordnungen
Masterstudium Logic and Computation Modul Formal Methods in Systems Engineering * (Gebundenes Wahlfach)
Masterstudium Software Engineering & Internet Computing (veraltet) Modul Formal Methods in Systems Engineering + (Gebundenes Wahlfach)
Masterstudium Technische Informatik Modul Formal Methods in Computer Science (Pflichtfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

noch offen, bitte nicht von TISS/u:find oder Homepage kopieren, sondern aus Studierendensicht beschreiben.

Ablauf[Bearbeiten | Quelltext bearbeiten]

Like in Formal Methods in Computer Science (which this course replaces) there are exercise sheets for every block, which do not count towards the grade. They are not corrected, but sample solutions are presented in the lecture. There is a small project for each block, which are worth 5 points each. The written exam is 80 points, with 20 points for each block. To pass, at least 2 projects need to be completed, and the total points must be . There are no additional requirements to have certain points in the exam or in every block.

There are 2 exam dates. After the first date, they only issue a certificate for students who passed. If a student passes the first exam they can also take the second, but the latest attempt counts.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Logic - without knowing first order logic it would be very hard; modal logic is helpful for the Kripke structures used in block 4

Lambda calculus, functional programming is helpful for block 3

Some programming experience for the projects - not necessarily in the languages used, the projects are quite small

Vortrag[Bearbeiten | Quelltext bearbeiten]

noch offen

Übungen[Bearbeiten | Quelltext bearbeiten]

Block 1 Satisfiability[Bearbeiten | Quelltext bearbeiten]

Python - using pySAT to implement a given algorithm

Block 2 Deductive Verification[Bearbeiten | Quelltext bearbeiten]

Dafny - adding annotations to a given program that implements the extended euclidean algorithm

Block 3 Refinement Types[Bearbeiten | Quelltext bearbeiten]

LiquidHaskell - mostly adding refinement types to given functions, but also adding additional functions

Block 4 Model Checking and Temporal Logic[Bearbeiten | Quelltext bearbeiten]

NuSMV - completing a given model and adding LTL specifications

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

noch offen

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

noch offen

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

noch offen

Unterlagen[Bearbeiten | Quelltext bearbeiten]

Block 2 Deductive Verification[Bearbeiten | Quelltext bearbeiten]

Only slight changes to block 3 in the old version, so looking at old exercises and exams is useful: Formal Methods in Computer Science

Block 3 Refinement Types[Bearbeiten | Quelltext bearbeiten]

This youtube series might be helpful for people who have not used Haskell before: Haskell for Imperative Programmers

Lambda calculus playlist, this video includes logical connectives that were asked in the exam on 2026-02-27: https://www.youtube.com/watch?v=K-4Mj3LpP2E

Tipps[Bearbeiten | Quelltext bearbeiten]

noch offen

Highlights / Lob[Bearbeiten | Quelltext bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen