Hauptseminare Multimedia- und Internetsysteme
Titel: | Multimedia- und Internetsysteme |
Englischer Titel: | Multimedia and Internet Systems |
Typ: | Hauptseminar |
Kürzel / Nr.: | MIT / CS5900.082 |
SWS / LP: | 2S / 4LP |
Dozent: | Prof. Dr.-Ing. Franz J. Hauck |
Betreuer: | Prof. Dr.-Ing. Franz J. Hauck, Eugen Frasch, Gerhard Habiger, David Mödinger |
Vorbesprechung: | Mittwoch 18.10.2017, 16.15 Uhr - 17.45 Uhr, Raum O27-411 |
Lernplattform: | Kursmaterialien finden Sie im Moodle-Kurs Seminare Verteilte Systeme. Sie werden dem Kurs nach der Themenvergabe hinzugefügt. |
Themenvergabe: | Die Themenvergabe erfolgt während der Vorbesprechung. Alternativ können Themen vorab in Absprache mit dem jeweiligen Betreuer vergeben werden, wir empfehlen aber die Vorbesprechung abzuwarten, um einen besseren Überblick über die Themen zu erhalten. |
Themen | |
Nachimplementierung der etcd API in Java Betreuer: Gerhard Habiger | Projektanteil: Für die Verwaltung großer verteilter Systeme werden in der Regel Koordinierungsdienste wie ZooKeeper oder etcd eingesetzt. Um maximale Ausfallsicherheit und dennoch starke Konsistenzgarantien zu gewährleisten, sind solche Koordinierungsdienste durch State Machine Replication repliziert. Ein Problem dieses Replizierungsansatzes ist die zumeist schlechte Ausnutzung heutiger Multicore-Systeme. In unserer Forschung beschäftigen wir uns mit Methoden, SMR-replizierte Software zu beschleunigen und auch Multithreading zu erlauben. Hierfür sind unter anderem vergleichende Messungen mit etcd vorgesehen. Da etcd selbst komplett in Go geschrieben ist, sich unsere Forschung momentan jedoch auf Java konzentriert, soll in diesem Projekt die nach außen hin sichtbare API und dafür nötige Funktionalität von etcd in Java nachimplementiert werden. Es können dabei nahezu alle Schwierigkeiten die sich durch die Verteilung ergeben (Netzwerkkommunikation und -fehler, Konsensus, etc.) vernachlässigt werden. Es wird primär die Funktionalität, die eine nicht-verteilte Installation von etcd mit einem Host bereitstellen würde, verlangt. Das Projekt kann mit 16LP belegt werden. Seminaranteil: Das Seminar kann den Koordinierungsdienst etcd und seine API bzw. angebotene Funktionalität im Detail untersuchen und vorstellen. |
PriPlus: Userfriendly Privacy Betreuer: David Mödinger | Projektanteil: PriCloud ist ein Projekt mit dem Ziel einen Privatsphäre erhaltenden Cloudspeicher zu erhalten. Hierfür wird im Insitut an einem Prototypen in Python gearbeitet. Dieser bietet jedoch nur Konsolenzugriff auf die Subsysteme des Prototypen. Ziel des Projektes ist es ein fundiertes und geeignetes User Interface zu entwerfen und dieses praktisch zu erstellen. Das Thema kann nur mit 8 LP bearbeitet werden. |
NetVision: Simple Visualization of Distributed Algorithms Betreuer: David Mödinger | Projektanteil: In der Lehre steht man häufig vor der Herausforderung ein Problem geeignet zu visualisieren. Findet man eine geeignete Darstellung ist diese jedoch meist statisch, auf eine einzige Probleminstanz beschränkt und nicht interaktiv für die Studierenden. Ziel dieser Arbeit ist es ein Werkzeug zu erstellen um verteilte Algorithmen interaktiv zu visualisieren und so Studierenden die Möglichkeit zu geben damit zu experimentieren. Als erster Schritt muss hierfür ein Konzept erstellt werden (bestimmung geeigneter Einschränkungen für eine einfache Darstellung und Interaktion) sowie eine grafische Interaktion für die Modellierung des Algorithmus und des zu visualisierenden Netzes. Zuletzt gilt es diese Erkenntnisse in einer Java oder Web Applikation umzusetzen. Der genaue Umfang des Projekts richtet sich nach den gewählten Leistungspunkten und im Konzept ermittelten Herausforderungen und Einschränkungen. Das Thema kann mit 8 oder 16 LP bearbeitet werden. |
Vergleich von Entwicklungsumgebungen für AngularJS Betreuer: Franz J. Hauck | Projektanteil: Angular JS/2/4 ist ein populäres Framework zur Erstellung von Single-Page-Web-Applications. Aufgabe dieser Projektarbeit ist es verschiedene Entwicklungswerkzeuge zu recherchieren und vergleichend auszuprobieren, um Angular Anwendungen auf der Client-Seite zu entwickeln. Dies soll anhand eines selbst gestallten oder vorhandenen Beispielprojekts erfolgen. Wichtig ist die Integration in das Versionskontrollsystem Git. Für ein 16 LP Projekt sollte auch die Serverseite in Form eines REST-basierten Backends untersucht werden. Vorteilhaft sind Kenntnisse in Javascript und evtl. NodeJS und/oder Angular. Bei einem 16 LP Projekt könnte ein entsprechender Anteil Einarbeitung in diese Technologien in Form eines geeigneten Seminarthemas erfolgen. Seminaranteil: Bei 16 LP Projekten, Einarbeitung in Angular durch ein vorher abgestimmtes Thema, je nach Vorwissen. |
Beschreibung und allgemeine Angaben | |
Einordnung in die Studiengänge: | Informatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung Informatik, Lehramt: Wahlfach, Modul Middlewaresystem-Entwicklung Medieninformatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung Software-Engineering, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt, Modul Middlewaresystem-Entwicklung (siehe auch unter Hinweise zu Seminaren) |
Verantwortlich: | Prof. Dr.-Ing. Franz J. Hauck |
Unterrichtssprache: | Deutsch, Ausarbeitung und Präsentation wahlweise in Deutsch oder Englisch |
Turnus / Dauer: | jedes Semester / ein volles Semester |
Voraussetzungen (inhaltlich): | - |
Voraussetzungen (formal): | - |
Grundlage für (inhaltlich): | Multimedia- und Internetsysteme im Eigenbau |
Lernergebnisse: | In dem Seminar wird zum einen das selbständige wissenschaftliche Aufarbeiten eines begrenzten Stoffgebiets geübt. Zum anderen bereitet das Stoffgebiet auf eine Projektarbeit vor. Studierende erschließen das definierte Stoffgebiet selbständig durch Suche nach geeignetem Informationsmaterial. Sie extrahieren die wichtigen Informationen und entscheiden über eine geeignete Darstellung in einer Ausarbeitung sowie in einer Vortragspräsentation. Sie analysieren darüber hinaus das Material auf Eignung für das Projektthema und geben eigene Urteile über die Zusammenhänge zwischen Stoff und geplantem Projektthema ab. In der Diskussion nach dem Vortrag verteidigen die Studierenden ihre Position gegenüber Prüfern, Betreuern und anderen Seminarteilnehmern. |
Inhalt: | Die Inhalte der Seminarthemen sind abhängig von den angebotenen Themen (siehe dort). Gemeinsam ist allen Themen, dass sie im Bereich der Verteilten Systeme angesiedelt sind. Insbesondere werden immer wieder Systeme betrachtet, bei denen Anwendungen unterstützt werden bei ausgewählten Problemstellungen. Diese Unterstützung wird typischerweise als Systemfunktion bereitgestellt, die sich nicht innerhalb traditioneller Betriebssysteme sondern außerhalb in so genannten Middlewaresystemen implementiert ist. Typische Themengebiete sind Unterstützung für weiche Echtzeiteigenschaften, fehlertolerante Systeme, multimediale Kommunikationssysteme oder skalierbare Internetdienste. |
Notenbildung: | Die Note wird auf Anwesenheit, Vortrag, Ausarbeitung und Diskussionsbereitschaft erteilt. |
Arbeitsaufwand: | Präsenzzeit: 30 h Vor- und Nachbereitung: 90 h Summe: 120 h |