DiplomStudArb

From Sumo
Revision as of 10:35, 17 October 2008 by Dkrajzew (talk | contribs) (New page: <h2>Allgemeines</h2> <p>Die meisten der folgenden folgenden Themen lassen sich sowohl im Rahmen einer Diplomarbeit als auch in reduziertem Umfang in einer Studienarbeit behandeln. Alle ste...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Allgemeines

Die meisten der folgenden folgenden Themen lassen sich sowohl im Rahmen einer Diplomarbeit als auch in reduziertem Umfang in einer Studienarbeit behandeln. Alle stehen mehr oder weniger direkt im Zusammenhang mit SUMO.

Alle Themen sind ausdrücklich nur als Vorschläge gedacht. Falls jemand nach Kennenlernen der Software und der Anwendungsgebiete eigene Vorschläge zur Verbesserung und Erweiterung hat, die er/sie selbst umsetzen möchte, sind diese sehr gern gesehen.


Themen mit Bezug zu Algorithmik / theoretischer Informatik

Voraussetzungen: keine Angst vor Beweisen, Grundkenntnisse der Graphentheorie (z.B. aus einer Vorlesung zu Graphen und Algorithmen)

Analyse und Implementation eines Netzwerkflussalgorithmus zur Routenfindung

Im Rahmen der Arbeit sollte ein schon weitgehend entwickelter Algorithmus zur Routenfindung effizient implementiert, seine Laufzeit theoretisch und praktisch untersucht und seine Lösungen verbessert werden.

Ziel der Arbeit ist einen Routenfindungsalgorithmus zu erstellen, der in der Praxis schnell und trotzdem theoretisch fundiert vorgegebene Verkehrszählungen annähert.

VERGEBEN: Deadlocks in der Simulation von Straßenverkehrskreuzungen

In der bisherigen Simulation treten noch Deadlocks an Kreuzungen auf, die durch simples Entfernen von Fahrzeugen nach einer maximalen Wartezeit behoben werden. Inhalt der Arbeit wäre eine Analyse der bestehenden Kreuzungssimulation auf Ursachen der Deadlocksituationen sowie die Entwicklung von Vorschlägen zu deren Behebung. Für eine stärker theoretisch orientierte Arbeit wäre auch ein Beweis der Deadlockfreiheit möglich.

Schnelle Flüsse

Es gibt in der kombinatorischen Optimierung das Konzept der Quickest flows zur Abbildung der zeitlichen Komponente bei Netzwerkflüssen. Es soll evaluiert werden, inwieweit diese zur Routenfindung eingesetzt werden können.

Matching von Straßennetzen

Oft liegen für eine Region mehrere Beschreibungen in unterschiedlichen Formaten und unterschiedlicher Qualität vor. Ziel dieser Arbeit ist die Auswertung verschiedener Ansätze, die eine Projektion von Straßennetzen unterschiedlicher Genauigkeit aufeinander realisieren sowie die Implementierung eines diese Funktion realisierenden Verfahrens.



Themen mit Bezug zur Verkehrsforschung

Voraussetzung: Kenntnisse in C++

Implementierung eines Emissionsmodells

Ziel der Arbeit ist die Erweiterung der Simulation um ein oder mehrere Modelle der Schadstoff- und Lärmemission. Die Arbeit besteht aus der Evaluation bestehender Modelle, der Auswahl geeigneter aus diesen und deren Implementierung.

Methoden für eine Schätzung einer "grünen Welle" in komplexen Straßennetzen

Basierend auf der Auswertung bereits existierender Ansätze ist ein Verfahren aus zu wählen und zu implementieren, welches für ein gegebenes Straßennetz und eine gegebene Nachfrage möglichst optimale, also z.B. die Wartezeiten vor den Lichtsignalanlagen minimierende, Programme der Lichtsignalanlagen erzeugt.



Themen mit Bezug zum Software Engineering

Voraussetzung: Kenntnisse in C++

VERGEBEN: Einführung von Unittests in ein bestehendes C++-Softwaresystem

Die bisher in SUMO vorhandenen Tests testen ausschließlich das Komplettsystem, nicht jedoch einzelne Module in Isolation. Neben der Identifikation besonders kritischer Module, wäre ein geeignetes Tool auszuwählen und eine Menge von Tests zu implementieren.

Checkstyle für C++

Während es für Java und Python bereits recht ausgereifte Tools zur statischen Überprüfung des Quellcodes gibt, gibt es für C++ nur wenig (bezahlbares). Es soll überprüft werden inwieweit bestehende Tools für Java sich auch bei C++ anwenden lassen.


Themen mit XML-Bezug

Voraussetzung: Erfahrung mit der Parsierung / Erzeugung von XML

VERGEBEN: Entwurf eines XML-Schemas für sie SUMO-Ein- und Ausgabedateien

SUMO benutzt zur Ein- und Ausgabe (fast) durchgängig XML, wobei das Format bisher nicht durch DTD oder Schema fixiert wurde. Neben der Formalisierung soll auch die effiziente Parsierung der entstehenden Dateien Thema sein (siehe auch folgende Themen).

VERGEBEN: Effizienter Import und Export von XML mittels schemabasierter Kompression

Von SUMO erzeugtes XML ist zum Teil recht aufgebläht und bremst die Simulation durch schiere Größe der zu verarbeitenden Dateien. Effiziente Kompression mittels so genanntem binärem XML (z.B. XSBC) soll als Lösungsansatz evaluiert und implementiert werden.

VERGEBEN: Modulares XML

Die Wiederverwendung von Konfigurationen wird durch die begrenzte Modularisierbarkeit von "reinem" XML eingeschränkt. Daher sollen in dieser Arbeit verschiedene (standardisierte) Modularisierungsansätze, wie z.B. XInclude, untersucht und implementiert werden.


Sonstiges

Vorhersage von Ganglinien

Es sollen eigene Ideen entwickelt werden, wie Vorhersagen zur Fahrzeugzahl und -geschwindigkeit in einem Straßennetz aufgrund historischer Daten und dem Einsatz maschineller Lernverfahren gemacht werden können.

OpenSource Marketing und Community building

Welche Eigenschaften muss ein Softwareprojekt haben, damit es die Anwender nutzen und zur Verbesserung beitragen? Spielt die Codequalität eine Rolle, liegt es vor allem an der Dokumentation? Diesen Fragen sollen studiert und Verbesserungsvorschläge gerne auch direkt ausprobiert werden.

Fixed point vs. Floating point

Gibt es bei modernen Prozessorarchitekturen noch einen deutlichen Performanceunterschied zwischen Fest- und Fließkommaberechnungen? Rechtfertigt dieser einen unter Umständen deutlich erhöhten Implementationsaufwand? Und ändern sich die Antworten auf diese Fragen für (stark) nebenläufige Programme?