Praktikum Multimedia- und Internetsysteme

Titel:Praktikum Multimedia- und Internetsysteme
Englischer Titel:Multimedia and Internet Systems (Project)
Typ:Praktikum
Kürzel / Nr.:PMIT / CS5850.064
SWS / LP:4P / 8LP
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
Termine:Abschlussvorträge vorheriges Semester:
Mittwoch 25.10.2017, 16.15 Uhr - 17.45 Uhr, Raum O27-411
Zielvereinbarungsvorträge:
Mittwoch 08.11.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.

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-Praxis
Medieninformatik, M.Sc.: Projekt, Modul Middlewaresystem-Praxis
Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt, Modul Middlewaresystem-Praxis
Verantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Voraussetzungen (inhaltlich):-
Voraussetzungen (formal):-
Grundlage für (inhaltlich):
Lernergebnisse:
Inhalt:
Bewertungsmethode:
Notenbildung:
Arbeitsaufwand:Präsenzzeit: 30h
Vortrag, Ausarbeitung: 90h
Summe: 120h