Offene Themen
Aus den vorgeschlagenen Themen ergeben sich eine Reihe möglicher konkreter Arbeiten. Die genaue Themenstellung wird gemeinsam von Student und Betreuer vor der Arbeit abhängig von der Neigung, dem Interesse, dem Vorwissen und dem erforderlichen Umfang der Arbeit individuell festgelegt. Für andere Themen sind wir, sofern sie ins Spektrum des Instituts passen, jederzeit offen.
Compiler für Eingebettete Systeme (Arbeitsgruppe Prof. Falk)
Alle anzeigen / Alle verbergen
-
Verbesserung der WCET-Analyse durch Entfernung logisch unmöglicher Kontrollflusspfade (Infeasible Path Analyse)
-
Master- bzw. Diplomarbeit
Echtzeitsysteme sind Systeme, die Ereignisse innerhalb vorgegebener Fristen verarbeiten. Bei der Analyse eines Echtzeitsystems ist es von entscheidender Bedeutung, die schlimmstmögliche Ausführungszeit des Systems (WCET) möglichst exakt abzuschätzen.
Eine der Herausforderungen bei der Analyse eines solchen Systems ist der Ausschluss logisch unmöglicher Pfade (sogenannter Infeasible Paths) im Kontrollflussgraphen eines Programmes. Durch das Entfernen solcher Pfade kann eine deutlich engere Schranke für die WCET des Systems berechnet werden.
Die Arbeitsgruppe "Compiler für Eingebettete Systeme" arbeitet an dem
WCET-aware C Compiler (WCC), dessen herausragendes Merkmal die Integration von Methoden zur WCET-Abschätzung ist. Mithilfe neuartiger Analysemethoden und Optimierungen innerhalb des Compilers wird der zu übersetzende C-Code automatisch auf sein Echtzeitverhalten hin analysiert und optimiert.
Im Rahmen dieser Master- oder Diplomarbeit soll der WCC um Konzepte zur Infeasible Path-Analyse erweitert und die damit erreichbaren Verbesserungen bei der WCET-Analyse untersucht werden.
Voraussetzungen:
- Notwendig: Gute Kenntnisse in C und C++
- Wünschenswert: Vorkenntnisse im Bereich Echtzeitsysteme
- Wünschenswert: Vorkenntnisse im Bereich Compilerbau
Ansprechpartner:
-
Abschätzung der Best-Case Execution Time (BCET) innerhalb eines Compilers
-
Master- bzw. Diplomarbeit
Echtzeitsysteme beruhen darauf, eingehende Ereignisse innerhalb vorgegebener Fristen zu verarbeiten. Zur Verifikation der Echtzeitfähigkeit muss sichergestellt werden, dass auch bei maximaler Dichte der eingehenden Ereignisse noch jedes Ereignis innerhalb seiner Frist verarbeitet werden kann. Dazu muss für das System, das die Ereignisse generiert, sowohl die größtmögliche Ausführungszeit, die sogenannte WCET (Worst-Case Execution Time) als auch die kleinstmögliche Ausführungszeit, die sogenannte BCET (Best-Case Execution Time), berechnet werden.
Die Arbeitsgruppe "Compiler für Eingebettete Systeme" arbeitet an dem
WCET-aware C Compiler (WCC), dessen herausragendes Merkmal die Integration von Methoden zur WCET-Abschätzung ist. Neuartige Optimierungen innerhalb vom WCC sind in der Lage, die WCET des generierten Codes systematisch zu minimieren.
Im Rahmen dieser Master- oder Diplomarbeit soll der Compiler WCC um Komponenten zur BCET-Abschätzung erweitert werden. Diese neu zu entwickelnden Komponenten sollen insbes. das Verhalten der Prozessor-Pipeline und der Caches im best case modellieren.
Voraussetzungen:
- Notwendig: Gute Kenntnisse in C und C++
- Wünschenswert: Vorkenntnisse im Bereich Echtzeitsysteme
- Wünschenswert: Vorkenntnisse im Bereich Compilerbau
Ansprechpartner:
-
Entwurf eines Evolutionären Algorithmus zur Code-Positionierung
-
Bachelorarbeit
Code-Positionierung ist eine altbekannte Compiler-Optimierung zur Verbesserung des Verhaltens von Befehls-Caches. Die direkt aufeinander folgende Positionierung von Code-Fragmenten im Speicher vermeidet, dass sich solche Fragmente in einzelnen Cache-Zeilen überlappen und führt somit zu einer Reduktion von Cache-Konflikten. Diese Bachelorarbeit behandelt Code-Positionierung als Optimierung zur Reduktion der Worst-Case Execution Time (WCET), die insbes. im Bereich sicherheitskritischer Echtzeitsysteme (z.B. Motor- oder Fluglagesteuerungen) eine große Rolle spielt.
Die Arbeitsgruppe "Compiler für Eingebettete Systeme" arbeitet an dem
WCET-aware C Compiler (WCC), dessen herausragendes Merkmal die Integration von Methoden zur WCET-Abschätzung ist. Neuartige Optimierungen innerhalb vom WCC sind in der Lage, die WCET des generierten Codes systematisch zu minimieren.
Innerhalb des Compilers WCC existiert bereits ein erster heuristischer Ansatz zur Code-Positionierung (vgl.
hier oder
hier). Im Rahmen dieser Bachelorarbeit soll der WCC nun um einen Evolutionären Algorithmus zur Code-Positionierung ergänzt werden. Diese Bachelorarbeit umfasst insbes. den Entwurf und die Realisierung eines solchen Evolutionären Algorithmus, sowie die detaillierte Untersuchung seiner Qualität und den Vergleich mit der bereits vorhandenen Positionierungs-Heuristik.
Voraussetzungen:
- Notwendig: Gute Kenntnisse in C und C++
- Wünschenswert: Vorkenntnisse im Bereich Echtzeitsysteme
- Wünschenswert: Vorkenntnisse im Bereich Compilerbau
Ansprechpartner:
Entwurfsmethodik
Alle anzeigen / Alle verbergen
-
Evaluation von Werkzeugen zur Antwortszeitanalyse (Praktikum)
-
Bei der Antwortszeitanalyse wird die Zeit bestimmt, die eine Task vom Zeitpunkt ihrer Anregung bis zum Vorliegen ihres Ergebnisses im schlimmsten, und im besten Fall benötigt. Dabei werden Unterbrechungen durch andere Tasks, sowie Ressourcenkonflikte mit berücksichtigt.
Die Antwortszeitanalyse stellt damit einen entscheidenden Faktor bei der Analyse von Echtzeitsystemen dar.
Im Rahmen eines Praktikums sollen die Fähigkeiten aktuell verfügbarer
Analysewerkzeuge evaluiert und die Qualität der Analyseergebnisse anhand
wissenschaftlich anerkannter Beispielmodelle gemessen und verglichen werden.Ansprechpartner:
-
HW/SW-Partitionierung mit Matlab/Simulink
-
Bachelorarbeit/Praktikum
Simulink ist ein Industiestandard für den Entwurf und die Simulation komplexer Systeme. Diese werden durch ein Modell beschrieben, das eine Reihe miteinander vernetzter Funktionsblöcke beinhaltet. Über die Toolbox Real-Time Workshop kann aus dem Modell ausführbaren C-Code generiert werden. Weiterhin gibt es Werkzeuge, die eine automatisierte Synthese einer Hardware-Implementierung aus einem Simulink-Modell ermöglichen. Dabei wird aber eine eigene Bibliothek an Funktionsblöcken verwendet, für die die HW-Beschreibungen dem Werkzeug bekannt sind. Da viele Funktionen sowohl in Software, als auch in Hardware realisiert werden können, gibt es für diese Funktionen zwei verschiedene Blöcke. Das Problem ist aber, dass die Entscheidung, welche Funktion in Hardware und welche in Software realisiert werden soll, erst zu einem möglichst späten Zeitpunkt im Desingprozess erfolgen soll bzw. änderbar sein muss. Dies wird von den bestehenden Werkzeugen nicht ausreichend unterstützt.
Deshalb soll ein Konzept erstellt und implementiert werden, welches ein automatisches Austauschen der entsprechenden Hardware und Softwareblöcke gegeneinander ermöglicht und ein entsprechend angepasstes Simulink-Modell erzeugt. Die bestehende Werkzeugen sind dabei über Skripte entsprechend zu steuren bzw. die gespeicherten Dateien sind zu verändern. Dabei wird ein Austausch der Blöcke und ihrer Parameter nicht immer 1:1 erfolgen können. -
Ereignisabhängigkeitsanalyse einer Matlab/Simulink-Spezifikation eines Radarsystems
-
Masterarbeit
Im Institut für Eingebettete Systeme/Echtzeitsysteme werden neue Entwurfsverfahren für verteilte Echtzeitsysteme entwickelt. Insbesondere die Ereignisabhängigkeitsanalyse ist ein mächtiges Verfahren, die Modellerzeugung für die Echtzeitanalyse zu automatisieren. Da viele Echtzeitsysteme in Matlab/Simulink spezifiziert werden, soll in dieser Arbeit untersucht werden, wie Simulinkmodelle automatisch in ein Analysemodell für verteilte Echtzeitsysteme umgesetzt werden können. Dazu ist das vorhandene Simulinkmodell eines Synthetik-Aberature-Radars (SAR) mit Hilfe des Real-Time Workshop von Matlab/Simulink in C-Code zu übersetzen. Der so gewonnene Implementierungscode ist dann mit Hilfe der Ereignisabhängigkeitsanalyse zu untersuchen. Am Ende der Arbeit soll es möglich sein, das Radarsystem automatisch in einen Ereignisabhängigkeitsgraphen umzusetzen.
-
Entwurfsparameterschätzung für die Ereignisabhängigkeitsanalyse
-
Masterarbeit
Im Institut für Eingebettete Systeme/Echtzeitsysteme werden neue Entwurfsverfahren für verteilte Echtzeitsysteme entwickelt. Insbesondere die Ereignisabhängigkeitsanalyse ist ein mächtiges Verfahren, die Modellerzeugung für die Echtzeitanalyse zu automatisieren. Daneben existieren Werkzeuge, die es erlauben, die Ausführungszeiten eines Programms auf einer gegebenen Prozessor abzuschätzen. Ziel der Arbeit ist es, diese Werkzeuge zusammenzuführen, so dass es möglich wird, einen Ereignisstrom für eine bestimmte Task in Abhängigkeit vom verwendeten Prozessortyp zu erzeugen.
-
Optimierung der Ausführungszeiten von eingebetteten Echtzeitsystemen mit Ereignisströmen
-
Masterarbeit
Um bei eingebetteten Echtzeitsystemen Energie zu sparen, probiert man unter anderem, die Prozessorleistung herabzusetzen. Damit das System noch funktioniert, müssen bestimmte Anforderungen weiterhin gültig sein. Bei Echtzeitsystemen handelt es sich hierbei in erster Linie um die fristgerechte Abarbeitung von Teilaufgaben. Für einen ideellen Prozessor bestimmte Ausführungszeiten werden mit vorgegebenen Zeitschranken verglichen und damit die Echtzeitfähigkeit des Geräts geprüft. Eine Methodik, diesen Test möglichst schnell durchzuführen und Garantien abgeben zu können, sind Ereignisströme. Aus ihnen generiert man eine Rechenzeitanforderungsfunktion, um die benötigte Rechenzeit nach oben abzuschätzen und diese mit der tatsächlich verfügbaren zu vergleichen. Aufgabe dieser Arbeit ist es, in diesen Vergleich eine Optimierung einzubauen, die die einzelnen Ausführungszeiten maximiert und die Fristen optimiert. Aufgrund der Struktur dieses Problems eignet sich hierfür eine lineare Optimierung. Sicher ist dies nicht der erste Ansatz, dieses Problem anzugehen und so ist es Teil der Aufgabenstellung, bekannte Arbeiten zu studieren und die eigene Optimierung mit den Ergebnissen der bekannten Arbeiten zu vergleichen.
-
Entwurf und Implementierung einer Echtzeitanalyse für Tasksysteme mit variablen Taskausführungszeiten
-
Masterarbeit
Im Institut für Eingebettete Systeme/Echtzeitsysteme werden neue Entwurfsverfahren für verteilte Echtzeitsysteme entwickelt. Ein sehr erfolgreicher Ansatz dabei ist, für ein Echtzeitsystem eine Ereignisabhängigkeitsfunktion zu berechnen, um dann mit ihrer Hilfe zu analysieren, ob das System echtzeitfähig ist. Dies ist aber nur möglich, wenn angenommen wird, dass sich die Ausführungszeiten der Tasks nicht ändern und alle Tasks synchron starten. In der Diplom-/Masterarbeit ist eine vorhandene Lösungsskizze zu formalisieren und geschickt zu implementieren, so dass auch für asynchrone Systeme mit variablen Ausführungszeiten die Rechenzeitanforderungsfunktion berechnet werden kann.
-
Laufzeitschätzverfahren für Softwareprogramme
-
Masterarbeit
Der Entwurf eingebetteter Systeme wird immer komplexer und damit immer schwieriger. Dies macht es notwendig, den Entwurf zu formalisieren und mathematische Methoden zur Analyse einzusetzen. Ziel ist es, Werkzeuge für den Entwurf eingebetteter Systeme zu entwicklen und bereitzustellen. Solche Werkzeuge können z.B. die Architektur eines Systems synthetisieren oder das zukünftige verhalten analysieren. Diese Verfahren benötigen Informationen bzgl. der Eigenschaften des zu entwickelnden Systems - z.B. soll es möglich sein, die Laufzeit eines Programms auf unterschiedlichen Prozessoren abzuschätzen. Existierende Schätzverfahren ermitteln häufig den kritischen Pfad eines Programms, indem einfach der längste Pfad durch eine Tiefensuche ermittelt wird. Dieses Verfahren führt aber zu ungenauen Schätzungen, da es in der Praxis passieren kann, dass bestimmte Pfadkombinationen gar nicht auftreten. Zwar existieren bereits Verfahren, die simulativ versuchen, dieses Problem zu lösen, allerdings ist dies ein sehr aufwendiger Weg. Ausgehend von einer Eingabespezifikation auf der Grundlage des Ereignisstrommodells soll in dieser Arbeit ein Verfahren für die Laufzeitabschätzung von Programmen entwickelt werden. Dabei ist zu erforschen, wie formale Dateneingangspezifikationen auf das Ereignisstrommodell abgebildet werden können. Auf der Grundlage einer existierenden Schätzmethodik ist empirisch zu klären, ob das neue Verfahren genauere Ergebnisse liefert als die bekannten Verfahren.
Smart Systems
Alle anzeigen / Alle verbergen
-
Verbesserungen und Erweiterungen von Netzwerk-Simulatoren
-
Bachelorarbeit/Praktikum
Das Institut für Eingebettete Systeme/Echtzeitsysteme beschäftigt sich unter anderem mit der Fragestellung, wie Kommunikationsnetze echtzeitfähig realisiert werden können. Um verschiedene Ansätze zu erproben zu können, wird häufig auf Simulationen zurückgegriffen, da diese in einem frühen Stadium der Forschung Vorteile gegenüber aufwendigen Feldtests bieten.
Leider zeigen sich jedoch bei der Nutzung von Simulatoren verschiedene Defizite, die im Rahmen der folgenden Praktika beseitigt werden sollen:- Auf dem Markt verfügbare Simulatoren für Netze liefern oft Routinen mit, mit denen gebräuchliche Systeme und weit verbreitete Standards (z.B. Ethernet, WLAN, usw.) simuliert werden können. Eigene Verfahren, etwa im Bereich des Medienzugriffs, lassen sich jedoch nur mit größerem Aufwand realisieren.
Ziel des Praktikums ist es, eine Schnittstelle zu definieren, die das Einbauen eigener Verfahren nach dem Plugin-Prinzip ermöglicht. - Die verfügbaren Simulationsplattformen bieten im Bereich der Eingabe von Simulationsszenarien Defizite. Insbesondere ist es beispielsweise in Fahrzeug-/Fahrzeug-Netz-Simulatoren bisher nicht üblich, eine Datenrepräsentation (eine Art Landkarte) als Eingabe zu verwenden, die sowohl Geländetopologien als auch Straßenzüge enthält. Diese Informationen wären dann an die Stellen des Simulators durchzureichen, die sie benötigen - etwa die Geländetopologie an die Funkkanal-Simulation und die Straßeninformation zusätzlich an das Bewegungsmodell.
Ziel des Praktikums ist es, ein Eingabeformat zu definieren und zu implementieren, das es, idealerweise ergänzt um einen grafischen Editor, ermöglicht, eine umfassende Umgebungsbeschreibung (Topologie, Bebauung, Straßenkarte, usw.) in den Simulator zu geben, um so mit möglichst geringem Aufwand möglichst realitätsnah simulieren zu können.
Nützliche Vorkenntnisse:
Java und Grundlagenwissen im Bereich von Rechnernetzen oder in der Nachrichtentechnik sind von Vorteil.
Ansprechpartner:
- Auf dem Markt verfügbare Simulatoren für Netze liefern oft Routinen mit, mit denen gebräuchliche Systeme und weit verbreitete Standards (z.B. Ethernet, WLAN, usw.) simuliert werden können. Eigene Verfahren, etwa im Bereich des Medienzugriffs, lassen sich jedoch nur mit größerem Aufwand realisieren.
-
Unterwasserkommunikation
-
Bachelorarbeit/Praktikum
Das Institut für Eingebettete Systeme/Echtzeitsysteme entwickelt eine Lehr- und Forschungsplattform für Eingebettete Systeme in Form eines autonomen Unterwasserroboters (Autonomous Underwater Vehicle, AUV). Zwar soll der Unterwasserroboter dazu in der Lage sein, ihm vorgegebene Missionen selbständig, d.h. ohne Eingreifen durch einen steuernden Anwender, durchzuführen, dennoch ist eine gewisse Kommunikationsmöglichkeit gewünscht, um etwa vom getauchten Unterwasserfahrzeug Statusinformationen zu erhalten oder einfache Kommandos an das Unterwasserfahrzeug übermitteln zu können.
Funkkommunikation unter Wasser ist auf Grund der extrem starken Dämpfung höherfrequenter elektromagnetischer Wellen extrem schwierig: Während zwar Längstwellen (im zweistelligen Hertzbereich) und Langwellen (im unteren Kilohertzbereich) genutzt werden könnten, um mit dem getauchten Unterwasserroboter zu kommunizieren, scheiden diese Technologien auf Grund der dafür notwendigen langen Antennen und leistungsstarken Sender für unsere Einsatzszenarien aus. Funkkommunikation in höheren Frequenzen und kleineren Antennen (z.B. mittels WLAN) erweist sich als absolut unmöglich, da die Energie des Senders in diesem Frequenzbereich bereits auf kürzester Distanz vom Wasser nahezu vollständig absorbiert wird. Daher bleibt für unsere Zwecke nur der Einsatz von Schall als Träger der Information.
An unserem Institut wurde im Rahmen einer Masterarbeit eine Matlab-/Simulink-Simulation für ein akustisches Unterwassermodem entworfen. Dieses wurde inzwischen im Rahmen zweier Praktika prototypisch aufgebaut.
Hieraus ergeben sich nun weitere Folgearbeiten:- Der aufgebaute Prototyp zeigte einige Schwachstellen etwa in der Leistungselektronik, welche zum Treiben der Ultraschall-Transducer (Sender/Empfänger mittels Piezo-Element) dient. Im Rahmen eines Praktikums müsste hier evtl. ein Redesign erfolgen, in dem die Schwachstellen beseitigt werden.
Ziel des Praktikums wäre eine in einem kleinen Versuchsbassin lauffähige Version des Modems. - Die Abschätzungen der möglichen Datenrate und die Parametrisierung des Modems basieren bislang auf einer strahlenoptischen Simulation des Unterwasser-Akustikkanals. Der Nachteil des in der Simulation verwendeten Modells ist, dass es für tiefere Gewässer, wie etwa Ozeane, entwickelt und verifiziert wurde. Für die geplanten Tauchgänge unseres Unterwasserroboters sind jedoch kleinere Binnengewässer (wie etwa Baggerseen) interessanter.
Ziel des Praktikums ist die Verifikation des in der Simulation verwendeten strahlenoptischen Modells für den Akustikkanal. Hierzu ist im ersten Schritt ein Verfahren zu entwickeln, wie die Kanaleigenschaften ("Impulsantwort") von konkreten Gewässern bestimmt werden können. Im zweiten Schritt sind dann an einem Gewässer in der Region Impulsantworten aufzuzeichnen und mit den vom Modell berechneten Werten zu vergleichen. - Das Modem wurde bislang in einem Ein-Träger-Verfahren konzipiert. D.h. es gibt eine Trägerfrequenz, auf die eine binäre Phasenverschiebung (Binary Phase Shift Keying, BPSK) aufmoduliert wird. Um den Datendurchsatz zu vergrößern, soll untersucht werden, inwiefern sich andere Modulationsverfahren (z.B. QPSK) oder Mehrträgerverfahren (z.B. OFDM) realisieren lassen.
Ziel des Praktikums ist die Erweiterung der bestehenden Matlab-/Simulink-Simulation um die oben genannten Verfahren oder mögliche Alternativen.
Nützliche Vorkenntnisse:
Nützlich, aber nicht zwingend notwendig, wären hierfür Vorkenntnisse aus dem Bereich der Nachrichtentechnik.
Ansprechpartner:
- Der aufgebaute Prototyp zeigte einige Schwachstellen etwa in der Leistungselektronik, welche zum Treiben der Ultraschall-Transducer (Sender/Empfänger mittels Piezo-Element) dient. Im Rahmen eines Praktikums müsste hier evtl. ein Redesign erfolgen, in dem die Schwachstellen beseitigt werden.
-
C-Compiler für Actel CoreABC-Prozessor
-
Bachelorarbeit/Praktikum
Am Institut für Eingebettete Systeme/Echtzeitsysteme werden unter anderem flashbasierte FPGAs des Herstellers Actel eingesetzt. Diese bieten den Vorteil, dass die im FPGA synthetisierte Schaltung beim Abschalten der Versorgungsspannung erhalten bleibt. Somit kommt ein solches FPGA ohne einen externen nicht-flüchtigen Speicher aus.
Actel liefert mit seinen FPGAs und Entwicklungswerkzeugen einen kleinen Softcore-Prozessor, den CoreABC, aus. Dieser hat einen stark eingeschränkten Befehlssatz, benötigt dafür aber nur eine sehr kleine Anzahl an Logik-Einheiten auf dem Chip und ist daher für sehr einfache Aufgaben (wie z.B. einfache digitale Regler in einem eingebetteten System) prädestiniert. Es ist vom Hersteller vorgesehen, dass der Prozessor direkt auf Assembler-Ebene programmiert wird. Insbesondere gibt es keinen Compiler, der den Prozessor über eine Hochsprache programmierbar macht.
Im Rahmen dieser Praktikumsarbeit soll ein Compiler entworfen werden, der aus C-Code einen Maschinencode erzeugt, der auf dem CoreABC lauffähig ist. Denkbar ist z.B., auf die GNU Compiler Collection (GCC) aufzusetzen und dafür ein passendes Backend zu entwerfen.
Nützliche Vorkenntnisse:
Grundlegende Kenntnisse im Bereich des Compilerbaus sind von Vorteil.
-
Prozessor Soft Cores auf FPGAs
-
Bachelorarbeit/Praktikum
Moderne programmierbare Logikbausteine (FPGAs) erlauben die Integration von kompletten Prozessoren mit eigener applikationsspezifischer Hardware auf einem programmierbaren Chip. Die Prozessoren liegen dabei in einer Hardwarebeschreibungssprache (VHDL) spezifiziert vor und können dann mit Hilfe von Synthesewerkzeugen auf dem FPGA implementiert werden. Mittlerweile stehen viele Prozessoren dem Entwickler frei zur Verfügung; Beispiele sind ein SPARC Prozessor, der NIOS Prozessor von Altera und sogar Java-Prozessoren. Im Rahmen dieser Arbeit sollen verschiedene solcher Prozessoren auf einem FPGA implementiert und programmiert werden. Zu diesem Zweck müssen die Prozessoren synthetisiert werden und ggf. muß Hardware für die Kommunikation mit anderen Komponenten entwickelt werden (Infrastruktur). Desweiteren müssen die zugehörigen Compiler (meist GNU gcc) müssen in Betrieb genommen werden. Mit Hilfe kleiner Benchmark-Programme soll dann die Leistungsfähigkeit der Prozessoren überprüft werden.
Arbeitsumgebung:
Altera Umgebung mit FPGA-Prototypen System, VHDL-Synthesewerkzeuge, GNU-Compiler
-
Echtzeitkommunikation in Eingebetteten Systemen
-
Masterarbeit
Echtzeitkommunikation bedeutet, dass Nachrichten von einer Komponente zu einer weiteren Komponente übertragen werden, wobei von vorne herein feststeht, wie lange die Kommunikation maximal dauert. D.h. das Kommunikationssystem gibt harte Garantien bzgl. Latenz und Durchsatz. Weit verbreitete lokale Kommunikationsnetze wie Ethernet, Wireless LAN oder auch Weitverkehrsnetze wie das Internet geben solche Garantien nicht. Es gibt jedoch Anwendungen, bei denen solche harten Garantien notwendig sind, um technische Prozesse aufrecht erhalten zu können. Beispiele hierfür sind etwa steuergeräteübergreifende Regelungen im Automobil oder Leistungsregelungen in Stromnetzen. Diese Diplom- bzw. Master-Arbeit beinhaltet die Grundlagen von Echtzeitkommunikation sowie den Aufbau von Komponenten eines Systems, in dem mit harten Zeitgarantien kommuniziert wird.
Ansprechpartner:
-
Quality of Service in Ad-hoc-Netzwerken
-
Masterarbeit
Mobile Ad-hoc-Netzwerke sind vermaschte drahtlose Kommunikationsnetze, zu denen sich einzelne Knoten spontan und unter Selbstkonfiguration zusammenfinden. Meist werden Datenpakete in solchen Netzen mit Hilfe von Multihop-Routing-Verfahren zugestellt, indem beispielsweise jeder Knoten Router-Funktionalitäten für die anderen Knoten übernehmen kann. Mögliche Einsatzgebiete sind Kommunikationssysteme, die ohne Infrastruktur (wie z.B. Mobilfunk-Basisstationen) auskommen müssen - wie etwa Netze für Helfer nach Naturkatastrophen oder für militärische Anwendungen. Ein weiteres Einsatzgebiet sind Fahrzeug-/Fahrzeug-Netze, sogenannte Vehicular Ad-hoc Networks (VANETs), die durch miteinander kommunizierende Fahrzeuge und mit Hilfe von Sensoren auf der Straße den Verkehr sicherer machen sollen.
Häufig wird zur Erforschung und Entwicklung solcher Ad-hoc-Netze auf vorhandene Technologien, wie etwa WLAN aufgesetzt. WLAN bietet aber zunächst keinerlei Quality-of-Service-Unterstützung an, d.h. zeitkritische Anwendungen bekommen etwa keine obere Schranke für die Zustellung einer Nachricht zugesichert. Das ist eine Eigenschaft des verwendeten Medienzugriffsverfahrens "Carrier Sense, Multiple Access with Collision Avoidance" (CSMA/CA).Wir erforschen am Institut für Eingebettete Systeme/Echtzeitsysteme Möglichkeiten, solche Kommunikationssysteme echtzeitfähig zu realisieren. Im Rahmen dieser Arbeit sollen hierzu verschiedene neue Ansätze theoretisch analysiert und in Simulationen oder ggf. Feldtests praktisch erprobt werden.
Nützliche Vorkenntnisse:
Hilfreich sind gute Kenntnisse im Bereich der Rechnernetze bzw. des Ubiquitous Computing oder in den Grundlagen der Nachrichtentechnik.
Ansprechpartner:
-
Verbesserung der Simulation der physikalischen Schicht von Kommunikationsnetzen
-
Masterarbeit
Für die Erforschung neuartiger komplexer Kommunikationsnetze ist der Einsatz von Simulatoren unverzichtbar geworden. Eine Simulation bietet in einem frühen Entwicklungsstadium zwei wesentliche Vorteile: Sie ist in der Regel zum einen kostengünstiger als ein vergleichbar großes reales Experiment. Zum anderen können in Simulationsumgebungen die Umweltparameter vorgegeben und systematisch untersucht werden, während man in realen Experimenten stets mit einer nicht beeinflussbaren und sich veränderbaren Größen zu kämpfen hat. Andererseits nähert eine Simulation ein reales Experiment nur dann gut an, wenn die Simulation entsprechend implementiert wurde. Genau hier gibt es oftmals Defizite, wenn etwa zu stark vereinfachte Annahmen über die Realität gemacht werden.
Für die Erforschung von Kommunikationsnetzen ist es insbesondere erforderlich, dass die physikalische Schicht, also die elektromagnetischen oder akustischen Signale, sowie der Kommunikationskanal, mit hinreichender Realitätsnähe simuliert werden.
Wir erforschen am Institut für Eingebettete Systeme/Echtzeitsysteme das Echtzeitverhalten in Ad-hoc-Netzen - sowohl funkbasiert als auch unter Wasser auf Akustikbasis. Im Rahmen dieser Arbeit soll ein vorhandenes strahlenoptisches Kanalmodell in Hinsicht auf Genauigkeit und Rechengeschwindigkeit, ggf. unter Hinzuzug von Hardware-Unterstützung, optimiert werden.Nützliche Vorkenntnisse:
Hilfreich, aber nicht zwingend erforderlich, sind Vorkenntnisse in den Bereichen der Computergrafik (hier insbesondere im Bereich des Raytracing) und den Grundlagen der Nachrichtentechnik.
Ansprechpartner:
-
Fehlertolerante On-Chip-Kommunikation
-
Masterarbeit
Auf Grund der Tatsache, dass die Strukturgrößen in der Herstellung von Mikrochips immer kleiner werden, lassen sich nicht nur immer leistungsstärkere Prozessoren aufbauen. Vielmehr ergeben sich neuartige Anwendungen, wie beispielsweise die Integration kompletter Rechnersysteme auf einem Chip. Die Komponenten eines solchen System-on-a-Chip müssen dazu in der Lage sein, untereinander Nachrichten auszutauschen.
Wegen der Komplexität und der asynchronen Taktung der einzelnen Komponenten eines solchen Systems sind herkömmliche On-Chip-Busse nur bedingt als Kommunikationsstruktur geeignet. Stattdessen wird untersucht, inwiefern Technologien, die aus klassischen Rechnernetzen bekannt sind, für die On-Chip-Kommunikation verwendet werden können. Man spricht in diesem Zusammenhang auch von "Network-on-a-Chip" (NoC). Eine Technologie wären beispielsweise paketvermittelnde Netze, die mit einer geeigneten Switching- bzw. Routingstrategie die Nachrichten von der Quelle zur Senke leiten.
In diesem Zusammenhang ergeben sich interessante Fragestellungen, beispielsweise hinsichtlich der Fehlertoleranz und der Echtzeitfähigkeit.
Wir erforschen am Institut für Eingebettete Systeme fehlertolerante Echtzeitsysteme. Im Rahmen dieser Arbeit soll theoretisch und simulativ untersucht werden, inwiefern sich bestimmte Medienzugriffsverfahren und Routing-Strategien dazu eignen, Datenpakete in einem möglicherweise fehleranfälligen On-Chip-Netzwerk zu leiten. Eventuell wird der Aufbau einer Simulationsinfrastruktur notwendig sein.Nützliche Vorkenntnisse:
Hilfreich, aber keine zwingende Voraussetzung, sind gute Kenntnisse der Rechnernetze.
Ansprechpartner:
-
Echtzeitfähiges Ethernet
-
Masterarbeit
Ethernet nach IEEE 802.3 und seine Erweiterungen, wie Fast-Ethernet und Gigabit-Ethernet, sind aus der Welt der Kommunikationsnetze nicht mehr wegzudenken. Allerdings haben diese Verfahren einen Nachteil: Der Medienzugriff erfolgt mittels des Verfahrens "Carrier Sense, Multiple Access, Collision Detection" (CSMA/CD), das den Netzknoten keinerlei oberen zeitlichen Schranken gewährt. Das Problem ist zwar durch die heute üblichen Sterntopologien (gegenüber der früher üblichen Bustopologie) entschärft, dennoch gibt Ethernet auch heute keinerlei Garantien bei der Zustellung von Frames über (puffernde) Switches.
Im Rahmen dieser Arbeit soll untersucht werden, in wie fern sich andere Medienzugriffsverfahren für lokale Kommunikationsnetze eignen bzw. Kommunikationssysteme mit einem anderen Medienzugriffsverfahren in einem Line-Sharing-Verfahren mit Ethernet kombinieren lassen.
Nützliche Vorkenntnisse:
Hilfreich, aber nicht zwingend erforderlich, sind Vorkenntnisse in den Grundlagen der Rechnernetze oder der Nachrichtentechnik.
Ansprechpartner:
-
Modellierung und Entwurfsraumexploration einer Roboterregelung
-
Masterarbeit
Am Institut für Eingebettete Systeme/Echtzeitsysteme wird ein autonom tauchender Unterwasserroboter entwickelt. Für diesen Roboter wird auf einem FPGA in Hard- und Software eine Tiefen-, Lage- und Kursregelung eingesetzt. Diese hat die Aufgabe, den Roboter automatisch auf Kurs zu halten. Die geschieht mit einem eigens für den Roboter entwickelten Inertialnavigationssystem.
Die Regelungssoftware ist zu nächst mit Matlab/Simulink zu simulieren. Aus dieser Beschreibung soll dann automatisch eine Regelungssoftware für das eingebettete System abgeleitet werden. Diese Software ist dann bzgl. ihres zeitlichen Verhaltens mit einem Echtzeitsimulationswerkzeug zu untersuchen. Dabei soll festgestellt werden, welche Hardwarearchitektur die gegebenen Randbedingungen am kostengünstigsten erfüllt. In einem zweiten Schritt wird die Regelung mit einer vorhandenen Kommunikationssoftware kombiniert. Das so entstandene verteilte Regelsystem wird ebenfalls bzgl. seiner zeitlichen Eigenschaften mit dem Entwurfswerkzeug simuliert. Ziel der Arbeit ist die Erprobung eines neuartigen Entwurfsflusses für eingebettete Echtzeitsysteme.
-
DECT-/IP-Bridge (IP-Telefonie)
-
Masterarbeit
Schnurlose Telefone, die auf den DECT-Standard basieren, sind hierzulande weit verbreitet. Mit ihnen kann man über ihre jeweilige Basisstation im normalen Telefonnetz telefonieren. Andererseits kann man Telefongespräche inzwischen kostengünstig auch über das Internet führen. Warum also nicht beides verbinden? In dieser Arbeit sollen zwei Basisstationen für DECT-Telefone gebaut werden, die über eine TCP/IP-Verbindung miteinander kommunizieren. Dazu können die in der Gruppe vorhandene FPGA-Boards verwendet werden. Auf ihnen kann nicht nur eine Synthese für in VHDL beschriebene Hardware durchgeführt werden, sondern es steht schon ein fertiger eingebetteter Prozessor mit Ethernet-Schnittstelle und TCP/IP-Protokollstack bereit. Für diese Boards muss ein Funkadapter gebaut werden. Auf die Boards muss weiterhin der DECT-Protokollstack implementiert werden (steht teilweise schon zur Verfügung).
Ziel der Arbeit ist es, mit handelsüblichen Mobilteilen über die mit einem Netzwerkkabel verbundenen Boards zu telefonieren.
-
Event-Triggered Control
-
Master-/Diplomarbeit
Das Institut für Eingebettete Systeme/Echtzeitsysteme beschäftigt sich unter anderem mit den Fragestellung der Einflussnahme von zeitlichen Einschränkungen auf das Systemverhalten von Reglern in verteilten Systemen.
Eine Regelstrategie, in der die zeitlichen Fristen und das Regelverhalten besonders stark ineinander greifen, ist die Ereignisgesteuerte Regelung (Event-Triggered Control).
Ereignisgesteuerte Regelungen versprechen eine effiziente Regelung bei stark reduziertem Rechenaufwand und geringem Verbrauch von Kommunikationsressourcen.
Dem gegenüber stehen eine nicht-periodische Abtastung und ein aufwändigerer Stabilitätsnachweis als bei konventionellen Reglern.
In der Master-/Diplomarbeit soll mit Hilfe der Matlab Toolbox SimEvents solch ein Regelkreis modelliert und für einen am Institut entwickelten Prüfstand für Elektromotoren ausgelegt werden.
Dabei sollen die simulativen Erkenntnisse auf eine Zielplattform angewandt werden, sowie durch eine geeignete Hardwarebeschaltung eine flexible Ereignisgenerierung ermöglicht werden.Nützliche Vorkenntnisse:
Kenntnisse in der Regelungstechnik, sowie Erfahrungen im Umgang mit Matlab/Simulink sind erwünscht.
Ansprechpartner:
-
Integrierte Reglerplattform
-
In Industrieanlagen und im automotiven Umfeld werden Regelstrecken zunehmend über Netzwerke und Bussysteme miteinander vernetzt. Diese Verteilung ermöglicht ressourcensparende Systeme und einen flexiblen Einsatz. Bei solchen verteilten Regelsystemen beein-
flussen sich Reglerfunktionalität und Hardwareplattform gegenseitig.
Die Funktionalität des Regelsystems gibt vor, in welchen Zeitintervallen Sollwertberechnungen durchgeführt werden und welche Sensor- und Aktordaten als Nachrichten verschickt werden. Die Regelplattform beeinflusst die Reglerperformance, indem sich aus ihr Verzögerungen ableiten, die zeitvariante Totzeiten im Regelkreis darstellen.
Um mit dieser gegenseitige Wechselwirkungen umzugehen, werden in zukünftigen Systemen die Funktionalität eines Regelsystems und die verwendete Regelplattform in einem integrierten Entwurf entwickelt. Diese Integration wird besonders im automotiven Umfeld verlangt, wo durch den Kostendruck eine hohe Auslastung gefordert wird.
Ein Ansatz wäre es, aus den Kenntnissen über das zu regelnde physikalische System und den verwendeten Regelalgorithmen Aussagen über eine Reduktion der Rechenoperationen zu treffen. So wird beispielsweise bei der modellprädiktiven Regelung zu jedem Abtastschritt eine Prädiktion über den zu erwartenden Verlauf der Zustandsgrößen errechnet. Aus der Kenntnis des zu erwartenden Signalverlaufs können Eigenschaften des Zeitverhaltens der Plattformarchitektur abgeleitet werden. Ein Beispiel wäre die Reduktion der Stellwertberechnungen, wenn zu erwarten ist, dass sich Systemzustände nahe des Stabilitätspunktes befinden. Weniger Berechnungen führen zu einer reduzierten Rechenzeitanforderung und somit zu einem effektiveren Systementwurf.
Im Rahmen der Masterarbeit soll anhand des Beispielsystems eines Verladekrans untersucht werden, inwieweit aus der Zustandsprädiktion zeitliche Einschränkungen und Schmutzeffekte zugelassen werden können. Diese Erkenntnisse sollen dazu verwendet werden, ein neues Anregungsmodell der Berechnungen zu erstellen und dadurch Auswirkungen auf einen Plattformentwurf zu veranschaulichen.
Die Masterarbeit wird in Kooperation des Institutes für Mess-, Regel- und Mikrotechnik und des Institutes für Eingebettete Systeme/Echtzeitsysteme durchgeführt.
Voraussetzungen sind gute Kenntnisse der Regelungstechnik sowie Grundlagen der Echtzeitsysteme und der Optimierung. Alternativ wird der Besuch der Vorlesung „Methoden der Optimierung und optimalen Steuerung“ parallel zur Masterarbeit empfohlen. -
Ausführungszeitanalyse Matlab/Simulink Real-Time Workshop
-
Bachelorarbeit
Bei der Implementierung eines digitalen Reglers entstehen, bedingt durch die Rechenzeit die der Regelalgorithmus beansprucht Verzögerungen. Diese haben einen negativen Einfluss auf das Verhalten des geschlossenen Regelkreises.
Ziel dieser Arbeit soll es sein, ein bestehendes Tool zur Bestimmung der worst-case execution time an die Codegenerierung des Real-Time Workshop von Matlab/Simulink anzukoppeln. Durch Annotierung der Ausführungszeiten in die Reglersimulation kann eine Überarbeitung der Reglerparameter und der Reglerstruktur auf Basis einer realistischeren Simulation erfolgen.
Nützliche Vorkenntnisse:
Erfahrungen im Umgang mit Matlab/Simulink
Ansprechpartner:
Produktivitätsmessung
Alle anzeigen / Alle verbergen
-
VDHL Compiler in JavaCC (Praktikum)
-
Zur Analyse von VHDL Code soll mit Hilfe des Java Compiler Compilers (JavaCC) eine Werkzeug implementiert werden, dass den gegebenen Code soweit analysiert, dass Rückschlüsse auf die Komplexität möglich sind. Es gibt bereits schon fertige VHDL Compiler die um weitere Eigenschaften erweitert werden müssen. Grundlegende Kenntnisse im Compilerbau sowie Java werden vorausgesetzt.
Ansprechpartner:
Benjamin Menhorn -
SystemC Compiler in JavaCC (Abschlussarbeit)
-
Zur Analyse von SystemC Code soll mit Hilfe des Java Compiler Compilers (JavaCC) eine Werkzeug implementiert werden, dass den gegebenen Code soweit analysiert, dass Rückschlüsse auf die Komplexität möglich sind. Dabei muss mit Hilfe der Spezifikation von SystemC die Grammatik eingepflegt werden. Grundlegende Kenntnisse im Compilerbau sowie Java werden vorausgesetzt.
Ansprechpartner:
Benjamin Menhorn -
SystemC Spezifikation (Abschlussarbeit)
-
Am Institut für Eingebettete Systeme/ Echtzeitsysteme wird ein Autonomes Unterwasserfahrzug (AUV) entwickelt. Hierzu werden verschiedene studentische Arbeiten angeboten. Ziel dieser Abschlussarbeit soll eine grundlegende Spezifikation von anstehenden Arbeiten sein, welche die Grundrichtung für die einzelnen Entwicklungen bietet. Dazu soll eine SystemC Spezifikation erstellt werden, welche zur Projektplanung eingesetzt werden soll. Diese soll es nach Abschluss der Projekte ermöglichen, Ist und Soll zu vergleichen.
Ansprechpartner:
Benjamin Menhorn -
Produktivitätsmessung (Abschlussarbeit)
-
Bis zum heutigen Zeitpunkt gibt es keine einheitliche Methode um die Produktivität von Softwareentwicklungen zu messen. Verschiedene Autoren schlagen die unterschiedlichsten Methoden vor, um eine adäquate Berechnung des Projektaufwandes zu bekommen.
Innerhalb der Arbeit sollen verschiedene Ansätze zur Produktivitätsmessung vergleichen werden. Dabei sollen alle relevanten Variablen herausgearbeitet werden, die nötig sind um die einzelnen Abschätzungen durchzuführen. Darunter fällt auch die nötige Modularisierung des Projektes.
Ansprechpartner:
Benjamin Menhorn -
Messung des Implementieraufwands (Praktikum)
-
Am Institut für Eingebettete Systeme/ Echtzeitsysteme wird von mehreren studentisches Mitarbeitern eine Softwareplattform „Effixis“ entwickelt. Diese soll als Datenquelle für die Abschätzungen dienen. Durch ein zu implementierendes Eclipse-Plugin soll eine automatische Erfassung der Variablen erfolgen.
Ansprechpartner:
Benjamin Menhorn
