Hardware-/Softwaresystementwurf und -analyse

Hardware‐/Softwaresystementwurf und ‐analyse

Studienrichtung "Hardware‐/Softwaresystementwurf und ‐analyse"

Motivation

Die Entwicklung von Hardware und systemnaher Software bildet einen Eckpfeiler der Informatik, vom Prozessordesign bis zum Entwurf von Programmiersprachen. Auch in der Industrie ist das Thema von ungebrochener Relevanz. Im Bereich der eingebetteten Systeme, sei es in der Fahrzeugindustrie oder in der Fertigung, kommt der Entwicklung kostengünstiger und effizienter Hardware‐Komponenten eine wichtige Rolle zu. Auf höherer Ebene kapseln Software‐Bibliotheken oder gar Hochsprachen effiziente Hardware‐Implementierungen komplexer Funktionen, von Datenstrukturen zur parallelen Verarbeitung geteilter Daten auf Multi‐Core‐Prozessoren über die Abstraktion heterogener Architekturen bis zur komfortablen Repräsentation und Manipulation von Objekten der Anwendung. Ein wichtiges Merkmal der systemnahen Entwicklung ist ein hohes Maß an erforderlicher Qualität. Fehler in Hardwareteilen bedeuten für den Produzenten einen wirtschaftlichen Schaden, der selten abgefangen werden kann. Softwarefehler in Bibliotheken, die millionenfach eingesetzt werden, treten minütlich auf und führen unweigerlich zum Austausch der Komponente. Entsprechend sind Qualitätssicherungsmaßnahmen ein integraler Bestandteil des HW/SW‐Systementwurfs.

Qualifikationsziele

Die Studienrichtung "HW/SW‐Systementwurf und ‐analyse" beschäftigt sich mit der Entwicklung von Hardware und systemnaher Software, deren Integration und Qualitätssicherung. Auf Hardwareebene wird der Entwurf von Hardware‐Komponenten betrachtet, wobei der Fokus einerseits auf der Abbildung des Designs auf die Physik liegt, andererseits die Entwicklung eines Instruktionssatzes und dessen Abstraktion in eine Assembly‐Sprache unterrichtet wird. Auf der Software‐Ebene kommt dem Entwurf von Hochsprachen und Bibliotheken besondere Bedeutung zu. Insbesondere wird der Kompilationsprozess der Hochsprache auf die Systemebene erläutert, wobei Wert auf die statische Analyse und das Type‐Checking gelegt wird. Als wichtiger Bestandteil gilt ferner der Korrektheitsnachweis auf allen Ebenen, zu dessen Zweck Techniken des Testens und der Verifikation vermittelt werden.

Die Studienrichtung liegt in der Schnittmenge der Disziplinen Eingebettete Systeme, Programmiersprachen und Formale Sprachen sowie Semantik und Verifikation. Eine Belegung von Nebenfächern ist möglich, empfohlen werden Mathematik, Elektrotechnik und Physik.

Beschreibung

Die Inhalte der Studienrichtung "HW/SW‐Systementwurf und ‐analyse" sind (Pflicht‐)Veranstaltungen der Theoretische Informatik, in denen Grundlagen des Gebiets vermittelt werden. Ferner werden Module aus den Bereichen Entwurf Integrierter Systeme und Software‐Engineering angeboten.

In der Masterarbeit ist ein aktuelles Thema der Forschungsrichtung, ggf. auch im Rahmen einer industriellen Kooperation, zu bearbeiten. In Absprache mit den für die Studienrichtung Verantwortlichen können Veranstaltungen aus den Bereichen Rechnerstrukturen und Eingebettete Systeme, Programmiersprachen, Verteilte Systeme, Connected and Mobile Systems sowie Algorithmik eingebracht werden.

Organisatorisches

Federführend: Prof. Dr. rer. nat. Roland Meyer, Institut für Theoretische Informatik

Turnus

Beginn in jedem Semester möglich (erstmals im WS 2017/18)

Modulangebot

Für den erfolgreichen Abschluss des Masterstudienganges Informatik sind 120 LP notwendig. Wenn die Studienrichtung "Hardware‐/Softwaresystementwurf und ‐analyse" gewählt wird, müssen mindestens 70 LP wie folgt erbracht werden:

Pflichtveranstaltungen (insgesamt 35 LP)

  • Ein Modul im Bereich Theoretische Informatik (mindestens 5 LP)
  • Masterarbeit (30 LP) ‐ in einem Fachgebiet der Studienrichtung (Entwurf Integrierter Systeme, Software‐Engineering, Theoretische Informatik)

Wahlpflichtveranstaltungen (insgesamt 35 LP)

  • Projektarbeit (15 LP)
  • Seminar (5 LP)

aus dem Bereich Entwurf Integrierter Systeme (EIS)

  • Chip‐ und System‐Entwurf 1 (10 LP)
  • Chip‐ und System‐Entwurf 2 (5 LP)
  • VLSI‐Design 2 (5 LP)
  • Praktikum VLSI‐Design 2 (5 LP)

aus dem Bereich Software Engineering (SE)

  • Softwarearchitektur (5 LP)
  • Modellbasierte Softwareentwicklung (5 LP)
  • Softwareproduktlinien: Konzepte und Implementierung (5 LP)
  • Softwarequalität 1 (5LP)
  • Softwarequalität 2 (5LP)
  • Softwaretechnik, vertiefendes Praktikum (5 LP)
  • Compiler 1 (5 LP)
  • Compiler 2 (5 LP)
  • Compilerbaupraktikum (5 LP)

aus dem Bereich Theoretische Informatik (TCS)

  • Programmanalyse (5 LP)
  • Algorithmische Automatentheorie (10 LP)
  • Komplexitätstheorie (10 LP)
  • Spiele mit perfekter Information (5 LP)
  • Nebenläufigkeitstheorie (10 LP)
  • Algebraische Automatentheorie (10 LP)
  • Praktikum Programmanalyse (5 LP)