Multimedia- und Internetsysteme (Hauptseminar) - MIT

Diese Veranstaltung wurde im Sommersemester 2018 zum letzten Mal angeboten. Stattdessen bieten wir ab Wintersemester 2018/2019 die Projektmodule Verteilte Anwendungen, Plattformen und Systeme I und II an.

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, Muntazir Mehdi, David Mödinger
Themenvergabe:Infoveranstaltung:
Dienstag 17.04.2018, 12.15 Uhr - 13.45 Uhr, Raum O27-123 oder vorab nach Absprache mit dem Betreuer
Lernplattform:Kursmaterialien finden Sie im Moodle-Kurs Seminare Verteilte Systeme. Sie werden dem Kurs nach der Themenvergabe hinzugefügt.

Hinweis: Die Themen für den Modulstart im Sommersemester 2018 werden noch ergänzt. Die Liste ist daher noch vorläufig.

Themen

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.

weitere Themen zum Projekt in.Crease

Betreuer: Franz J. Hauck

in.Crease ist ein Informationssystem für Studierende, das sich als Lehrprojekt im Aufbau befindet. Es werden noch ein/zwei/drei Themen dazu angeboten, die jedoch erst Anfang April genauer formuliert werden.

Das Projekt arbeitet mit Angular 4, TypeScript, NodeJS, nginx und PostgreSQL.

Enabling Snapshotting in Multithreaded BFT-SMaRt

Betreuer: Gerhard Habiger

BFT-SMaRt ist eine Java Library für die einfache Entwicklung von Anwendungen die durch State Machine Replication ausfallsicher und sogar robust gegenüber byzantinischen Fehlern laufen können.

Ziel unserer Forschung ist die Beschleunigung von State Machine Replication, wozu wir in den letzten Monaten BFT-SMaRt um Multithreading-Komponenten erweitert haben. Ein Problem hierbei ist, dass das für die Fehlertoleranz zwingend notwendige Snapshotting erheblich erschwert wird und zur Zeit für unsere Optimierungen ausgeschaltet bleiben muss.
Dieses Projekt soll auf der Basis vorangegangener Projekte Wege ergründen wie Snapshotting in Verbindung mit Multithreading in BFT-SMaRt reaktiviert werden kann, sowie Implementierungen und Messungen der gefundenen Ansätze bereitstellen.

Dieses Thema kann mit 8 oder 16 LP bearbeitet werden. (This project can also be completed in english. Please contact me for further details).

Parallelizing a Java implementation of etcd

Betreuer: Gerhard Habiger

Ein kürzliches Studierendenprojekt reimplementierte den verteilten key-value store etcd in Java. Um diese Implementierung für zukünftige Forschung an fehlertoleranten Systemen weiter zu verwenden, soll dieses Projekt die Java-Implementierung parallelisieren. Durch intelligentes Locking soll ein möglichst hoher Grad an Parallelität erreicht werden, während die Korrektheit des Systems in allen Fällen bestehen bleibt. Anschließend soll durch Messungen der Performancegewinn gegenüber der sequentiellen Variante gezeigt werden.

Dieses Thema kann mit 8 oder 16 LP bearbeitet werden. (This project can also be completed in english. Please contact me for further details).

 

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

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

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 19.04.2017, 08.30 Uhr - 10.00 Uhr, O27-331
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

in.Crease: DevOps Pipeline und Entwicklungsumgebung

Betreuer: Franz J. Hauck

Projektanteil: Für das Lehrprojekt eines Studieninformationssystems wurde in einer Masterarbeit ein weitgehendes Konzept für das so genannte Continious Delivery erstellt, d.h. ein Entwickler kann eine neue Version erstellen, die dann automatisch getestet und mit vorhandener Software kombiniert wird sowie auf Knopfdruck direkt produktiv gehen kann. In diesem Projekt, das eventuell sogar Raum für zwei zusammen arbeitende Studierende geben könnte, soll die gesamte Umgebung dokumentiert und weiter ausgebaut werden. Insbesondere soll ein Entwicklungskonzept für Angular2 integriert werden. Je nach Ausgestaltung sollte Interesse an Systemsoftware, Software-Entwicklung, Java- bzw. Angular2-Programmierung vorhanden sein. Das Projekt kann mit 8LP oder 16LP belegt werden.
Seminaranteil: Das Seminar kann ausgewählte Aspekte von DevOps, Continous Delivery und beteiligter Software zur Einarbeitung betrachten(z.B. Angular2, Jenkins, NPM + Node.js).

Topologieerkennung mit JTomato

Betreuer: Franz J. Hauck

Projektanteil: JTomato ist eine Software des Instituts, die verschiedene IP-Pakete mit genauen Timings absenden und empfangen kann (ICMP u.ä.). Aus einer Masterarbeit ist ein Konzept zur Topologieermittlung des Internets entstanden, das Eigenheiten von IPv6 ausnutzt. Leider wurde die Evaluation nur rudimentär ausgeführt. Thema des Projekts ist das Reimplementieren des Konzepts mit JTomato und eine Durchführung praktischer Messungen. Interesse an Netzwerkprotokollen sowie an der Programmierung in Java und C++ (wenig) wäre hilfreich. Das Thema kann mit 8 oder 16 LP bearbeitet werden.
Seminaranteil: Als Seminar könnten je nach Vorkenntnissen Aspekte von IPv6, der Topologieerkennung und von JTomato behandelt werden.

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.

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

Wintersemester 2016/2017

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
Termine:Montag 17.10., 24.10. und 31.10.2016, jeweils 16.15 Uhr - 17.45 Uhr, O27-341 sowie nach Vereinbarung
Vorbesprechung:Montag 17.10.2016, 16.15 Uhr - 17.45 Uhr, O27-341
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

in.Crease: ein Informationsdienst für Prüfungsordnungen

Betreuer: Franz J. Hauck

Projektanteil: In vorherigen Projekten wurde bereits Server-Software für die Präsentation, den Vergleich, die Kommentierung und die Verlinkung zwischen verschiedenen Prüfungsordnungen implementiert. Dieses Projekt soll den Dienst zur "Produktionsreife" bringen, so dass er für Studierende angeboten werden kann. Insbesondere sollen die Funktionen und die verwendete Oberfläche angepasst werden. Falls als 16 LP Projekt gewählt, soll das Einloggen mit KIZ-Login und der Zugriff auf Präferenzen realisiert werden. Die Implementierung erfolgt mit AngularJS und JavaEE (JBoss Wildfly, Hibernate/JPA, Postgres). Kenntnisse in der Vorlesung AvID und/oder AngularJS sind hilfreich, können aber auch erarbeitet werden. Das Projekt kann mit 8LP oder 16LP belegt werden.
Seminaranteil: Das Seminar kann ausgewählte Aspekte von AngularJS betrachten (z.B. Angular2).

in.Crease Datenmodell für ein Studieninformationssystem

Betreuer: Franz J. Hauck

Projektanteil: Der in.Crease Informationsdienst soll auch das Modulhandbuch und das Vorlesungsverzeichnis zusammenfassen. In mehreren Projekten wurden schon Prototypen erstellt. Es hat sich jedoch herausgestellt, dass das Datenmodell noch unzureichend ist. In diesem Projekt soll das Datenmodell verbessert werden (semesterweise Historie der Änderungen, individuelle Versionen). Als Technologien kommen Wildfly, JPA, Envers und Postgres zum Einsatz. Zum Projekt gehört ein abgeschlossener Data Access Layer sowie die dazugehörige Dokumentation des Modells.  Das Thema kann mit 8 oder 16 LP bearbeitet werden.
Seminaranteil: Als Seminar könnten je nach Vorkenntnissen Aspekte von JPA und Envers behandelt werden.

OpenStack-Anbindung für EmuSphere

Betreuer: Gerhard Habiger

Projektanteil: EmuSphere ist eine Plattform, mit der sich verteilte Serverlandschaften simulieren lassen, die dann z.B. verteilte Tests ausführen. Dabei werden unter anderem auch die Netzwerkeigenschaften zwischen den Knoten des verteilten Systems beeinflusst (z.B. Latenz, Jitter), um beispielsweise die Auswirkung globaler Verteilung eines Systems zu testen. EmuSphere wird zur Zeit an der Universität Passau in Kooperation mit dem Institut Verteilte Systeme entwickelt. Momentan benötigt EmuSphere zum Deployment der Testinstanzen die Cloud-Plattform OpenNebula. In diesem Projekt soll EmuSphere erweitert werden um das Deployment der Instanzen auch mit OpenStack zu ermöglichen.
Das Projekt kann mit 8 oder 16 LP abgelegt werden.
Seminar: Der Seminaranteil soll EmuSphere und seinen Einsatzzweck präsentieren.

Benchmarking Implementierung für PriCloud

Betreuer: David Mödinger

Projektanteil: PriCloud beschäftigt sich mit der Schaffung eines Privatsphäre erhaltenden Cloud Speichers. Eines der betrachteten Szenarien baut auf ein Peer-to-peer Netz auf. Die Aufgabe dieses Projektes ist es, einen Teil der aktuellen PriCloud Spezifikation zu implementieren. Diese Implementierung kann als Baislinie für einen Benchmark von weitergehenden Technologien dienen. Das Projekt kann als 8 oder 16 LP Projekt gewählt werden.
Seminar: Der Seminaranteil könnte sich mit dem Projekt PriCloud beschäftigen und dieses präsentieren, da eine Einarbeitung in dieses notwendig ist.

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

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:Eugen Frasch, Gerhard Habiger, David Mödinger
Termine:

Dienstag, 12.04.2016, 16.15 Uhr - 17.45 Uhr, O27-34: Vorbesprechung
Dienstag, 19.04.2016, 10.15 Uhr - 11.45 Uhr, O27-341: Wissenschaftliches Arbeiten (verpflichtend)
Donnerstag, 21.04.2016, 16.15 Uhr - 17.45 Uhr, O27-123: LaTeX-Einführung (freiwillig)
Donnerstag, 16.06.2016, 16.15 Uhr - 17.45 Uhr, O27-123: Präsentationstechniken (verpflichtend)
Freitag, 08.07.2016: Vortragsblocktermin, 47.2.505 und 47.2.506

Vorbesprechung:Dienstag, 12.04.2016, 16.15 Uhr - 17.45 Uhr, O27-341
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.

Hinweis: Die folgende Themenliste für den Modulstart im Sommersemester 2016 ist vorläufig und wird bis zum 08.04.2016 ergänzt und verändert.

Themen

in.Crease: ein Informationsdienst zum Lesen und Vergleichen von Prüfungsordnungen

Betreuer: Franz J. Hauck

Projektanteil: In einem vorherigen Projekt wurde bereits Server-Software für die Präsentation, den Vergleich, die Kommentierung und die Verlinkung zwischen verschiedenen Prüfungsordnungen implementiert. Dieses Projekt soll den Dienst mit einer neu zu gestaltenden und ansprechenden Oberfläche in Betrieb nehmen. Die Implementierung erfolgt mit AngularJS und JavaEE (JBoss Wildfly, Hibernate/JPA, MySQL bzw. Postgres). Kenntnisse in der Vorlesung AvID und/oder AngularJS sind hilfreich, können aber auch erarbeitet werden. Das Projekt kann mit 8LP oder 16LP belegt werden.
Seminaranteil: Das Seminar kann ausgewählte Aspekte von AngularJS betrachten (Modularisierung, Routing, Bedienelemente, client-seitige Validierung etc.).

Werkzeuge für kryptographische Operationen in Java

Betreuer: Franz J. Hauck

Projektanteil: In einer Bachelorarbeit wurden bereits einfache Werkzeuge für kryptographische Operationen in Java entwickelt. Dieses Projekt soll den Prototyp komplementieren und vor allem gängige Operationen wie Erstellen und Beantragen von Zertifikaten ermöglichen. Die Implementierung erfolgt mit Java und JavaFX.
Seminaranteil: Das Seminar kann die Java Krypto-API (JCA und JSSE) behandeln oder auch JavaFX.

Implementation of asynchronous request handling in the fault-tolerant Java library BFT-SMaRt

Betreuer: Gerhard Habiger

Project: The BFT-SMaRt library, written in Java, allows distributed systems to be reliable even when experiencing byzantine failures. Current research efforts of our institute aim to integrate our own work on deterministic scheduling of multithreaded applications with BFT-SMaRt. Currently, BFT-SMaRt only supports synchronous request-response patterns and singlethreaded execution, whereas our planned fault-tolerant platform would enable multithreading and asynchronous request handling. This could significantly improve throughput and latency of fault-tolerant systems. The goals of this lab project are (i) to analyze the existing BFT-SMaRt Java codebase, (ii) to implement the necessary interfaces for asynchronous request handling in Java and (iii) to integrate these changes into the existing BFT-SMaRt libraries.
This project has a length of 16 ECTS.
Seminar: The Seminar can summarize the concepts of our scheduling algorithm for multithreaded applications and the BFT-SMaRt library and should identify the problems of combining the two.

Design and Implementation of an Educational Distributed System

Betreuer: David Mödinger

Project: A course on foundations of distributed systems is usually accompanied by several programming exercises. The goal of this project is a coherent project with well defined modules, consisting of different aspects of a distributed system taught in a course on distributed systems (e.g., message passing or time synchronisation). These modules should be covered by unit tests, which ideally could be run automatically on student submissions. This project has a length of 8 or 16 ECTS.
Seminar: The Seminar can cover (automatic) unit tests in Java or aspects of educational software design.

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

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:Eugen Frasch
Termine:werden in der Vorbesprechung bekannt gegeben
Vorbesprechung:Donnerstag 15.10.2015, 14.15 Uhr - 15.45 Uhr im Raum O27-341
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

in.Crease: Inbetriebnahme eines elektronischen Modulhandbuchs

Betreuer: Franz J. Hauck

Projektanteil: In vorherigen Projekten wurde bereits ein Datenmodell und die Oberfläche für ein einfache Oberfläche für ein elektronisches Modulhandbuch implementiert. Dieses Projekt hat zur Aufgabe zum einen das Datenmodell auf eine neue Version zu aktualisierung und weiterhin die Benutzeroberfläche neu zu gestalten. Dazu gehören auch grafische Elemente, Icons und die Benutzerführung insgesamt. Die Implementierung erfolgt in AngularJS und JavaEE (JBoss Wildfly, Hibernate/JPA, MySQL). Kenntnisse in der Vorlesung AvID und/oder AngularJS sind hilfreich, können aber auch erarbeitet werden. Das Projekt kann mit 8LP oder 16LP belegt werden.
Seminaranteil: Das Seminar kann ausgewählte Aspekte von AngularJS betrachten (Modularisierung, Routing, Bedienelemente, client-seitige Validierung etc.).

in.Crease: Inbetriebnahme eines Informationsdienstes für Prüfungsordnungen

Betreuer: Franz J. Hauck

Projektanteil: In einem vorherigen Projekt wurde bereits Server-Software für die Präsentation, den Vergleich und die Verlinkung von verschiedenen Prüfungsordnungen implementiert. Dieses Projekt soll den Dienst mit einer ansprechenden Oberfläche in Betrieb nehmen. Die Implementierung erfolgt mit AngularJS und JavaEE (JBoss Wildfly, Hibernate/JPA, MySQL). Kenntnisse in der Vorlesung AvID und/oder AngularJS sind hilfreich, können aber auch erarbeitet werden. Das Projekt kann mit 8LP oder 16LP belegt werden.
Seminaranteil: Das Seminar kann ausgewählte Aspekte von AngularJS betrachten (Modularisierung, Routing, Bedienelemente, client-seitige Validierung etc.).

Werkzeuge für kryptographische Operationen in Java

Betreuer: Franz J. Hauck

Projektanteil: In einer Bachelorarbeit wurden bereits einfache Werkzeuge für kryptographische Operationen in Java entwickelt. Dieses Projekt soll den Prototyp komplementieren und vor allem gängige Operationen wie Erstellen und Beantragen von Zertifikaten ermöglichen. Die Implementierung erfolgt mit Java und JavaFX.
Seminaranteil: Das Seminar kann die Java Krypto-API (JCA und JSSE) behandeln oder auch JavaFX.

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

 
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: Steffen Kächele
Termine: Dienstag, 16.15 Uhr - 17.45 Uhr, O27-341
Vorbesprechung: Dienstag, 14.04.2015, 16.15 Uhr - 17.45 Uhr, O27-341
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

 

in.Crease: Elektronisches Modul- und Vorlesungsverzeichnis auf der Basis von Angular JS

Betreuer: Franz J. Hauck

Projektanteil: Diese Projektarbeit soll bestehende Konzepte des in.crease-Systems, ein elektronisches Lehre-Informationssystem, anstatt wie bisher mit JSF und Java EE nun mit Angular JS auf der Browserseite und mit Java EE auf der Serverseite implementieren. Kenntnisse im Bereich der Vorlesung AvID und/oder von Javascript/Angular JS sind hilfreich. Das Projekt kann nur mit 16LP durchgeführt werden.
Seminaranteil: Für das vorangehende oder parallel zu besuchenden Seminar bietet sich als Thema die Vorstellung von Angular JS und seine grundsätzlich andere Vorgehensweise im Vergleich zu JSF an.
[reserviert]

in.Crease: Integration bis zu einem lauffähigen Lehrinformationssystem

Betreuer: Franz J. Hauck

Projektanteil: Bisher sind im Rahmen von Projektarbeiten eine Reihe von Software-Komponenten entstanden, die noch nicht zu einem lauffähigen System zusammengefügt wurden. Aufgabe dieser Projektarbeit ist genau dies zu tun. Herausforderung ist hier die Einarbeitung in bestehende Software-Komponenten, in die Philosophie des Gesamtsystems und die Korrektur von nicht zusammenpassenden Teilen. Eventuell müssen Teile auch reimplementiert werden. Ziel ist ein lauffähiges System mit einer (teil-)automatischen Speisung mit aktuellen Modul- und Lehrdaten, der Präsentation der Lehrdaten an anonyme und eingeloggte Benutzer in ansprechendem Layout. Weiterhin ist auf der Basis einer vorhandenen Benutzerverwaltung die Erweiterung auf Benutzerpräferenzen, wie z.B. voreingestellter Default-Studiengang. Ein wichtiger Anteil ist die Dokumentation von Konventionen und Struktur-Überlegungen, damit künftige Arbeiten sich an diese Vorgaben halten. Idealerweise sind Vorkenntnisse im Bereich der Vorlesung AvID und/oder von JSF und EJB vorhanden.
Seminaranteil: Diese Arbeit könnte mit 8LP, d.h. ohne Seminar belegt werden. Mit Seminar bietet sich an bestehende Lehrinformationssysteme in ihrer Funktion und vor allem ihrer Benutzeroberfläche zu vergleichen. Das Seminar kann vorab oder parallel belegt werden.

in.Crease: Eingabesystem für Module und Vorlesungen

Betreuer: Franz J. Hauck

Projektanteil: Um die Lehrdaten zu bearbeiten benötigt das in.Crease System eine Benutzeroberfläche, die entsprechende Eingabemasken präsentiert. Je nach Schwierigkeit der Aufgabe kann der organisatorische Prozess realisiert werden, der aus der dezentralen Eingabe durch Dozenten und eine Genehmigung sowie Veröffentlichung der Daten durch die Gremien wie Studienkommission und Studiendekan besteht.
Seminaranteil: Diese Projektarbeit könnte mit 8LP, d.h. ohne Seminar belegt werden. Mit Seminar ist als Thema im vorab oder parallel zu belegenden Seminar eine Übersicht über die Gestaltung von Benutzeroberflächen für komplexe Editierinteraktionen zu betrachten, z.B. Editieren von Listen von Personen, Editieren von Studiengangszuordnungen, Editieren von Texten, Editieren von großen Datenmengen. Dabei ist die Intuitivität und die klare Benutzerführung zu bewerten. Damit wird die Grundlage für den Projektanteil gelegt, in dem solche Mechanismen eingesetzt werden müssen.
[reserviert]

in.Crease: versioniertes Einlesen von Moduldaten

Betreuer: Franz J. Hauck

Projektanteil: Die Moduldaten der Fakultät werden in einem LaTeX-Format bearbeitet und als versionierte Menge von LaTeX-Dateien gespeichert. Das Einlesen der Daten wurde bereits in vorangegangenen Projekten implementiert. Ziel dieser Arbeit ist es alle in GIT vorliegenden Modulversionen mit ihren korrekten Änderungszeitpunkten in eine versionierte Datenbank zu schreiben. Dazu wird Hibernate und Envers verwendet. Eine entsprechende Modell-Implementierung gibt es bereits. Herausforderungen sind hier, bei Aktualisierungen nur diejenigen Änderungen zu übernehmen, die noch nicht erfasst wurden. Weiterhin sind bestimmte Informationen nur rudimentär in den LaTeX-Dateien vorhanden, die manuell von Editoren eingegeben werden müssen. Es muss dafür gesorgt werden, dass diese Eingaben nicht überschrieben und gegebenenfalls in neuen Versionen weiter verwendet werden. Kennnisse im Bereich der Vorlesung AvID sind hilfreich.
Seminaranteil: Diese Projektarbeit kann mit 8LP, d.h. ohne Seminar belegt werden. Als Seminarthema bietet sich an Java-APIs und Implementierungen zum direkten Zugang auf GIT-Repositories vorzustellen.

Qualitätsanpassung von Videostreams

Betreuer:Vladimir Nikolov

Projektanteil: Video-Streams, wie sie bei Video-on-Demand, Videotelefonie oder -konferenzen benutzt werden, sind in ihrer Qualität durch die im Netz verfügbare Datenrate sowie die CPU-Ressourcen auf Sender- und Empfängerseite beschränkt. Heutige Systeme wie z.B. LibJitsi passen sich nur auf die Datenrate an. Im Projekt sollen Mechnismen integirert werden, die eine Anpassung an die vorhandenen CPU-Ressourcen erlauben. Messen und Abschätzen der REssourcen findet außerhalb von LibJitsi statt und ist bereits implementiert; entsprechende Interaktionen müssen aber integriert werden. Da in einem solchen Szenario ein Empfänger dem Sender eine Überlastung mitteilen muss, gehört beispielsweise auch eine entpsrechende Signalisierung mit einer RTCP-Erweiterung zur Projektarbeit. Ideale Vorkenntnisse bestehen durch die Vorlesung MMK.
Seminaranteil: Im vorangehenden Seminarteil oder parallel zu besuchenden Seminar sollen die möglichen Qualitätsanpassungen bei heute typischen Videocodecs zusammengestellt werden. Welche Metriken können genutzt weden (z.B. Frame-Rate)? Welche Mechanismen können eingesetzt werden (z.B. Enhancement-Layer)? Welche Auswirkungen haben diese auf Netz- und CPU-Ressourcen bei Sender und Empfänger?

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

 
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: Steffen Kächele
Termine: Mittwoch, 16.15 Uhr – 17.45 Uhr, O27-341
Vorbesprechung: Mittwoch, 15.10.2014, 16.15 Uhr - 17.45 Uhr, O27-341
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.

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

 
Titel: Multimedia- und Internetsysteme
Englischer Titel: Multimedia and Internet Systems
Typ: Hauptseminar
Kürzel / Nr.: MIT / CS5900.082
SWS / LP: 2S / 4 LP
Dozent:  Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Steffen Kächele, Christian Spann
Termine: wird noch festgelegt
Vorbesprechung: Mittwoch 23.4.2014 16.15 Uhr, Raum O27-341
In der Vorbesprechung wird der organisatorische Rahmen präsentiert, die möglichen Themen vorgestellt und danach vergeben. Dieses Seminar wird nicht über die zentrale Seminarvergabe zugeteilt.
Lernplattform: Kursmaterialien finden Sie im Moodle-Kurs. Sie werden dem Kurs automatisch hinzugefügt sobald sie eines unserer Seminare besuchen.
Themenvergabe: Die Themenvergabe erfolgt während der Vorbesprechung nach Anmeldereihenfolge im ILIAS-Kurs. Alternativ können Themen vorab in Absprache mit dem jeweiligen Betreuer vergeben werden.

Themen

 

in.Crease: Benutzerverwaltung für ein elektronisches Modulhandbuch

Betreuer: Franz J. Hauck

Projektanteil: Für ein elektronisches Modulhandbuch und Vorlesungsverzeichnis gibt es bereits erste Arbeiten für eine Benutzerführung. Die eingesetzte Technologien sind Java EE insbesondere Java Server Faces und EJB. Für die künftige Benutzerverwaltung sollen geeignete Tabellen für die Benutzerinformationen entwickelt und mit Authentisierungs- und Autorisierungsmechanismen verknüpft werden. Dies soll sich nahtlos in ein Java EE System integrieren. Insbesondere soll die Eingabe von Passwörtern nicht im System selbst sondern bei externen Dienstleister wie z.B. dem KIZ erfolgen. Hierzu sind entsprechende Technologien und Machbarkeiten auszuloten und dann umzusetzen. Entsprechende Kooperationen mit dem KIZ werden vom Betreuer geregelt. Ideale Voraussetzung sind Kenntnise im Bereich Web-Technologien bzw. AvID Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind Mechanismen und Konzepte für die entfernte und web-basierte Authentisierung zusammen zu tragen, vergleichend gegenüber zu stellen und in der Eignung für den Projektanteil zu evaluieren. Insbesondere sollten OpenID, Shiboleth, OAuith und ähnliche zu untersuchen.

in.Crease: Datenmodellierung für ein elektronisches Modulhandbuch

Betreuer: Franz J. Hauck

Projektanteil: Für ein ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine effiziente Datenmodellierung durchgeführt werden. Die Modellierung soll mittels JavaEE (genauer EJB und JPA, Java Persistence API erfolgen). Die notwendigen Entitäten und Attribute müssen auf ein geeignetes relationales Schema umgesetzt werden. Ein vorläufiges Datenmodell ist vorhanden. Die Herausforderung ist, die Revisionierbarkeit der Daten, d.h. alle Änderungen bleiben gespeichert und müssen nachvollziehbar sein. Das Modell soll in der Lage sein, alle Daten von einem bestimmten Zeitpunkt wieder herzustellen. Um dies zu erreichen sind verschiedene Vorgehensweisen nebeneinander auszuprobieren und deren Effizienz und Handhabung zu vergleichen. Ideale Voraussetzung sind Kenntnisse von JPA bzw. AvID Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind bestehende Erweiterungen von JPA für die Revisionierbarkeit von Daten zu ermitteln und deren Fähigkeiten im Vergleich gegenüber zu stellen.

Orchestrierte Topologieerfassung

Betreuer: Sven Schober

Wissen über die Netzwerktopologie kann Helfen die Quality-of-Service verteilter Multimedia-Anwendungen zu verbessern. So können z.B.  Cluster innerhalb der Teilnehmer von Videokonferenzen erkannt werden und gezielt Proxy-Server platziert werden, die die Netzwerklast verringern.  Ein bekanntes Werkzeug zur Topologieerfassung ist traceroute, welches die einzelnen "Hops" einer Internet-Route von Quell- zu Zielhost sichtbar machen kann. Um ein umfassendes Bild der Topologie zwischen mehreren Teilnehmern zu erhalten müssen jedoch einige Herausforderungen angegangen werden: Zum einen existiert mit Load-Balancern eine starke Quelle von Ungenauigkeiten, zum anderen sind die Routen der Hin- und Rückrichtung im Allgemeinen nicht identisch und selbst wenn ist dies nicht immer ohne weiteres Erkennbar.  Am Lehrstuhl für Verteilte Systeme entstand u.a. bereits eine Traceroute- Implementierung, welche es erlaubt aus Java heraus Traces zu starten und umfassenden Einfluss auf die versendeten Pakete zunehmen.  In diesem Thema soll der Stand der Technik bei der Topologieerkennung aufgearbeitet (Seminaranteil) werden und aufbauend auf den existierenden Vorarbeiten eine Implementierung angefertigt (Projektanteil) werden.

Kombinierte Bandbreiten- und Topologieerfassung

Betreuer: Sven Schober

Verteilte Anwendungen können von Wissen über Bandbreite und Topoligie des Netzwerks zwischen Hosts profitieren. So können z.B.  Proxy-Server an "günstigen" Stellen platziert werden, um Flaschenhälse weniger zu belasten.  Bisher gibt es für beide Einsatzfälle separate Werkzeuge, für Topologieerkennung z.B. traceroute, für Bandbreitenmessung z.B.  tcpperf. Gerade letztere Kategorie belastet den Netzwerkpfad zwischen Quell- und Zielhost jedoch stark, weshalb in der Forschung einige Ansätze entwickelt wurden die Belastung zu reduzieren.  Weiterhin messen die vorhandenen Ansätze meist nur die Ende-zu-Ende-Bandbreite, Informationen darüber, wo der Flaschenhals entlang des Pfades liegt bleibt verborgen.  Am Lehrstuhl für Verteilte Systeme entstand ein Werkzeug mit dem aus Java heraus Pakete versendet werden können, auf deren Aufbau umfassend Einfluß genommen werden kann. So kann damit z.B.  traceroute sehr einfach implementiert werden, aber auch die erwähnten modernen Bandbreitenmesstechniken.  Ziel dieses Themas soll die Aufarbeitung der Literatur (Seminaranteil) und die Erarbeitung eines Ansatzes zur kombinierten Toplogie-, Latenz- und Bandbreitenmessung entlang eines Pfades sein, sowie eine Implementierung aufbauend auf den vorhandenen Vorarbeiten (Projektanteil).

Digitale Fernsteuerung

Betreuer: Jan-Patrick Elsholz

Projektanteil: Für die Middleware Instant-X soll eine digitalen Fernsteuerung für Video on Demand (VoD) weiterentwickelt werden. Dazu gehört die prototypische Abbildung des Real-Time Streaming Protokolls (RTSP) auf die API der Middleware. Sowohl die Server- als auch die Clientseite sollen betrachtet und im Test-driven Development entwickelt werden. Ideale Voraussetzung sind Kenntnisse von RTSP und der MMK Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten der Middleware Instant-X herauszuarbeiten. Neben den grundsätzlichen Fähigkeiten sind vor allem der Einsatz von RTSP im Zusammenhang mit dem Projektanteil darzustellen.

Zugriffanalyse vorhandener Anwendungen

Betreuer: Steffen Kächele

Projektanteil: Heutige mobile Betriebssysteme (Android/iOS) bieten eine mehr oder weniger umfangreiche Rechteverwaltung für Anwendungen an. Beim Zugriff auf kritische Ressourcen müssen sich Anwendungen entsprechende Rechte bereits während der Installation einholen. Auf üblichen Desktop- und Serverbetriebssystemen ist der Ressourcenzugriff von Anwendungen hingegen weitgehens intransparent. Für vorhandene Java Anwendungen soll ein Analysetool entworfen werden, dass den Zugriff der Anwendung auf System-Ressourcen, Programm-Bibliotheken und JVM-Funktionalität analysiert und darstellt. Das Analysetool soll generisch für mehrere Anwendungsfälle anpassbar und konfigurierbar sein. Die Analyse soll auf Java Bytecode operieren.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Funktionsweise von Codeanalyse (insbesondere Bytecode-Analyse) herauszuarbeiten.

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge:Informatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung
Medieninformatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung
Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt, Modul Middlewaresystem-Entwicklung
(siehe auch unter Hinweise zu Seminaren)
Verwantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch, Ausarbeitung und Präsentation wahlweise in Deutsch oder Englisch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):-
Vorraussetzungen (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

 
Titel: Multimedia- und Internetsysteme
Englischer Titel: Multimedia and Internet Systems
Typ: Hauptseminar
Kürzel / Nr.: MIT / CS5900.082
SWS / LP: 2S / 4 LP
Dozent:  Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Steffen Kächele, Christian Spann
Termine: Donnerstag, 10.15 Uhr – 11.45 Uhr, O27-341
Vorbesprechung: Vorstellung und Vergabe der Themen am Donnerstag, 17.10.2013, 10.15 Uhr - 11.45 Uhr, O27-341
Lernplattform: Die Seminarplätze werden per ILIAS vergeben. Bitte melden Sie sich dazu im ILIAS-Kurs an.
Themenvergabe: Die Themenvergabe erfolgt während der Vorbesprechung nach Anmeldereihenfolge im ILIAS-Kurs. 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

 

in.Crease: GUI-Komponenten für ein elektronisches Modulhandbuch

Betreuer: Franz J. Hauck

Projektanteil: Für ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine erste Version für eine Benutzerführung weiterentwickelt werden. Dazu gehören der Entwurf der Benutzeroberfläche, der Navigation und Benutzerführung für Betrachtungs- und Editorfunktionen. Gemäß dem MVC-Muster soll vor allem View und Controller für einen abgegrenzten Aufgabenbereich erstellt werden. Ein lauffähiger Prototyp soll nach einer Konzeptphase mit JavaEE (genauer JSF und Servlets) entwickelt werden. Ideale Voraussetzung sind Studium der Medieninformatik und Kenntnise von JSF bzw. AvID Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten von JSF herauszuarbeiten. Neben den grundsätzlichen Fähigkeiten sind vor allem der mögliche Einsatz von Validatoren und Templates im Zusammenhang mit dem Projektanteil darzustellen.

in.Crease: Datenmodellierung für ein elektronisches Modulhandbuch

Betreuer: Franz J. Hauck

Projektanteil: Für ein ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine effiziente Datenmodellierung durchgeführt werden. Die Modellierung soll mittels JavaEE (genauer EJB und JPA, Java Persistence API erfolgen). Die notwendigen Entitäten und Attribute müssen auf ein geeignetes relationales Schema umgesetzt werden. Dabei ist die Herausforderung, dass alle Datenänderungen einzeln persistiert werden müssen, um Änderungen nachträglich nach zu verfolgen. Hierzu sollen verschiedene Schemata erstellt und deren Abfrageeffizienz bei großen Datenmengen evaluiert werden. Ideale Voraussetzung sind Kenntnisse von JPA bzw. AvID Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten von JPA herauszuarbeiten. Neben der grundsätzlichen Funktion sind vor allem die Besonderheiten des objektrelationalen Mappings von JPA im Zusammenhang mit dem Projektanteil darzustellen.

Orchestrierte Topologieerfassung

Betreuer: Sven Schober

Wissen über die Netzwerktopologie kann Helfen die Quality-of-Service verteilter Multimedia-Anwendungen zu verbessern. So können z.B.  Cluster innerhalb der Teilnehmer von Videokonferenzen erkannt werden und gezielt Proxy-Server platziert werden, die die Netzwerklast verringern.  Ein bekanntes Werkzeug zur Topologieerfassung ist traceroute, welches die einzelnen "Hops" einer Internet-Route von Quell- zu Zielhost sichtbar machen kann. Um ein umfassendes Bild der Topologie zwischen mehreren Teilnehmern zu erhalten müssen jedoch einige Herausforderungen angegangen werden: Zum einen existiert mit Load-Balancern eine starke Quelle von Ungenauigkeiten, zum anderen sind die Routen der Hin- und Rückrichtung im Allgemeinen nicht identisch und selbst wenn ist dies nicht immer ohne weiteres Erkennbar.  Am Lehrstuhl für Verteilte Systeme entstand u.a. bereits eine Traceroute- Implementierung, welche es erlaubt aus Java heraus Traces zu starten und umfassenden Einfluss auf die versendeten Pakete zunehmen.  In diesem Thema soll der Stand der Technik bei der Topologieerkennung aufgearbeitet (Seminaranteil) werden und aufbauend auf den existierenden Vorarbeiten eine Implementierung angefertigt (Projektanteil) werden.

Kombinierte Bandbreiten- und Topologieerfassung

Betreuer: Sven Schober

Verteilte Anwendungen können von Wissen über Bandbreite und Topoligie des Netzwerks zwischen Hosts profitieren. So können z.B.  Proxy-Server an "günstigen" Stellen platziert werden, um Flaschenhälse weniger zu belasten.  Bisher gibt es für beide Einsatzfälle separate Werkzeuge, für Topologieerkennung z.B. traceroute, für Bandbreitenmessung z.B.  tcpperf. Gerade letztere Kategorie belastet den Netzwerkpfad zwischen Quell- und Zielhost jedoch stark, weshalb in der Forschung einige Ansätze entwickelt wurden die Belastung zu reduzieren.  Weiterhin messen die vorhandenen Ansätze meist nur die Ende-zu-Ende-Bandbreite, Informationen darüber, wo der Flaschenhals entlang des Pfades liegt bleibt verborgen.  Am Lehrstuhl für Verteilte Systeme entstand ein Werkzeug mit dem aus Java heraus Pakete versendet werden können, auf deren Aufbau umfassend Einfluß genommen werden kann. So kann damit z.B.  traceroute sehr einfach implementiert werden, aber auch die erwähnten modernen Bandbreitenmesstechniken.  Ziel dieses Themas soll die Aufarbeitung der Literatur (Seminaranteil) und die Erarbeitung eines Ansatzes zur kombinierten Toplogie-, Latenz- und Bandbreitenmessung entlang eines Pfades sein, sowie eine Implementierung aufbauend auf den vorhandenen Vorarbeiten (Projektanteil).

Effizientes Checkpointing in Byzantinisch Fehlertoleranten Bibliotheken

Betreuer: Christian Spann

Verteilte Anwendungen sehen sich in der Realität mit verschiedenen Ausfall- bzw. Angriffsszenarien konfrontiert. Der Rechner auf dem die Anwendung ausgeführt wird kann ausfallen oder von Hackern übernommen werden. Byzantinisch Fehlertoleranten Systeme versuchen dies durch eine Replikation der Anwendung auf mehrere Rechner zu verhindern. Dabei ist die Logik für eine solche Verteilung unter anderem darauf angewiesen, periodisch den Zustand der Anwendung zum gleichen logischen Zeitpunkt auf allen Replikaten zu sichern. Denn erst nach dieser Sicherung kann die Anfragehistorie der Anwendung gelöscht werden. Die Notwendigkeit dieser Historie ergibt sich aus der durchzuführenden Fehlererholung beim Ausfall bzw. einer übernahme eines Replikats. 
Projektanteil: Design und Implementierung eines Moduls zur verteilten Erstellung und Verifikation von Zustandsschnappschüssen.
Seminaranteil: Untersuchung verschiedener Ansätze zur Erstellung solcher Schnappschüsse und Identifikation der notwendigen Komponenten und Methoden.

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge:Informatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung
Medieninformatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung
Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt, Modul Middlewaresystem-Entwicklung
(siehe auch unter Hinweise zu Seminaren)
Verwantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch, Ausarbeitung und Präsentation wahlweise in Deutsch oder Englisch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):-
Vorraussetzungen (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

Sommersemester 2013

Titel: Multimedia- und Internetsysteme
Englischer Titel: Multimedia and Internet Systems
Typ: Hauptseminar
Kürzel / Nr.: MIT / CS5900.082
SWS / LP: 2S / 4 LP
Dozent:  Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Steffen Kächele, Vladimir Nikolov, Christian Spann, Sven Schober
Termine: Mittwochs, 14–16 Uhr, O27/122
Vorbesprechung: Unverbindliche Vorbesprechung am Mittwoch, 17.04.2013, 14.15 Uhr im Raum O27/122.
Lernplattform: Die Seminarplätze werden per ILIAS vergeben. Bitte melden Sie sich dazu im ILIAS-Kurs an.
Themenvergabe: Die Themenvergabe erfolgt während der Vorbesprechung nach Anmeldereihenfolge im ILIAS-Kurs. 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

Software Defined Networking

Betreuer: Benjamin Erb

Software Defined Networking ermöglicht die Programmierung von Netzwerkkomponenten über offene Schnittstellen wie OpenFlow. Dadurch können zum Beispiel Netzwerk-Infrastrukturen virtualisiert oder neuartige Netzwerkdienste implementiert werden. Ebenso können Anwendungen über APIs Zugriff auf die Netzwerk-Infrastruktur bekommen.
Das Disruptor Pattern

Betreuer: Benjamin Erb

Das Disruptor Pattern bietet eine Alternative zu traditionellen Queues für die Inter-Thread-Kommunikation und wurde ursprünglich für "high-frequency trading" entwickelt. Es zielt hierbei insbesondere auf hochperformanten Durchsatz ab und orientiert sich an modernen CPU-Architekturen. Damit ist der Disruptor auch allgemein für nebenläufige Programmierung interessant.
Time-Warp Algorithmus für nebenläufige Simulationen

Betreuer: Benjamin Erb

Der Time-Warp Algorithmus stellt einen populären Mechanismus für die Ausführung von nebenläufigen, diskret-ereignisbasierten Simulationen dar. Er ermöglicht eine optimistische Ausführung bei gleichzeitiger Wahrung von zeitlicher Konsistenz.
Gegenmaßnahmen für Angriffe auf Anonymitätsnetze

Betreuer: Rens van der Heijden

Ziel dieser Arbeit ist, Angriffe auf Anonymitätsnetze, wie z.B. TOR, zu besprechen. Die Arbeit soll erklären, welche Sicherheitsziele angegriffen werden. Weiterhin sollen mögliche Gegenmaßnahmen erklärt werden. Es gibt die Wahlmöglichkeit, entweder detailliert auf 1-2 Angriffe einzugehen oder etwas weniger detailliert einen breiteren Bereich von Angriffen zu erklären.
Privacy-preserving Biometrics

Betreuer: Rens van der Heijden

In diese Arbeit sollen privacy-preserving biometrische Systeme besprochen werden. Hauptziel der Arbeit soll sein, zu erklären, warum man diese Systeme überhaupt braucht, und wie diese Systeme Privacy de(r/s) Benutzer(in/s) und Sicherheit des Systems beinflussen.
Bitcoins

Betreuer: Stefan Dietzel

(vergeben) Bitcoins sind eine neuartige, elektronische, verteilt berechnete Währung. Ziel der Arbeit ist es, einen Überblick über Bitcoins im allgemeinen sowie die verteilte Berechnung im speziellen zu geben.
Einsatz von Physically Unclonable Functions im Bereich IT-Sicherheit

Betreuer: Stephan Kleber

Physically Unclonable Functions (PUFs) nutzen phyikalische Eigenschaften einzelner Hardwareinstanzen aus, um spezifisches, einzigartiges und nicht nachahmbares Verhalten von Algorithmen auf diesem einen Gerät zu erlangen. Insbesondere im Bereich der IT-Sicherheit ist ein solches Verhalten für Attestierung und spezielle Nutzung von Verschlüsselung sehr wertvoll. Diese Arbeit soll die aktuelle Forschung in diesem Bereich im Überblick beschreiben und interessante Anwendungsweisen dieses Konzeptes herausarbeiten.
Wireless Physical Layer Security

Betreuer: Stephan Kleber

Zu einem umfassenden Verständnis von sicherer Kommunikation gehört auch die Betrachtung der grundlegendsten Schicht der Datenübertragung: des "Physical Layers." Tatsächlich bietet gerade drahtlose Kommunikation, mit ihrem öffentlichen Medium, ein weites Spektrum an Sicherheitsproblemen, gerade durch ihre physikalischen Eigenschaften ergeben sich aber auch Möglichkeiten, um interessante, neuartige Lösungen für ebendiese Probleme zu entwickeln. Solche Lösungsstrategien sollen durch diese Arbeit im Überblick zusammengefasst und nach eigenem Interesse vertiefend betrachtet werden.
Mobile Phone Security

Betreuer: Stephan Kleber

(vergeben) Je ubiquitärer und je leistungsfähiger die Sensorik und die Hardware von Smart Phones wird, desto attraktiver werden diese Plattformen für Angreifer. Ziel dieser Arbeit ist es die Frage zu beantworten, warum dies der Fall ist und Ansätze wie AppFence und TaintDroid in diese Antwort einzuordnen.
Botnets: Verteilungsaspekte und Sicherheit

Betreuer: Stefan Dietzel

(vergeben) Botnets werden von Angreifern benutzt, um große Mengen von schlecht geschützten Rechnern für ihre Zwecke zu missbrauchen. Ein bekanntes Beispiel ist der Versand von SPAM-E-Mails. Um große Mengen von Rechnern zu koordinieren, sind verteilte Kommunikationsmechanismen notwendig. Um Botnets vor der Übernahme durch andere zu schützen wird die Kommunikation oft verschlüsselt. Ziel der Arbeit ist es, verschiedene Ansätze und aktuelle Strategien zu analysieren und einen Überblick zu geben.
Simulation und Testen verteilter Anwendungen

Betreuer: Christian Spann

(vergeben) Die Erforschung und Entwicklung verteilter Anwendungen stellt eine Vielzahl komplexer Herausforderungen an uns Informatiker. Für die Fehlersuche und parametrisierung muss ein solches System deshalb lokal und verteilt ausgiebig getestet werden. In diesem Seminar soll eine Recherche vorhandener Techniken und Anwendungen, welche diesen Prozess unterstützen durchegführt und die Resultate vorgestellt werden
Effiziente Programmiersprachen für verteilte Algorithmen

Betreuer: Christian Spann

Verteilte Algorithmen zeichnen sich häufig durch wiederkehrenden Nachrichtenverkehr zwischen verschiedenen Knoten und die verteilte nebenläufige Behandlung dieser Nachrichten aus. In klassischen imperativen Programiersprachen wie Java ist die Implementierung solcher Dienste meist nicht sehr elegant. Ziel des Seminars ist die Untersuchung Recherche von Design Patterns und alternativen Programmiermodellen für verteilte Algorithmen. 
Application-layer Multicast

Betreuer: Sven Schober

IP-Multicast ist eine relativ alte Idee die von 1-zu-N-Kommunikation erzeugte Bandbreitenlast zu optimieren. Dabei muss die Datenquelle nicht N Ströme versenden, sondern kann, unterstützt durch Verteilerknoten im Netzwerk (Multicast-fähige Router), die Duplikation der zu versendenden Paket auf ein Minimum reduzieren. Die Voraussetzung von Infrastrukturknoten im Internet hat die weite Verbreitung von IP-Multicast bis heute verhindert. Application Layer Multicast (ALM) ist der Versuch die geschilderte Funktionalität auf Anwendungsebene nachzubilden. End-Systeme nehmen dabei die Stelle der vorher im Netz befindlichen Verteilerknoten ein. Die sich dabei ergebenden Herausforderungen sind Ziel reger Forschungsaktivtät. Dieses kann synoptisch (Überblicksartige Darstellung vorhandener Ansätze), als auch fokussiert (Darstellung eines Ansatzes im Detail) bearbeitet werden.
Moderne Bandbreitenmesstechniken

Betreuer: Sven Schober

Die Verfügbare Bandbreite von einem Internet-Host zu einem anderen ist eine schwer bestimmbare Größe. Zum einen ist sie abhängig vom gewählten Pfad, zum anderen von den physischen Gegebenheiten jedes einzelnen Links entlang dieses Pfades. Desweiteren beeinflußt Drittverkehr (seien es Anwendungen auf den Meßendpunkten, oder völlig unbeteiligte Hosts, welche Pfadsegmente mit dem gemessenen teilen) erheblich die Messwerte. Aufgrund dieser Probleme wurden minimalinvasive Meßverfahren entwickelt, welche die verfügbare Bandbreite mit möglichst geringem Overhead zu bestimmen versuchen. Ziel dieses Themas ist es einen Überblick über aktuellste Entwicklungen in diesem Gebiet zu geben. 
Softwareverteilungsalgorithmen für Datenzentren

Betreuer: Steffen Kächele

Das Auslagern von Software in entfernte Datenzentren gewinnt zunehmend an Bedeutung (Cloud Computing). Hierbei werden durch Einsatz von Virtualisierung gewöhnlich Knoten von mehreren Nutzern gleichzeitig verwendet. Die Auswahl der Computing-Knoten sowie das Deployment der Software geschieht in der Regel für den Nutzer völlig transparent. In dieser Seminararbeit sollen Algorithmen vorgestellt werden, welche beim Installieren oder Skalieren von Software passende Knoten bestimmen.
OpenShift

Betreuer: Steffen Kächele

 

PaaS-Plattformen bieten ihren Nutzern eine Umgebung, in welcher sie eigene Software in entfernten Datenzentren ausführen können. In dieser Seminararbeit soll die OpenSource PaaS-Plattform OpenShift vorgestellt werden.
Resource Reclaiming in Echtzeitsystemen

Betreuer: Vladimir Nikolov

Reservierungsbasierte Echtzeitsysteme arbeiten mit abstrakten Ressourcenkapazitäten, um für zeitliche Isolierung zwischen Tasks garantieren zu können. Diese Kapazitäten werden in einer offline-betriebenen Analyse des Taskverhaltens ermittelt und den Tasks zugewiesen. Zur Laufzeit jedoch kann das Verhalten, aufgrund diverser unvorhersehbarer Faktoren, variieren. Benötigen Tasks weniger Ressourcen als zuvor angenommen, so werden im Gesamtsystem Ressourcen verschwendet. Resource Reclaiming ermöglicht die dynamische Anpassung der Kapazitäten bei pessimistischen Annahmen. Die prominentesten Algorithmen hierzu sind CASH und GRUB. Diese Algorithmen sollen hier kurz vorgestellt und gegenübergestellt werden.
Verteilte Dateisysteme

Betreuer: Jörg Domaschka

Verteilte Dateisysteme sind seit langem Forschungsthema in Bereich der verteilten Systemen. Eine größere Beachtung finden sie allerdings erst seitdem Big Data und Cloud Computing einem Hype unterworfen sind. In dieser Seminararbeit sollen verschiedene verteilte Dateisysteme sowie Cluster Dateisysteme untersucht und vergleichend gegenübergestellt werden. Typische Klassifizierungsmerkmale sind zum Beispiel Fehlertoleranz, Skalierbarkeit, API und Konsistenz.

(Distributed) Complex Event Processing

Betreuer: Jörg Domaschka

Beim event processing handelt es sich um einen Ansatz einen Strom von Events zu analysieren und aus diesem Schlussfolgerungen zu ziehen. Complex Event Processing (CEP) betrachtet dabei zusätzlich Daten aus verschiedene Quellen. Viele kommerzielle Produkte zur Umsetzung von CEP, aber auch Forschungsarbeiten basieren auf einem Systemmodell, in dem die Event-Analyse auf nur einem Knoten stattfindet, was notwendigerweise eine Begrenzung des maximalen Durchsatzes zur Folge hat. In dieser Seminarabeit soll zunächst CEP anhand existierender Systeme vorgestellt werden. Daneben sollen Event Processing Frameworks herangezogen werden und mit CEP Systemen hinsichtlich Komplexität, Ausdrucksmächtigkeit und Skalierbarkeit verglichen werden.
Deterministische Anwendungen

Betreuer: Jörg Domaschka

Eine deterministische Anwendung hat die Eigenschaft, dass sie bei jedem Lauf die gleichen Ergebnisse liefert, wenn man sie mit dem gleichen Initialzustand startet und ihr die selben Eingaben zuführt. Determinismus ist sowohl beim Debuggen als auch bei der Ausführung nebenläufiger Programme eine wünschenswerte Eigenschaft. Daneben ist er essentiell für die Anwendung bestimmter Fehlertoleranztechniken. In dieser Seminararbeit sollen existierende Ansätzeaufgezeigt werden wie Nicht-Determinismus sowohl in Hinblick auf die Dateneingabe als auch hinsichtlich Nebenläufigkeit beseitigt werden kann.

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge:Informatik, M.Sc. (PO 2010): Projektmodul Middleware (Projekt)
Informatik, M.Sc. (PO 2012): Projekt, Modul Middlewaresystem-Entwicklung
Medieninformatik, M.Sc. (PO 2010): Projektmodul Middleware (Projekt)
Medieninformatik, M.Sc. (PO 2012): Projekt, Modul Middlewaresystem-Entwicklung
Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt, Modul Middlewaresystem-Entwicklung
(siehe auch unter Hinweise zu Seminaren)
Verwantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch, Ausarbeitung und Präsentation wahlweise in Deutsch oder Englisch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):Proseminar
Vorraussetzungen (formal):-
Grundlage für (inhaltlich):-
Lernergebnisse:...
Inhalt:Verteilte Systeme haben während des letzten Jahrzents durch die zunehmende Verbreitung des Internets stetig an öffentlicher Präsenz und damit an Bedeutung gewonnen. Der Trend geht hin zu immer stärker vernetzten Endgeräten, die rund um die Uhr mit anderen Endgeräten oder hochverfügbaren Diensten kommunizieren.
Das Seminar soll einen Einblick in die Herausforderungen und Probleme des möglichen Zukunftsszenarios der hochvernetzen Welt bieten. Wir werden dabei einen Blick auf verschiedene Middleware Systeme und Architekturen werfen, die speziell für Internet- oder Multimediadienste entworfen wurden oder die Grundlage für solche Systeme legen können.
Notenbildung:Die Note wird auf Anwesenheit, Vortrag, Ausarbeitung und Diskussionsbereitschaft erteilt.
Arbeitsaufwand:Präsenzzeit: 30 h
Vor- und Nachbereitung: 90 h
Summe: 120 h

 
Titel: Multimedia- und Internetsysteme
Englischer Titel: Multimedia and Internet Systems
Typ: Hauptseminar
Nummer / Kürzel: CS5900.082 / MIT
SWS / LP: 2S / 4 LP
Dozent:  Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Steffen Kächele, Jan-Patrick Elsholz, Vladimir Nikolov, Christian Spann, Sven Schober
Termine: Montag, 12.30 Uhr - 14.00 Uhr, O27-341; Beginn am 15.10.2012
Vorbesprechung: Unverbindliche Vorbesprechung am Montag, 15.10.2012, 12.30 Uhr im Raum O27-341. Themenzuordnung erfolgt während der Vorbesprechung oder vorab per E-Mail an den Betreuer.
Lernplattform: Die Veranstaltung wird mit Hilfe des E-Learningsystems ILIAS durchgeführt. Bitte melden Sie sich dort an.

Themen

Protokoll-Analyse SPDY, Microsoft S+M, waka, WebSockets – Mechanismen für HTTP/2.0
(vergeben)
Betreuer: Benjamin Erb

Derzeit arbeitet eine Working Group des IETFs an einer neuen Version des HTTP-Protokolls. Hierbei sollen diverse Probleme des HTTP/1.1 Protokolls aufgeriffen, und das Protokoll zukunftsfähig gemacht werden. Mit SPDY (Google), Speed+Mobility (Microsoft), WebSockets und waka existieren bereits ergänzenden Protokolle zu HTTP/1.1. Vermutlich werden viele Konzepte dieser Protokolle als Grundlage für HTTP/2.0 dienen. Ziel dieser Seminararbeit ist eine kurze Analyse der Probleme in HTTP/1.1, die Vorstellung der neueren Protokolle und die Identifikation und Erläuterung ihrer Konzepte mit Hinblick auf HTTP/2.0.

Verteiltes Entwickeln und Testen mit Vagrant/Puppet
(vergeben)
Betreuer: Benjamin Erb

Die Implementierung verteilter Anwendungen erfordert reproduzierbare und versionierbare Testumgebungen und virtualisierte Maschinen. Hierfür stehen mit Vagrant und Puppet zwei mächtige Ruby-basierte Tools zur Verfügung. Im Rahmen der Seminararbeit soll das verteilte Entwickeln und Testen auf Grundlage von Vagrant/Puppet erklärt und beschrieben werden.

State-of-the-Art der Netzwerktomografie

Betreuer: Sven Schober

Das Internet stellt mit IP einen transparenten Paketzustelldienst zur Verfügung. Absender- und Zieladdresse genügen, um ein Paket seinem Empfänger zuzustellen. Dabei bleibt die Struktur des Netzwerkes verborgen. Für einige Anwendungen kann es jedoch nützlich sein eben diese zu kennen, um z.B. gemeinsame Pfade als potentielle Flaschenhälse zu identifizieren. Das Gebiet der Netzwerktomografie und sein bekanntester Stellvertreter traceroute, befasst sich damit diese Struktur wieder sichtbar zu machen. Dies ist jedoch mit einigen Herausforderungen verbunden, welche in der Literatur bereits angegangen wurden. Der aktuelle Stand der Kunst soll in diesem Thema präsentiert werden.

Securing Implantable Medical Devices (IMDs)
Betreuer: Stephan Kleber

IMDs wie Herzschrittmacher oder Insulinpumpen sind mit der Fähigkeit ausgestattet, drahtlos kommunizieren zu können. Dies wirft Fragen in Bezug auf Sicherheit und Privatsphäre bei der Verwendung solcher Geräte auf. Es liegt eine Bachelorarbeit vor, die eine gute Übersicht über bestehende Literatur zu diesem Thema gibt. Dort werden Ansätze vorgestellt, die diese Probleme lösen könnten. Im Rahmen dieses Thema soll hieraus anhand vorgegebener Kriterien eine strukturierte Bewertung und Abgrenzung dieser Strategien entstehen.

Mifare Sicherheit
(vergeben)
Betreuer: Stefan Dietzel

Das RFID-Technologie einsetzende Mifare System ist weit verbreitet für Zugriffskontrolle, Mitgliedsausweise, Fahrkarten und elektronische Geldbörsen. Inzwischen gelten die von Mifare eingesetzten kryptografischen Protokolle als komplett gebrochen. Diee Arbeit soll einen Überblick über die historische Entwicklung der Angriffe geben mit Schwerpunkt auf bekannten Anwendungen die Mifare einsetzen. Zusätzlich kann ein Ausblick auf mögliche verbesserte Systeme gegeben werden.
Network Coding
Betreuer: Stefan Dietzel
Traditionelle Routing-Protokolle für das Internet leiten Daten unverändert durch das Netzwerk weiter. Hiermit lässt sich zwar eine gute Auslastung der Verfügbaren Leitungskapazitäten erreichen, aber nicht immer die optimale. Der Forschungsbereich Network Coding umfasst eine Reihe von Protokollen und theoretischen Aussagen, die den Datendurchsatz bis zum theoretischen Maximum erhöhen können. Ziel der Arbeit ist es, Network Coding einzuführen und gängige Protokolle vorzustellen.
Angriffe auf Anonymisierungsnetze
(vergeben)

Betreuer: Rens van der Heijden
 

In den letzen 10 Jahren ist Anonymität im Internet immer wichtiger geworden. Um Anonymität zu erreichen, wurden verschiedene Anonymisierungsnetze entwickelt, unter anderem The Onion Router (TOR). TOR zielt ab auf plausible deniability, denn komplette Anonymität ist nicht skalierbar möglich. Ziel dieser Arbeit ist eine Bewertung von Sicherheit in TOR; es ist möglich ein detaillierte Analyse von einigen Angriffen zu machen, oder ein Klassifizierung von bekannten Angriffen.

Angriffen auf Data-consistenz Mechanismen im Fahrzeugnetzen

Betreuer: Rens van der Heijden

Fahrzeugnetze sind eine Anwendung verteilter Systeme, bei den wireless transmitters im Fahrzeugen verbaut werden. Weil kommende Anwendungen für diese Netze mit Verkehrssicherheit zu tun haben, planen Forscher zukünftlige Anwendungen wie eine Verbesserung der Verkehrsleistungsfähigkeit. Sicherheit und Richtigkeit der Daten ist hier ganz wichtig; ein vielversprechender Ansatz ist Datenkonsistenz. Ziel dieser Arbeit ist die Entwicklung eines Frameworks für die Auswertung von Datenkonsistenz-Mechanismen. Diese Arbeit ist nur im Seminar Forschungstrends in Verteilte Systemen wählbar.

Privacy-aware Access Control in der Praxis

Betreuer: Rens van der Heijden

In großen Anwendungssystemem stellen persönliche und private Daten ein Sicherheitsrisiko dar. Selbst bei guter Absicherung können die Daten immer noch gewonnnen werden, unter anderem mit Techniken wie social engineering, oder durch ein (Insider)Angriffe. Um diesen möglichen Sicherheitslücken zu schließen, ist die Idee von Privacy-aware Access Control, mit XML-basierten Sprachen wie EPAL von IBM und XACML von OASIS Zugang zu solchen Daten zu regeln. Ziel dieser Arbeit ist es, den praktischen Nutzen dieser Mechanismen festzustellen

Angriffe auf Cloud Systeme (vergeben)

Betreuer: Steffen Kächele

Cloud Computing Plattformen haben sich in den letzten Jahren stark verbreitet. Dadurch wandern zunehmend kritische und senible Anwendungen und Daten in gemeinsam genutzte Serverfarmen. In diesem Seminar sollen ausgehend von den Techniken, welche im Cloud Computing Umfeld eingesetzt werden (Hardware Virtualisierung, Netzwerkvirtualisierung, gemeinsam genutzte Applicationcontainer, etc.) bekannte Angriffsszenarien aus der Literatur aufgearbeitet und auf das Cloud Computing Gebiet übertragen werden.

OSGi für Cloud Anwendungen

Betreuer: Steffen Kächele

OSGi unterstützt Entwickler dabei, Java Anwendungen modular aufzubauen. OSGi Anwendungen sind hoch flexibel. So kann die Funktionalität von Anwendungen zur Laufzeit dynamisch angepasst werden, indem Softwaremodule dynamisch nachgeladen oder entfernt werden. Im Rahmen dieser Seminararbeit soll ein kurzer Einstieg in OSGi gegeben werden. Hierbei soll insbesondere auf die Enterprise OSGi Standards Subsystems, Bundle Repository und Remote Service Admin eingegangen werden.

Simulation und Testen verteilter Anwendungen
Betreuer: Christian Spann

Die Erforschung und Entwicklung verteilter Anwendungen stellt eine Vielzahl komplexer Herausforderungen an uns Informatiker. Für die Fehlersuche und parametrisierung muss ein solches System deshalb lokal und verteilt ausgiebig getestet werden. In diesem Seminar soll eine Recherche vorhandener Techniken und Anwendungen, welche diesen Prozess unterstützen durchegführt und die Resultate vorgestellt werden.

Effiziente Programmiersprachen für verteilte Algorithmen
Betreuer: Christian Spann

Verteilte Algorithmen zeichnen sich häufig durch wiederkehrenden Nachrichtenverkehr zwischen verschiedenen Knoten und die verteilte nebenläufige Behandlung dieser Nachrichten aus. In klassischen imperativen Programiersprachen wie Java ist die Implementierung solcher Dienste meist nicht sehr elegant. Ziel des Seminars ist die Untersuchung Recherche von Design Patterns und alternativen Programmiermodellen für verteilte Algorithmen. 

Vergleich von Real-Time Server Mechanismen

Betreuer: Vladimir Nikolov

Server-Mechanismen werden üblicherweise zur Handhabung aperiodischer oder sporadischer Aktivitäten in Echtzeitsystemen eingesetzt. Einerseits sorgen diese für Isolation von den übrigen periodischen Tasks. Andererseits ermöglichen sie eine Beschränkung des Ressourcenverbrauchs von Tasks oder ganzer Applikationen. Bei diesem Thema soll eine Gegenüberstellung bereits existierender Server-Techniken, wie z.B. Polling-, Sporadic-, Deferrable-, Total Bandwidth- und Constant Bandwidth-Server, ausgearbeitet und vorgestellt werden.

Unzulänglichkeiten in der RTSJ-Spezifikation

Betreuer: Vladimir Nikolov

Die RTSJ-Spezifikation (JSR-1) beschreibt notwendige Erweiterungen einer Standard Java Virtual Machine (JVM), um die Ausführung von Programmen mit Echtzeitgarantien zu ermöglichen.  Diese Erweiterungen führen unter Anderem neuartige Speicherbereiche, Echtzeit-Threads, spezielle Locks und Scheduler-Abstraktionen innerhalb JVMs ein. Allerdings wurden in der Echtzeitliteratur Unzulänglichkeiten in den spezifizierten Gegenständen kommentiert, gerade im Bereich des Schedulings und der RTSJ Processing Groups. Diese verhindern z.B. Implementierungen von benutzerdefinierten Scheduling- und Server-Mechanismen.  Bei diesem Seminarthema sollen diese Defizite und ihre Auswirkungen zusammengefasst und vorgestellt werden.

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge:Informatik, M.Sc.: Projektmodul Middleware (Projekt)
Medieninformatik, M.Sc.: Projektmodul Middleware (Projekt)
(siehe auch unter Hinweise zu Seminaren)
Verwantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch, Ausarbeitung und Präsentation wahlweise in Deutsch oder Englisch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):Proseminar
Vorraussetzungen (formal):-
Grundlage für (inhaltlich):-
Lernergebnisse:...
Inhalt:Verteilte Systeme haben während des letzten Jahrzents durch die zunehmende Verbreitung des Internets stetig an öffentlicher Präsenz und damit an Bedeutung gewonnen. Der Trend geht hin zu immer stärker vernetzten Endgeräten, die rund um die Uhr mit anderen Endgeräten oder hochverfügbaren Diensten kommunizieren.
Das Seminar soll einen Einblick in die Herausforderungen und Probleme des möglichen Zukunftsszenarios der hochvernetzen Welt bieten. Wir werden dabei einen Blick auf verschiedene Middleware Systeme und Architekturen werfen, die speziell für Internet- oder Multimediadienste entworfen wurden oder die Grundlage für solche Systeme legen können.
Notenbildung:Die Note wird auf Anwesenheit, Vortrag, Ausarbeitung und Diskussionsbereitschaft erteilt.
Arbeitsaufwand:Die Ausarbeitung muss dem ACM SIG Proceedings Style folgen und darf die Länge von acht Seiten nicht überschreiten ( LaTeX Vorlage - freie Wahl zwischen Option 1 und 2; benötigt werden jeweils die .bib, .tex und .cls Datei; Word Vorlage). Als Abgabeformat ist PDF gewünscht.

 
Titel: Multimedia- und Internetsysteme
Englischer Titel: Multimedia and Internet Systems
Typ: Hauptseminar
Nummer / Kürzel: CS5900.082 / MIT
SWS / LP: 2S / 4 LP
Dozent: Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Jan-Patrick Elsholz, Christian Spann, Vladimir Nikolov, Sven Schober, Steffen Kächele
Termine: Mittwoch, 14.15 Uhr - 15.45 Uhr, O27-122; Beginn am 18.04.2012
Vorbesprechung: Die Themenvergabe findet in der Vorbesprechung bzw. vorab über Email statt, wobei die Reihenfolge der Themen und damit der Vortragstermin nach Anmeldungsreihenfolge vergeben werden. Zu jedem Vortrag gibt es außerdem feste Deadlines, die unbedingt eingehalten werden müssen. Termin der Vorbesprechung ist am Mittwoch, 18.04.2012, 14.15 Uhr - 15.45 Uhr im Raum O27-122.
Lernplattform: Die Veranstaltung wird mit Hilfe des E-Learningsystems ILIAS durchgeführt. Bitte melden Sie sich dort an.

Themen

Byzantinische Fehlertolerante Systeme

Betreuer: Christian Spann

Warst Du schonmal genervt, weil irgend ein Dienst im Internet wieder langsam reagiert hat oder ausgefallen ist? Dann ist Byzantinische Fehlertoleranz (BFT) Dein Freund! Dieser Ansatz umfasst Algorithmen und Techniken, einen Dienst durch Replikation fehlertolerant machen! Allerdings ist solch ein System auch nicht ganz unkomplex, sonst würde es ja schon heute jeder einsetzen. Dein Ziel im Seminar ist es, Dich mit den Grundlagen der Byzantinischen Fehlertoleranz vertraut zu machen und nach schon existierenden Anwendungen zu suchen. Diese sollst Du dann im Seminar vorstellen und diskutieren.

Ziele des Seminars:

  • Groben Überblick über die Funktionsweise Byzantinischer Fehlertoleranz geben
  • Vorstellung schon existenter Anwendungen mit BFT
  • Diskussion derer Vor- und Nachteile
Testen verteilter Anwendungen

Betreuer: Christian Spann

Das Testen verteilter Systeme ist ein spannendes und anspruchsvolles Arbeits- und Forschungsfeld. Wir suchen deshalb eine Testumgebung für die in der Abteilung entwickelten fehlertoleranten verteilten Systeme. Dein Ziel in diesem Projekt ist es, aktuelle Techniken und Methoden für das Testen verteilter Anwendungen zu recherchieren und diese im anschließenden praktischen Teil für unsere Anwendungen umzusetzen. Dadurch soll deren Robustheit erhöht und ihre Korrektheit validiert werden.
Distron - Monitoring verteilter Anwendungen

Betreuer: Christian Spann

Für das im Institut entwickelte Virtual Nodes Framework fehlt uns noch ein Web Dienst, der es erlaubt die einzelnen Knoten zu monitoren und zu steuern. Im Rahmen eines Projekts sollst Du Dir zunächst einen Überblick über Methoden und Mittel zum Monitoren verteilter Anwendungen verschaffen, welche Du dann im anschließenden Projekt umsetzt und ein Web Frontend inklusive Monitoringdienst für Virtual Nodes erstellst.
MURX

Betreuer: Jan-Patrick Elsholz

Dieses Thema kann nur im Rahmen eines Projekts bearbeitet werden. Vorkenntniss im Bereich Multimediakommunikation sind empfehlenswert. Zweierteams werden bevorzugt.

MURX steht für Multi-User-Relaychat-on-instant-X. Ziel des Projekts ist es, einen Multiuserchat auf Basis von MSRP umzusetzten. Dazu soll in diesem Seminar die grundlegenden Technologien MSRP und Instant-X vorgestellt werden und eine mögliche Umsetzung gemäß dem Top-Down-Approach evaluiert werden.

Maxdome Light

Betreuer:  Jan-Patrick Elsholz

Dieses Thema kann nur im Rahmen eines  Projekts  bearbeitet werden. Vorkenntniss im Bereich  Multimediakommunikation  sind empfehlenswert. Zweierteams werden bevorzugt.

Maxdome ist eine Art online Videothek. Ziel des Projekts ist es, eine light-Variante zu implementieren. Dazu soll in diesem Seminar die grundlegenden Technologien RTSP und Instant-X vorgestellt werden und eine mögliche Umsetzung gemäß dem Top-Down-Approach evaluiert werden.

 

ARTOScope

Betreuer: Vladimir Nikolov

Dieses Thema kann nur im Rahmen eines Projekts  bearbeitet werden. Vorkenntnisse im Bereich von SWT, JFace und RAP sind von Vorteil.

Zur Visualisierung von Anwendungsverhalten in unserem ARTOS-System soll im Rahmen dieses Projekts eine RAP-Anwendung ARTOScope entwickelt werden. Diese soll in einem Browser-Fenster mehrere Oszilloskope darstellen, welche die vom ARTOS laufend gemessenen Parameter über das Anwendungsverhalten (wie z.B. CPU-Verbrauch, Jitter) darstellt. Eine Widget Implementierung eines geeigneten Oszilloskops auf der Basis von SWT und JFace existiert bereits im Rahmen des Nebula Projekts, die hier als Grundlage verwendet werden kann. Im Rahmen dieses Seminars soll ein Konzept für die Implementierung von ARTOScope entwickelt werden, wobei die verschiedenen zum Einsatz kommenden Technologien kurz vorgestellt werden sollen.

Echtzeit-Scheduling

Betreuer: Vladimir Nikolov

Bei diesem theoretischen Thema, soll ein grober Überblick über Echtzeit-Scheduler erarbeitet und vorgestellt werden.
SpaceX Real-Time

Betreuer: Vladimir Nikolov

Dieses Thema kann nur im Rahmen eines  Projekts bearbeitet werden. Vorkenntnisse im Bereich von OSGi und Echtzeit-Java sind von Vorteil.

SpaceX ist ein am Institut für Verteilte Systeme entwickeltes Galcon-ähnliches Strategiespiel auf der Basis von OSGi. Dieses unterstützt das dynamische Nachladen von Spielkomponenten und Diensten zur Laufzeit. Wird zum Beispiel ein intelligenter Dienst zur Pfadsuche für die Spielerflotten nachgeladen, so hat dies eine instantane Auswirkung auf das aktuelle Spielgeschehen. Im Rahmen dieses Projekts soll das SpaceX nun "echtzeitfähig" gemacht werden. Dafür sollen unterschiedliche Qualitätsstufen definiert werden, in denen das Spiel dynamisch betrieben werden kann. Hierfür sind verschiedene Dienstkonfigurationen denkbar, in denen das Spiel zur Laufzeit umgeschaltet werden kann. Ziel dieses Seminars ist hierfür eine konzeptionelle und technologische Grundlage zu erarbeiten und zu bewerten.

Multi-QoS-Level Audioplayer

Betreuer: Vladimir Nikolov

Dieses Thema kann nur im Rahmen eines   Projekts  bearbeitet werden. Vorkenntnisse im Bereich Echtzeit-Signalverarbeitung sowie Programmiererfahrungen mit C++ und Java sind wünschenswert.

Bei diesem Projekt soll ein komponentenbasierter Audio-Player entwickelt werden, der zur Laufzeit zwischen mehreren Betriebsmodi umgeschaltet werden kann. Dafür soll der Player mit einigen simplen Audioeffekten ausgerüstet werden, wie z.B. Delay, Chorus oder Reverb. Die Effekte sollen bei der Ausgabe in Echtzeit berechnet und dynamisch ein und ausgeschaltet werden können. Aus Kombinationen aktiver Effekte ergeben sich mehrere Laufzeitkonfigurationen des Players, in denen er beliebig umgeschaltet werden soll. Die Implementierung soll auf der Basis von OSGi erfolgen. Für die Realisierung der Echtzeit-Effekte soll die open source Bibliothek JUCE verwendet werden. Ziel dieses Seminars ist eine konzeptionelle und technologische Grundlage für das Vorhaben zu erarbeiten und zu bewerten.

 

Cloud APIs

Betreuer: Steffen Kächele

Cloud Computing hat in den letzten Jahren enorm an Bedeutung gewonnen. Stark durch die Industrie getrieben (insb. durch Amazon, Google, Microsoft) haben sich innerhalb der Cloud Computing Landschaft viele de-facto Standards etabliert. Im Rahmen dieser Seminararbeit soll ein Überblick über die APIs und Formate der Plattformen entstehen. Zudem sollen APIs vorgestellt werden, welche das Deployment und die Nutzung von Diensten in der Cloud vereinheitlichen (jCloud / openstack). 
Federated Clouds (verbündete Cloud Systeme)

Betreuer: Steffen Kächele

Derzeitige Cloud Computing Angebote zielen primär auf "Web 2.0 Anwendungen" ab. Nur wenige Systeme versuchen den Anforderungen von Enterprise Anwendungen gerecht zu werden, indem Sie beispielsweise Verfügbarkeitsgarantie in Form von Service Level Agreements (SLA) angeben. Eine Möglichkeit, die Verfügbarkeit von Clouddiensten zu erhöhen, ist diese über mehrere Rechenzentren zu verteilen. Im Rahmen dieser Arbeit sollen Herausforderungen und Konzepte der Federated Cloud Forschung dargestellt werden.

OSGi für Cloud Anwendungen

Betreuer: Steffen Kächele

OSGi unterstützt Entwickler dabei, Java Anwendungen modular aufzubauen. OSGi Anwendungen sind hoch flexibel. So kann die Funktionalität von Anwendungen kann zur Laufzeit dynamisch angepasst werden, indem Softwaremodule dynamisch nachgeladen oder entfernt werden. Im Rahmen dieser Seminararbeit soll ein kurzer Einstieg in OSGi gegeben werden. Hierbei soll insbesondere auf die Enterprise OSGi Standards Subsystems, Bundle Repository und Remote Service Admin eingegangen werden.

Netzwerktomographie

Betreuer: Sven Schober

Als Netzwerktomographie bezeichnet man Techniken Informationen über Struktur und Eigenschaften von Pfaden durch Netzwerke wie z.B. das Internet zu sammeln. Dabei können eine Fülle von Aspekten untersucht werden: Welche Route nehmen Pakete? Welche maximale, welche aktuelle Bandbreite steht auf dem Pfad zur Verfügung? Welche Latenz ist zu erwarten? Wo stark jittern gesendete Pakete?

Dieses Thema kann individuell bearbeitet werden: Es kann sowohl ein synoptischer Überblick über existierende Techniken, Trends und Herausforderungen auf dem Gebiet gegeben werden, als auch eine Fokussierung auf ein Teilgebiet erfolgen. Näheres dazu in der Vorbesprechung.

Application Layer Multicast

Betreuer: Sven Schober

IP-Multicast ist eine relativ alte Idee die von 1-zu-N-Kommunikation erzeugte Bandbreitenlast zu optimieren. Dabei muss die Datenquelle nicht N Ströme versenden, sondern kann, unterstützt durch Verteilerknoten im Netzwerk (Multicast-fähige Router), die Duplikation der zu versendenden Paket auf ein Minimum reduzieren. Die Vorraussetzung von Infrastrukturknoten im Internet hat die weite Verbreitung von IP-Multicast bis heute verhindert.

Application Layer Multicast (ALM) ist der Versuch die eben geschilderte Funktionalität auf Anwendungsebene nachzubilden. End-Systeme nehmen dabei die Stelle der vorher im Netz befindlichen Verteilerknoten ein. Die sich dabei ergebenden Herausforderungen sind Ziel reger Forschungsaktivtät.

Analog zum Netzwerktomographiethema kann auch dieses synoptisch (Überblicksartige Darstellung vorhandener Ansätze), als auch fokussiert (Darstellung eines Ansatzes im Detail) bearbeitet werden.

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge: Dipl. Inf.: Hauptseminar
Dipl. Medieninf.: Hauptseminar
Ba. Inf. (PO 2010): Seminar Informatik
Ba. Medieninf. (PO 2010): Seminar Medieninformatik
Ba. Softw.Eng.: Seminar Software Engineering
Ma. Inf. (PO 2001): Hauptseminar
Ma. Inf. (PO 2010): Modul "Hauptseminar Informatik", Projektmodul "Middleware (Projekt)"
Ma. Medieninf.: Modul "Hauptseminar Medieninformatik", Projektmodul "Middleware (Projekt)"
Verwantwortlich: Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache: Sowohl Ausarbeitung als auch Vortrag können wahlweise in Deutsch oder Englisch erbracht werden.
Turnus / Dauer: jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich): ...
Vorraussetzungen (formal): keine
Grundlage für (inhaltlich):  
Lernergebnisse: ...
Inhalt: Verteilte Systeme haben während des letzten Jahrzents durch die zunehmende Verbreitung des Internets stetig an öffentlicher Präsenz und damit an Bedeutung gewonnen. Der Trend geht hin zu immer stärker vernetzten Endgeräten, die rund um die Uhr mit anderen Endgeräten oder hochverfügbaren Diensten kommunizieren.
Das Seminar soll einen Einblick in die Herausforderungen und Probleme des möglichen Zukunftsszenarios der hochvernetzen Welt bieten. Wir werden dabei einen Blick auf verschiedene Middleware Systeme und Architekturen werfen, die speziell für Internet- oder Multimediadienste entworfen wurden oder die Grundlage für solche Systeme legen können.
Notenbildung: Der/Die Schein/Note wird auf Anwesenheit, Vortrag, Ausarbeitung und Diskussionsbereitschaft erteilt.
Arbeitsaufwand: Die Ausarbeitung muss dem ACM SIG Proceedings Style folgen und darf die Länge von acht Seiten nicht überschreiten ( LaTeX Vorlage - freie Wahl zwischen Option 1 und 2; benötigt werden jeweils die .bib, .tex und .cls Datei; Word Vorlage). Als Abgabeformat ist PDF gewünscht.