Projekt: SOA und Web Services (SS2015)

Veranstalter: Prof. Dr. Kurt Geihs, Harun Baraki

SWS: 8 (Bachelor), 4 (Master)

Zuordnung: Informatik

Lernziele: Die Teilnehmer sollen die Phasen eines Entwicklungsprojektes, die Probleme des Projektmanagements und Teamarbeit anhand einer realitätsnahen Aufgabenstellung kennen lernen. Das Projekt kann als Vorbereitung auf eine Abschlussarbeit dienen. 

Themen: Die unten aufgeführten Projekte stellen einen Auszug aktuell vorhandener Aufgaben- und Problemstellungen dar. Weitere Themen werden in der Vorbesprechung vorgestellt bzw. können am Fachgebiet erfragt werden.

  • Implementierung und Evaluierung von Synchronisationsalgorithmen (Mobile Cloud Computing): Hinter dem Begriff Cloud Computing stecken nicht nur Dienste, die etwa der Verwaltung und Bearbeitung von E-Mail, Kalender und Dokumenten oder der Speicherung von Daten in der Cloud dienen, sondern eine Vielzahl unterschiedlicher Ressourcen (CPU, Speicher, Bandbreite...), Plattformen (virtuelle Maschinen, Betriebssysteme, Ausführungsumgebungen, ...) und Anwendungen, die von Nutzern flexibel und transparent in Anspruch genommen werden können. Dabei entfallen für den Endnutzer meistens der Erwerb von Hardware und Installations- und Wartungsarbeiten. Stattdessen entrichtet er gemäß dem Pay-As-You-Use-Prinzip (siehe auch Utility Computing) eine Mietgebühr an den Betreiber der Cloud. Die Idee beim Mobile Cloud Computing (MCC) ist nun, mobile Endgeräte unter Zuhilfenahme der Cloud zu unterstützen. So können Teile von mobilen Anwendungen in die Cloud ausgelagert und dort ausgeführt werden, um zum einen die Ausführung zu beschleunigen und zum anderen die Batterie des mobilen Gerätes zu entlasten. Der Flaschenhals in MCC ist die Kommunikationsverbindung zwischen Cloud und mobilem Endgerät. Effiziente Algorithmen, die Code, Klassen, Objekte u.a. zwischen beiden Parteien synchronisieren, sind erforderlich. Die Projektaufgabe besteht darin, ein bereits ausgearbeitetes Konzept zu verfeinern, zu implementieren und zu evaluieren. Für das Projekt werden gute Programmierkenntnisse in Java vorausgesetzt.
  • Implementierung eines Ansatzes zur Vorhersage von Laufzeit/Speicherverbrauch/... der Methoden mobiler Anwendungen (Mobile Cloud Computing): ... (Projekt vergeben)
  • Erarbeitung, Implementierung und Evaluierung eines Ansatzes zur Partitionierung von mobilen Anwendungen (Mobile Cloud Computing): Sollen Teile mobiler Anwendungen zwecks Beschleunigung und Entlastung des mobilen Endgerätes in die Cloud ausgelagert werden, stellt sich die Frage, in welche Partitionen die Anwendung aufgeteilt und welche ausgelagert werden sollten. Hierbei muss bedacht werden, dass ressourcenintensive Bereiche einer Anwendung nicht wahllos ausgelagert werden können, da zum einen die Übertragung von großen Datenmengen zeit- und kostenintensiv ist und zum anderen bestimmte Teile der Applikation (bspw. aufgrund von Interaktion mit dem Nutzer, Sensoren,...) auf dem mobilen Gerät verbleiben müssen. Das übergeordnete Ziel ist die Beschleunigung der Ausführung der Anwendung und die Entlastung der Batterie des mobilen Endgerätes. Mittels eines Graph-Partitioning-Ansatzes soll eine möglichst optimale Lösung erarbeitet werden. Das Projekt setzt gute Programmierkenntnisse in Java voraus. 
  • Erarbeitung und Anwendung einer einfachen Ontologie für Sensornetzwerke (Internet of Things): ... (Projekt vergeben)
  • Anwendung eines maschinellen Lernverfahrens auf Sensordaten zwecks Unterstützung/Erweiterung einer Ontologie (Internet of Things): ... (Projekt vergeben)

Maximale Teilnehmerzahl: 8

Leistungsnachweis: Präsentation / Bericht Projektarbeit

Termine: Die  Einführungsveranstaltung und die Präsentationen finden im Konferenzraum R1405 des Fachgebietes Verteilte Systeme statt.

  • Mi. 15.04.15 – 15:00 Uhr: Einführungsveranstaltung mit Themenvergabe
  • NN: Abgabe einer vorläufigen Fassung
  • NN: Präsentation
  • NN: Abgabe der finalen Implementierung und Ausarbeitung