Professur Betriebssysteme

Themen für studentische Arbeiten

Für Diplom- und Studienarbeiten stehen folgende Themen zu Verfügung:

PC-basierte Simulation von Embedded Steuerungen    (in Bearbeitung)

Der Test von Software für eingebettete Steuerungen gestaltet sich in der Praxis oftmals schwierig. Einerseits ist hierzu ein vollständiges System - in das die Steuerung eingebettet ist - notwendig, andererseits sind die Daten- und Steuereingänge im realen Umfeld nur schwierig gezielt zu manipulieren, und das unkontrollierte Beeinflussen von Ausgängen führt häufig zu ungewollten Reaktionen im realen System. Ein möglicher Ansatz um Tests zu realisieren ist die Simulation. Günstig erweist es sich dabei, wenn gut beherrschte und unterstützte Standardumgebungen (PC) genutzt werden können.
Daher ist in dieser Diplomarbeit zu untersuchen, wie möglichst generisch ein Test von eingebetteter Software mit Hilfe von Simulationssoftware auf einem PC möglich ist und exemplarisch eine entsprechende Simulationssoftware für die SYS TEC "sysWORXX Automation Series" zu implementieren.
Der Ansatz soll einerseits eine möglichst einfache Ausführbarkeit und Testbarkeit der Steuerungssoftware (Proband) im Simulationssystem unterstützen, andererseits eine einfache Anpassbarkeit an verschiedene Geräte ermöglichen, mindestens innerhalb der ?sysWORXX Automation Series". Außerdem soll untersucht werden, wie das Simulationssystem vor (möglicherweise fehlerhafter) Probandensoftware geschützt werden kann und wie der Test gestaltet werden sollten, damit sie die Softwareentwicklung möglichst effektiv unterstützen.
Die Diplomarbeit wird in Teilen an der SYS TEC GmbH durchgeführt.

Timing-Analyse in der Entwicklung von Software für KFZ-Steuergeräte

Die ZF Friedrichshafen AG ist ein führender Zulieferer im Automotive-Bereich mit Hauptsitz in Friedrichshafen am Bodensee. Im Rahmen ihrer Beteiligung am Projekt TIMMO ist eine Diplomarbeit im Bereich Forschung und Entwicklung ausgeschrieben: Beschreibung

Sie versteht sich als Fortführung der Diplomarbeit Timing-Analyse in der Softwareentwicklung, bei der bereits eine Kooperation mit der TU Chemnitz stattfand. Das Ziel der nun ausgeschriebenen Arbeit ist es, die Anwendbarkeit einer neuen Modellierungssprache für das zeitliche Verhalten der Steuergerät-Software zu untersuchen. Es ist zunächst notwendig, relevante Größen, wie beispielsweise die Worst-Case Execution Time der Software, zu ermitteln. Dazu steht unter anderem ein Evaluierungs-Board der Ziel-Architektur zur Verfügung.

Die Diplomarbeit bietet eine vergütete, praxisnahe Bearbeitung eines sehr interessanten Themas an einem landschaftlich attraktiven Standort und ermöglicht eine Kontaktaufnahme mit der Industrie. Die Anforderungen sind der oben verlinkten Beschreibung zu entnehmen. Bei Interesse oder Fragen zum Thema stehen der Mitarbeiter der ZF Friedrichshafen AG sowie die Mitarbeiter der Professur gerne zur Verfügung.

Gruppengestützte Lokalisierung mit iPhone   (in Bearbeitung)

Apples iPhone hat mehrer Möglichkeiten zur Selbstlokalisierung. In dieser Arbeit soll untersucht werden, ob und wie die Lokalisierung verbessert werden kann, wenn mehrere Geräte kooperieren, so dass beispielsweise Geräte im GPS-Schatten ihre Positionsdaten durch Relativlokalisierung verbessern können.


Local versus Remote-Execution

In der Informatik, insbesondere beim GRID-Computing, werden häufig Berechnungen auf entfernten Rechnern durchgeführt. Damit sind zahlreiche Konzepte verbunden, z.B. RPC, MPI, SOAP, CORBA oder .NET. Mitunter ist die entfernte Ausführung notwendig, weil bestimmte benötigte Ressourcen nur dort zu finden sind. Ist dies aber nicht der Fall, stellt sich die Frage, wann eine Ausführung auf einem entfernten Rechner, und wann sie lokal stattfinden soll.
Ziel dieses Arbeit ist es, ein Modell und ein Bewertungsmaß zu entwickeln, um die Frage der entfernten Ausführung beantworten zu können. Dabei soll sowohl der technische Overhead (z.B. Kommunikationskosten, Rechenzeit, Antwortzeit, Marshalling, etc.) als auch evtl. Abrechnungskosten (Leitungsmiete, Servicegebühren, etc.) berücksichtigt werden. Das Modell soll so abstrakt wie möglich sein, um eine breite Einsetzbarkeit zu gewährleisten. Beispielsweise sollen alle oben genannten Remote-Ansätze im Modell darstellbar sein.

Auf der Grundlage des gefundenen Modells ist ein Entscheidungsalgorithmus zu entwickeln, der einen möglichst optimalen Trade-off gewährleistet. Die Effektivität des Algorithmus ist in einer Beispielsanwendung mit mehreren Remote-Konzepten zu demonstrieren.

Offenes Betriebssystem für ERS-110

Der Roboter ERS-110 (Sony Aibo) ist ein hochentwickelter Roboter mit einer Vielzahl von Sensoren und Aktuatoren. Die Hardware und die hardwarenahen Funktionen des ERS-110 sind nicht offengelegt. In einer Diplomarbeit an der Professur ist jedoch ein Bootloader für den ERS-110 entwickelt worden. Ziel dieser Arbeit ist es, auf Grundlage dieses Bootloaders ein offenes Betriebssystem (z.B. Embedded Linux) für den ERS-110 zu entwickeln/anzupassen und zu implementieren.


Überbrückung der Semantischen Lücke beim aspektorientiertem Entwurf nichtfunktionaler Eigenschaften

Beim Aspektorientieren Systemdesign (AOSD) geht es darum, unterschiedliche aber sich überlagernde Anliegen an ein System (crosscutting concerns) getrennt zu spezifizieren und zu implementieren. Konzeptionell sind besonders nichtfunktionelle Eigenschaften, wie z.B. Verlässlichkeit, Zeitverhalten, Ressourcenverbrauch oder Sicherheit für die Anwendung von AOSD geeignet.

Jedoch sind die heute etablierten AOSP-Ansätze wie z.B. AspectJ in der Regel sehr code-nahe, während nichtfunktionale Eigenschaften häufig auf einer relativ abstrakten semantischen Ebene (z.B. mit UML) spezifiziert werden. Ziel der Diplomarbeit ist es, diese semantische Lücke für eine ausgewählte nichtfunktionale Eigenschaft zu schliesen. Dabei soll eine Beschreibungssprache entwickelt werden, die eine Beschreibung der nichtfunktionalen Eigenschaft in einer geeigneten Weise zulässt. Diese Beschreibungssprache soll dann (unter der Benutzung von Bibliotheken o.ä.) in einen ausgewählten AOSD-Ansatz (z.B. AspectJ oder AspectC) überführt werden.

An einer Beispielanwendung ist die Funktionsweise des Ansatzes zu demonstrieren.

Beschreibung von mobilen Aktivitäten in räumlich verteilten Systemen    (in Bearbeitung)

Moderne verteilte Betriebssysteme versuchen, den Verteilungsaspekt für die Anwendung weitgehend transparent zu halten. Jedoch gibt es Anwendungen, die gerade darauf angewiesen sind, nicht nur zeitliche sondern auch räumliche Anforderungen zu erfüllen. Bisher werden Raumkonzepte - wenn überhaupt - jedoch losgelöst von tatsächlichen (gemoetrischen) Verteilungen behandelt, z.B. im Pi-Kalkül und im Ambient-Kalkül.

Ziel dieser Arbeit ist es, eine Literaturstudie über Modelle zur Beschreibung von mobiler Ausführung und Rechnen im Raum anzufertigen und Vorschläge für ein Programmiermodell für Systeme mit geometrisch-räumlicher Verteilung zu entwickeln.

Universelle Beobachtung und Steuerung von Nutzerinterfacen   (in Bearbeitung)

Vielmals ist es wünscheswert, dass verschiedene Anwender gemeinsam bei der Erstellung eines Dokumentes zusammenarbeiten oder gemeinsamen Zugriff auf Daten haben und zwar auch bei Daten und Dokumenten, die durch Anwendungen erstellt werden, die auf eine Kooperation nicht ausgerichtet sind. Um solche Anwendungen in einer kooperativen Arbeitsweise zu betreiben ist es notwendig, die Aktionen von Nutzern solcher Programme zu beobachten und Nutzerverhalten in solche Programme zu injizieren.

Ziel dieser Arbeit ist es, ein allgemeine und für den Einsatz mit speziellen Anwendungen konfigurierbare Betriebssystemerweiterung zu schaffen, die die Beobachtung und die Steuerung von Anwendungen für Kooperationszwecke erlaubt.

Es bietet sich an, diese Arbeit als Vorsufe (Studienarbeit zur Diplomarbeit) oder in einer Gemeinschaftsarbeit zusammen mit "Konfliktlösungsmechanismen für die Kooperation von Legacy-Anwendungen" zu bearbeiten.

Konfliktlösungsmechanismen für die Kooperation von Legacy-Anwendungen   (in Bearbeitung)

Vielmals ist es wünscheswert, dass verschiedene Anwender gemeinsam bei der Erstellung eines Dokumentes zusammenarbeiten oder gemeinsamen Zugriff auf Daten haben und zwar auch bei Daten und Dokumenten, die durch Anwendungen erstellt werden, die auf eine Kooperation nicht ausgerichtet sind. Damit eine Kooperation erfolgreich ist, müssen Konflikte zwischen den den Anwendungsinstanzen aufgelöst werden.

Ziel dieser Arbeit ist es, typische Kooperationsweisen zu untersuchen und auf der Grundlage dieser Untersuchung einen generischen Konfliktlösungsmechanismus zu entwickeln.

Über die hier vorgestellten Themen hinaus sind eine Reihe weiterer Themen (u.a. Mitarbeit in Forschungsprojekten) nach Absprache möglich.