Modul Moderne Programmiermethoden, Informatik (Bachelor) (SPO 8)

Englische Sprache
Kompakte Schrift

Farbschema

Modulübersicht

Moderne Programmiermethoden

INFB620

Prof. Dr. Martin Sulzmann

/

6. Semester

Betriebssysteme, Technische Informatik 2

Modul Praxistätigkeit

Autonome Systeme:

Die Studierenden erlangen einen Einblick in formale Modellierungs- und Spezifikationsnotationen zur Beschreibung und Verifikation komplexer autonomer Systeme. Die Studierenden sind in der Lage, geeignete Notationen je nach Anwendungsfall einzusetzen. Anhand praktischer Beispiele erkennen sie sowohl die Möglichkeiten als auch die Grenzen formaler Methoden. Sie wenden nebenläufige Programmiermethoden zur praktischen Umsetzung autonomer Systemen an.

 

Rechnerarchitektur:

Die Studierenden beschäftigen sich mit den wichtigsten Prinzipien der Organisation und des Designs von Mikroprozessoren.

Mikroprozessoren sind die zentralen Bausteine praktisch aller derzeitigen Computersysteme, vom Smartphone bis zum Supercomputer und somit der digitalen Welt.

Schwerpunkte sind die Programmierung von 64-Bit ARMv8 Prozessoren sowie der logische Entwurf von Prozessoren mit Hilfe von Verilog sein.

Neben der Vermittlung der theoretischen Grundlagen wird hier viel Wert auf praktische Programmierübungen gelegt.

Einzelprüfungen
Lehrveranstaltung Moderne Programmiermethoden

INFB621

Vorlesung

Prof. Dr. Martin Sulzmann

deutsch

3/2

90 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Studierende in diesem Kurs

  • bekommen einen Einblick in Methoden zur formalen Modellierung und Verifikation autonomer/reaktiver Systeme,
  • lernen Konzepte und Technologien zur Programmierung von nebenläufigen Systemen kennen.

Im Einzelnen werden folgende Themen betrachtet:

Modellierung und Verifikation

  • Modellierung mit Zustandsmaschinen
  • Mealy/Moore
  • Kommunizierende Automaten mit Zeit
  • Harel Statecharts
  • Spezifikation
  • Reguläre Sprachen
  • Temporale Logiken (CTL)
  • Modelchecking
  • Testfallgenerierung mittels Modelchecking
  • Run-Time Verifikation
  • Abdeckungskriterien
  • UPPAAL

Nebenläufigkeit und Synchronisation

  • Synchronisation via gemeinsamen Speicher
  • Programmieren mit Threads und Locks
  • Lock-freie Algorithmen
  • Software Transactional Memory
  • Nachrichten-basierte Synchronisation
  • Prozesskalküle (CSP, Join)
  • Programmiersprachen Haskell, Go

  • Foliensammlung
  • Tafelmitschrift
  • Ausgearbeitete Beispiele und Übungen
  • Bryan O'Sullivan, "Real World Haskell"
  •  Don Stewart, John Goerzen, "Real-Time Systems and Programming Languages (Fourth Edition)", Ada 2005
  • Alan Burns ,Andy Wellings, "Real-Time Java and C/Real-Time POSIX"
  • Christel Baier, Joost-Pieter Katoen, "Principles of Model Checking"
  • Bruce Powel Douglass, "Real-Time UML: Developing Efficient Objects for Embedded Systems (2nd Edition)"

Seminaristischer Unterricht mit theoretischen und praktischen Übungen.

Lehrveranstaltung Moderne Programmiermethoden Übung

INFB622

Übung

Prof. Dr. Martin Sulzmann

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Übung 1 Semester (nicht benotet)