ODYSSEE

Welcome to ODYSSEE, the automatic team distribution for "Praxis der Softwareentwicklung" at the KIT.

What's ODYSSEE?

ODYSSEE is the central administration tool for Praxis der Softwareentwicklung (PSE). It stands for:

Odyssee
Distributes
Your
Students (to)
Software
Engineering
Exercises

If you want to participate in PSE this semester, you need to register here. Afterwards, you can view and rate available projects. You can also form a group with fellow students if you want to work on the same project together.
Then, ODYSSEE assigns each student a project considering your wishes and other external constraints on a best effort basis. When the distribution is complete, you will be notified via email about your assigned project and team. You can also find this information when you log back in into ODYSSEE.

The kick-off event (Auftaktveranstaltung) gives further information about the projects. Also, don't forget to register for PSE in the Campus system.

Current PSE PSE Summer 2020

Sign up start Friday, April 24, 2020 2:00 PM
Sign up deadline Monday, April 27, 2020 11:59 PM
Link to the institute homepage

Projects (not final)

Hint: Click on a project title to view more information about the project.

Ein digitaler Zwilling ist eine digitale Repräsentation (Daten) eines materiellen oder immateriellen Objekts oder Prozesses aus der realen Welt. Das Konzept des digitalen Zwillings (Digital Twin) kann auch im Kontext von Digital Health genutzt werden, um Mediziner:innen bei Diagnose- und Therapieentscheidungen zu unterstützen.  Digitale Zwillinge ermöglichen es, virtuelle Simulationen zu fahren und auf dieser Grundlage informierte Entscheidungen in der realen Welt zu treffen. Ein digitaler Zwilling in Form eines digitalen Patientenmodells könnte somit genutzt werden, um z.B. verschiedene Therapien zu simulieren und zu vergleichen, um gezielter individuell zu behandeln.

 

Im Rahmen dieses PSE soll ausgehend von diesem Konzept ein prototypisches System als Webanwendung entwickelt werden. Als Datengrundlage werden Beispielpatient:innen im Format der deutschen Krebsregister zur Verfügung gestellt. Die derart vorliegenden Daten sollen anschließend in einer Komponente über ihren zeitlichen Verlauf visualisiert und mit einem Anatomiemodell verknüpft werden. Die Verknüpfung soll über ein generisches, erweiterterbares Format erfolgen. Auch für das Anatomiemodell werden mögliche Ressourcen bereitgestellt. Ziel is die Entwicklung eines interaktiven Werkzeugs für Mediziner:innen, das über verschiedene Filter und Interaktionsmöglichkeiten verfügt. Mit Hilfe des Tools sollen sich Befunde und Behandlungen interaktiv darstellen lassen und dies sowohl über den zeitlichen Verlauf als auch auf die Anatomie referenziert.

Tagtäglich nutzen wir internetbasierte Anwendungen wie das WWW, WhatsApp oder E-Mail und machen uns dabei aber nur wenige Gedanken über die Zusammenhänge und Mechanismen, die sich hinter der einfachen Oberfläche verbergen. Über das Internet werden riesige Datenmengen übertragen, zu Spitzenzeiten alleine im Internetknotenpunk DE-CIX über 6 Tbit/s. Wie finden diese Daten in einem weltumspannenden Netz zum Ziel? Welche Probleme treten dabei auf? Wie - und wo! - werden sie gelöst?
 
Das PSE-Projekt „Simulationsframework für Routingalgorithmen“ richtet den Fokus auf die Algorithmen und Protokolle welche eine essentielle Aufgabe im Internet erfüllen: Das Routing. Es setzt sich mit der verteilen Umsetzung dieser Algorithmen auseinander und gibt Studierenden die Möglichkeit, diese in einer selbst zu entwickelnden Simulationsumgebung zu implementieren. Damit bietet es auch die Möglichkeit, parallel in der Vorlesung Einführung in Rechnernetze erlernte Inhalte direkt anzuwenden und in die Praxis umzusetzen. 

Projektziele

Im Rahmen des PSE soll eine einfache Simulationsumgebung für verteilte Routingalgorithmen entworfen und implementiert werden. Hierzu sind Netztopologien, zeitliche Abläufe und der Datenaustausch zwischen Netzknoten in geeigneter Form zu modellieren. Auf Basis dieser Infrastruktur sollen dann verteilte Routingalgorithmen implementiert werden. Details der Umsetzung sowie weitere Funktionen wie eine grafische Visualisierung der Abläufe können von den Studierenden selbst bestimmt werden.

Entwicklungsumgebung

  • Eclipse

  • JUnit zum Testen

  • Überdeckungstests zum Beispiel mit CodeCover

Wer schon einmal eine Sitzordnung für eine Hochzeit oder Familienfeier erstellen musste weiß: nichts modeliert das komplizierte Beziehungsgeflecht der Verwandschaft und Freundeskreise so gut wie ein gewichteter Hypergraph. Bei der Zuweisung der Tische möchte man die vorhanden Freundeskreise natürlich nicht trennen, damit jeder ihm/ihr angenehme Tischgenossen hat. Hierzu drängt sich Hypergraph-Partitionierung gerade zu auf.

Ein Hypergraph ist eine Menge an Knoten und Kanten, bei der jede Kante, im Gegensatz zu normalen Graphen, mehr als zwei Knoten verbinden kann. Eine Hypergraph-Partitionierung zerteilt die Knotenmenge in disjunkte Teilmengen, so dass die Summe der geschnittenen Kanten entlang der Partitionsgrenzen minimal ist und jede Teilmenge ungefähr die gleiche Größe besitzt.

Oder anders ausdrückt: sodass alle Studienfreunde bei der Hochzeit an einem Tisch sitzen und sich nicht die eine Hälfte den Tisch mit den Tanten zweiten Grades der Braut teilt und die andere Hälfte zusammen mit dem Kegelclub des Bräutigam Vaters sitzt.

Mit KaHyPar haben wir das momentan weltweit führende Hypergraph-Partitionierungstool an unserem Lehrstuhl entwickelt und es hat sich in der Praxis bereits bei der Lagerplanung, Schaltkreisoptimierung und eben Hochzeitssitzplanung bewährt. Um diese Kernkomponente soll eine Anwendung entstehen, die es für Hochzeiten oder Partys ermöglicht, komplexe Beziehungsgeflechte einfach und schnell zu modellieren und die Aufgabe einer optimalen Sitzplatzzuweisung der Gäste übernimmt.


Ziele des PSE

Im Rahmen des PSE soll eine Webapplikation zur Hochzeitssitzplanung entwickelt werden. Dies umfasst:

  • Model: Entwurf eines relationalen Datenbankmodels (SQL) zur Pflege von:
    1.   Hochzeit/Party Gästen
    2.   Beziehungsgeflechten zwischen Gästen
    3.   Tischformen und Tischanordnungen
  • View: Entwicklung einer responsive HTML5 Webapplikation die es dem Benutzer erlaubt:
    1.   Auf intuitive Weise seine Hochzeits-/Partygäste und die Beziehungen untereinander zu modellieren und zu pflegen.
    2.   Die Tischformen und Tischanordnungen zu verwalten und zu repräsentieren
    3.   Die berechnete Sitzplatzzuweisung in einer verständlichen Form präsentiert
  • Controlling: 
    1. Implementierung einer Python-Serverapplikation zur Transformation des Modells in einen Hypergraphen und zur Berechnung der optimalen Sitzplatzzuweisung mit Hilfe des Python-Interface von KaHyPar.
    2. Finden einer geeigneten Parameterisierung unseres Hypergraph-Partitionierungstool, um KaHyPar für den Anwendungsfall zu optimieren.

Mögliche Erweiterungen der Kernfunktionalität umfassen:

  • Modelierung von negativ Beziehungen der Gäste, sodass zerstrittene Expartner nicht an einem Tisch landen.
  • Einbeziehung der räumlichen Anordnung der Tische. Freunde die an verschiedenen Tischen Rücken an Rücken sitzen können sich besser unterhalten als wenn sie durch den ganzen Saal schreien müssen.
  • Einbeziehung besonderer Tischformen wie Tafel oder U-Form.

Anfoderungen

  • Frontend: HTML5, CSS, JavaScript
  • Backend: Python, SQL