====== Formale Methoden für Steuerungssoftware ====== === Inhalt === In dieser Vorlesung werden Grundlagen und Anwendungen von statischer Analyse und Model-Checking im Bereich Steuerungssoftware vermittelt. Dazu werden entsprechende Analysen und Algorithmen auf den zyklischen Betrieb von Speicherprogrammierbaren Steuerungen angepasst. Behandelte Themen sind u.A.:\\ \\ * Die Programmiersprache Structured Text * Definition nach IEC-61131-3 * Formalisierung als Kontrollflussgraph * Statische Analyse * Datenflussanalysen * Ordnungstheoretische Grundlagen (Complete Lattice) * Live Variables Analysis * Reaching Definitions Analysis * Value Set Analysis * Program Dependency Graphs * Slicing * Policy Iteration * Abstract Interpretation * Galois-Verbindungen * Structural Operational Semantics * CEGAR-Variant for PLC State Space exploration * Relational Domains * Specification and Model Checking * CTL * Specification Automata * Logical Characterisation and Symbolic Reasoning * SMT encoding of Structured Text * Symbolic Execution * Large Block Encoding * Bounded Model Checking * IC3/PDR === Termine === TBA === Vorlesungs- und Übungsbetrieb === Es werden regelmäßig Übungsblätter veröffentlicht und in den Übungen in Zusammenarbeit mit den Studierenden gelöst. Die Übungen finden ebenfalls in den unter 'Termine' genannten Slots statt und werden rechtzeitig in der Vorlesung und im Moodle angekündigt. Die Vorlesung wird auf Video aufgezeichnet (d.h. Bildschirmaufnahme und Mikrofon), die Übung nicht. === Klausur === TBA Klausurrelevant sind die Inhalte aller Vorlesungen und Übungen. === Moodle === Lernraum wird so bald wie möglich bekanntgegeben. === Kontakt === * [[:lehrstuhl:mitarbeiter:henn]] * [[:lehrstuhl:mitarbeiter:voelker]]