Für die Master-Studiengänge biete ich in der Zeit vom 06.07.2020 (Beginn um 09:00 Uhr) bis 14.07.2020 einen Blockkurs zum Thema Automotive Software Engineering an unserem Standort "Autonome Systeme und intelligente Mobilität" in der Ostendstr. 82b (Raum SH8.314) an. Eine Vorbesprechung dazu findet am 07.05.2020 um 13:00 Uhr in der Hohfederstr. 40, Raum HQ.316 statt. Weitere Informationen finden Sie auf der Kurswebseite.

Lehre

Softwarearchitektur (Bachelor)

Dieser Kurs vermittelt grundlegende Techniken zum Entwurf, zur Beschreibung und zur Implementierung von großen, modularen Softwaresystemen. Zentraler Begriff der Vorlesung sind Patterns, welche als Grundprinzipien und Bausteine einer Softwarearchitektur verstanden werden können. Der Kurs führt Patterns auf verschiedenen Ebenen eines Softwaresystems ein: Auf Implementierungsebene (Programming Idioms), auf Ebene verschiedener Softwaremodule, Klassen und deren Zusammenspiel (Design Patterns), und schließlich als prototypische Struktur für ganze Anwendungen (Architectural Patterns). Muster werden anhand von Programmbeispielen veranschaulicht. Es werden mehrere Programmierübungen im Labor bearbeitet.

Weitere Informationen erhalten Sie im Modulhandbuch der TH Nürnberg.

Automotive Software Engineering (Master)

Dieser Kurs vermittelt ein grundlegendes Verständnis von Methoden und Prinzipien der automobilen Software-Entwicklung. Dazu gehören Kenntnisse über die Entwicklung von eingebetteten Systemen sowie über den Automotive Softwareentwicklungsprozess inklusive Anforderungsmanagement im Allgemeinen sowie zu AUTOSAR, als der zentralen Standardisierungsinitiative in der Automotive Domäne (dabei insbesondere die implementierungsnahen Beschreibungsmittel) und FlexRay, als ein zentraler, moderner Vertreter automobiler Bussysteme, im Besonderen. Die Lehrinhalte werden, neben der theoretischen Aufbereitung und Diskussion in den Vorlesungsteilen, zudem im Rahmen von Laborübungen von den Studierenden praktisch angewandt. Des Weiteren gestalten die Studierenden selbstständig Fachvorträge inklusive Übungseinheiten, in denen vertiefende Themen des Themenfeldes Automotive in strukturierter Form aufbereitet werden sollen.
Aufgelockert wird der Kurs durch kleinere praktische Einheiten am BMWi3, so beispielsweise Zugang zum CAN Bus und Zugriff auf verschiedene Steuergeräte.

Weitere Informationen erhalten Sie im Modulhandbuch der TH Nürnberg.

Automotive Systems Modelling (Master)

Dieser Kurs vermittelt grundlegendes Verständnis der Modellierung von automobilen Systemen. Dazu gehören sowohl Kenntnisse über die Entwicklung von eingebetteten Systemen als auch über den Automotive Softwareentwicklungsprozess im Allgemeinen. Dazu werden AUTOSAR und EAST-ADL verwendet, welche als Standard in der Automotive-Domäne zur Beschreibung der abstrakten Systemarchitektur gelten. Ein Schwerpunkt liegt dabei insbesondere auf der Initiative zur IT-Security und Zuverlässigkeit.

Die Lehrinhalte werden durch Anwendung in praktischen Laborübungen sowie durch analytische und gestalterische Tätigkeiten im Rahmen einer Literaturarbeit vertieft.

Weitere Informationen erhalten Sie im Modulhandbuch der TH Nürnberg.

Ausgeschriebene Projekte

NXP Cup

Bei diesem IT-Projekt können Studierende der Fakultät Informatik an einem internationalen Wettbewerb 2020 teilnehmen, bei dem autonom fahrende Modellautos auf hindernisgespickten Rennstrecken um Bestzeiten kämpfen. Da die zu Verfügung stehende Hardwarebasis für alle Teilnehmer identisch ist, wird die Rennperformance der Autos primär von der Qualität der eigens implementierten Embedded-Software beeinflusst. Weitere Informationen zum NXP Cup gibt es hier: https://community.nxp.com/groups/tfc-emea


Die Hardware wird von NXP gesponsert. Die Teilnahme am NXP Cup 2020 ist Teil des Projekts.

Entwicklung eines autonom fahrenden Modellfahrzeugs basierend auf AUTOSAR unter Verwendung der Vector Werkzeugkette

Basierend auf AUTOSAR soll ein autonom fahrendes Modellfahrzeug unter Verwendung der Vector Werkzeugkette entwickelt werden. Als Steuergerät wird das VC121 von Vector verwendet. Einschlägige Vorarbeiten liegen vor.

Kommunikation zweier Boards über Ethernet TCP/IP — Vorarbeiten vorhanden

Bei dem Projekt geht es darum, zwei TC29xT-Boards über einen Ethernet-Bus miteinander kommunizieren zu lassen. Die Boards sind mit einem LCD-Touch-Display ausgestattet. Idealerweise werden Eingaben über das Display an das andere Board gesendet und dort auf dem Display angezeigt.

Zur erfolgreichen Durchführung des Projekts ist die Einarbeitung in die Elektrobit Software (Tresos Studio) und einen Compiler (WindRiver oder Tasking) unabdingbar. Für beides liegen bereits ausführliche Informationen und Vorarbeiten vor.

Die benötigte Hardware und Software werden von der Hochschule gestellt. 

Versuche auf einem MultiCore-Board

Bei diesem Projekt sollen Software-Komponenten zwischen den Kernen eines TC29xT Board verschoben werden.

Zur erfolgreichen Durchführung des Projekts ist die Einarbeitung in die Elektrobit Software (Tresos Studio) und einen Compiler (WindRiver oder Tasking) unabdingbar. Für beides liegen bereits ausführliche Informationen und Vorarbeiten vor.

Die benötigte Hardware und Software werden von der Hochschule gestellt.

Entwicklung eines autonom fahrenden Modellfahrzeugs unter Verwendung einer 2D Kamera

Ein autonom fahrendes Modellfahrzeug soll unter Verwendung einer 2D Kamera entwickelt werden. Das Modellfahrzeug basiert auf dem NXP Bausatz; für die Anbindung der 2D Kamera kann man ein Raspberry Pi verwenden. Einschlägige Vorarbeiten liegen vor.

Laufende Projekte

OHMeta Runner Robotik

Für das akzeptierte Staedtler Projekt „Autonom fahrende Modellfahrzeuge basierend auf erklärbaren Meta Learning Klassifikatoren“ soll ein robuster und qualitativ hochwertiger Roboter-Bausatz für Forschung und Lehre, basierend auf den Vorerfahrungen bei der Fakultät efi, mit der hier intensiv zusammengearbeitet wird, entwickelt werden. Der Robotikaufbau soll eine performante Ausführung von ML Komponenten ermöglichen und alle relevanten Sensoren und Aktuatoren umfassen, die für eine autonome Bewältigung eines Parcours notwendig sind. Insbesondere umfasst der Bausatz ein modernes Fahrwerk mit elektrischen Motoren und Motorsteuerung, Akku und Batteriemanagement, Einplatinenrechner, Laserscanner, eine inertiale Messeinheit als Kombination mehrerer Inertialsensoren wie Beschleunigungssensoren und Drehratensensoren, Infrarot-Abstandssensoren, Ultraschallsensoren sowie ein Ackermann-Lenksystem.

Insgesamt sollen fünf baugleiche Robotikaufbauten erstellt werden, so dass diese als fakultätsübergreifende Plattform für innovative Lehrwettbewerbsformate genutzt werden können.

Abgeschlossene Projekte

Überarbeitung der Softwarearchitekturmaterialien auf Java 8 und in Auszügen auf Scala

In diesem Projekt geht es um die Überarbeitung der Übungsaufgaben (und teilweise der Vorlesungsmaterialien) des Kurses Softwarearchitektur auf Java8.

Realisierung einer Bluetooth-Schnittstelle zwischen einem Raspberry Pi und einem Arduino sowie Identifikation verschiedener Anwendungsszenarien

In diesem Projekt geht es um die Realisierung einer Bluetooth-Schnittstelle zwischen einem Raspberry Pi und einem Arduino sowie die Identifikation verschiedener Anwendungsszenarien basierend auf der Technologie sowie Anbindung an die bestehende Infrastrukture (AUTOSAR-basierte Steuergeräte). Die Arduinos müssen nicht miteinander kommunizieren, sondern nur mit dem zentralen RaspberryPi, der die Schnittstelle zur Infrastruktur darstellt. Arduinos sollen als dezentrale Peripherie angesehen werden und mit Sensoren sowie Aktoren bestückt werden, die über Bluetooth Daten an den RaspberryPi senden und empfangen können.

 

 

Evaluierung von virtuellen Desktops (Windows und Linux)

In diesem Projekt geht es um die Evaluierung der Fragestellung, ob virtuelle Desktops für die Arbeit der Studierenden an der Fakultät sinnvoll sind. Unsere Annahme ist, dass virtuelle Desktops den Studierenden ein orts- (unabhängig vom Aufenthaltsort), zeit- (unabhängig von den Laboröffnungszeiten) und device- (unabhängig vom verwendeten Gerät und Betriebssystem) unabhängiges Arbeiten ohne zusätzlichen Konfigurationsaufwand (start wherever you‘ve stopped) ermöglichen würde. Für dieses Projekt ist es notwendig, sich mit Windows Server 2012 (unter Anleitung unseres Laboringenieurs Herrn Robert Fischer) und mit einem Linux Server System (unter Anleitung unseres Laboringenieurs Herrn Peter Götz) zu befassen. Vertiefend geht es aber um Usability Untersuchungen sowie systematische Nutzeruntersuchungen.

Entwicklung eines OP-Management Systems mit einem Content Management System für das Klinikum Nord

In diesem Projekt geht es um die Entwicklung eines OP-Management Systems mit einem Content Management System. Die Anästhesisten haben sich bereits Gedanken diesbezüglich gemacht und eine einfache Version dieses Systems entwickelt. Allerdings ist der Wunsch, dieses in ein Content Management System zu übertragen, um es browserfähig (für das Intranet) zu machen. Dies ist das ideale Projekt, um die ganze Bandbreite der Entwicklung (beginnend bei der Analyse zusammen mit Stakeholdern bis hin zur Entwicklung und Schulung der Mitarbeiter) in einem interessanten Anwerndungsfeld zu erfahren.


Entwicklung eines optimalen Lego-Mindstorms Roboters

Wurde als Referenzprojekt für die Lehrveranstaltung Software Engineering bearbeitet.

Optimierung von Softwarearchitekturen

In diesem Projekt geht es um die Implementierung einer multikriteriellen Optimierungsanalyse für die Softwarearchitektur eines Fahrzeugsteuergerätes. Die Softwarearchitektur ist modelliert mit der EAST-ADL. Dabei setzen wir auf Vorarbeiten zweier IT-Projekte auf, die die Implementierung eines Eclipse Plug-in zur Generierung von Optimierungskandidaten sowie eine einkriterielle Optimierungsanalyse realisiert haben. Diese Optimierungskandidaten liegen als XML Dateien vor und sollen im Rahmen von diesem Projekt in Bezug auf unterschiedliche Ziele hin (beispielsweise Echtzeitverhalten/Durchsatz/Fehlerfortpflanzung/...) analysiert werden; die pareto-optimale Architektur dient dann als Basis für die Implementierung des Steuergerätes.
Die Arbeit findet statt im Rahmen eines Europäischen Forschungsprojektes (MAENAD) und bietet spannende Einblicke in die Forschung  der Automobiltechnik.
Gut wären Vorkenntnisse im Bereich JavaEclipse und XML.

Security für Fahrzeugsoftware

Der Schutz gegen böswillige Eingriffe in die Fahrzeugsoftware ist eine dringende Herausforderung, da das vernetzte Fahrzeug ein hohes Gefahrenpotenzial birgt. In diesem IT-Projekt soll der aktuelle Stand der Technik im Bereich der Security für Fahrzeugsoftware aufbereitet werden und anhand eines Beispielsmodells veranschaulicht werden.
Vorkenntnisse im Bereich Fahrzeugsoftware sind von Vorteil.

UML Profil für Rational Rhapsody

Rhapsody ist ein UML-Modellierungswerkzeug, das auch die Erstellung und Nutzung von UML-Profilen unterstützt. Es soll im Rahmen dieses Projekts ein EAST-ADL Profil für Rhapsody erstellt werden, so dass EAST-ADL Modelle in Rhapsody erstellt werden können.
Vorkenntnisse im Bereich UML sowie UML-Modellierungswerkzeuge wären von Vorteil.

Didaktisch aufbereitetes Referenzbeispiel in Java

In diesem IT-Projekt geht es um die Erstellung eines sauber implementierten Referenzbeispiels in Java, das auf den Vorarbeiten eines IT-Projekts aufbaut. Aufgabe ist hierbei, eine sauber implementiertes Java Programm zu erstellen, das den Vorgaben des Clean Code genügt und die Anwendung unterschiedlicher Entwurfsmuster und Programmieridiome zeigt. Beispiele für Konzepte, die anhand des Javaprogramms gezeigt werden sollen: Mixin, Defensive Kopien, Bridge, Proxy, richtige Kommentierung... Das Architekturmuster Model-View-Controller ist in der Vorarbeit bereits sehr erfolgreich realisiert.
Anhand dieser Arbeit erhöht man die eigene Sensibilität für sauberes Programmieren und bietet zusätzlich ein gutes Gerüst, von dem andere Studierende lernen können, da dieses Beispiel in der Lehre und in meinen Skripten verwendet werden soll.
Gut wären Vorkenntnisse im Bereich der Programmierung von Java sowie der genannten Programmierkonzepte.

Ausgeschriebene Abschlussarbeiten

Bachelorarbeit zum Thema "Empirische Untersuchung zur Zukunft des autonomen Fahrens"

In der Arbeit soll empirisch untersucht werden, wie sich das Verhalten im Verkehr ändern wird, wenn das voll autonome Fahren etabliert sein wird. Im Rahmen der Szenariotechnik oder der Zukunftswerkstatt sollen künftige Nutzungsszenarien erarbeitet und deren Plausibilität empirisch analysiert werden.

Bachelorarbeit zum Thema "Implementierung und Analyse der Effektivität von Prototype Neural Networks"

Weshalb ein Machine Learning-System zu einer bestimmten Ausgabe kommt, ist bisher für Menschen nur schwer nachvollziehbar. Warum wurde beispielsweise eine Katze auf einem Bild als eine Katze erkannt? Machine Learning-Ausgaben zu erklären ist ein heiß diskutiertes Thema in Forschung und Industrie. Bisher gibt es bereits vielversprechende Ansätze.


Ein interessanter, obwohl wenig diskutierter, Ansatz sind Prototype Neural Networks zur Erkennung von Bildern. Es handelt sich hierbei um Neuronale Netze, welche ein besonderes Layer besitzen, ein sogenanntes Prototype Layer. In diesem Layer ist für jede Ausgabeklasse ein Referenzbild abgespeichert, mit welchen die Eingabe verglichen wird. Durch das Berechnen der Ähnlichkeit der Eingabe zu den Referenzbildern, wird eine Annäherung geschaffen, welche als Erklärung genutzt werden kann.


In dieser Abschlussarbeit soll ein Prototype Neural Network, bspw. für den Datensatz cifar-10 (https://www.cs.toronto.edu/~kriz/cifar.html), implementiert und seine Effektivität analysiert werden. Die Hauptfrage ist, ob sich Prototype Neural Networks eignen, Ausgaben angemessen zu erklären. Gegebenenfalls können Verbesserungen für Prototype Neural Networks herausgearbeitet oder die Auswirkungen von Adversarial Examples auf die Ausgaben und Erklärungen analysiert werden.


Literatur:
Li, O., Liu, H., Chen, C., & Rudin, C. (2017). Deep Learning for Case-Based Reasoning through Prototypes: A Neural Network that Explains Its Predictions. https://aaai.org/ocs/index.php/AAAI/AAAI18/paper/view/17082

Bachelorarbeit zum Thema "Analyse der Robustheit von LIME"

Deep Neural Networks (DNN) gelten derzeit als das effektivste und mächtigste Machine Learning (ML)-Verfahren schlechthin zur Verarbeitung komplexer Sachverhalte, beispielsweise der Erkennung von Objekten in einem Bild. DNNs sind hochkomplex, sodass der Output (die Klassifikation des Inputs) von Menschen kaum nachvollzogen werden kann, beispielsweise weshalb eine Katze auf einem Bild als Katze erkannt wurde. Erklärungen der Entscheidungen eines ML-Modells sind jedoch essentiell  für die Akzeptanz der Systeme innerhalb der Gesellschaft. Bisher gibt es bereits unterschiedliche Ansätze um die Relevanz bestimmter Eingabepunkte (so beispielsweise einzelner Pixel bei Bildern oder Schlüsselwörtern bei Texten) für die Ausgabe zu identifizieren. Einer der bekanntesten eXplainable AI (XAI)-Ansätze ist LIME (Local Interpretable Modelagnostic Explanations). LIME kreiert für jede zu erklärende Ausgabeklasse ein Referenzmodell, anhand dessen es die Relevanz der Eingabepunkte zur Ausgabe definiert. LIME akzeptiert unterschiedliche Parameter und bietet verschiedene Vorgehensweisen an, die Ausgaben zu erklären.

Ziel dieser Abschlussarbeit ist es, herauszufinden, wie sich das Verändern von Parametern oder Vorgehensweisen auf die Qualität der Erklärungen auswirkt.

Literatur:
Ribeiro, M. T., Singh, S., & Guestrin, C. (2016). “Why Should I Trust You?”: Explaining the Predictions of Any Classifier. KDD ’16 Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 1135–1144.https://doi.org/10.1145/2939672.2939778
Alvarez-Melis, D., & Jaakkola, T. S. (2018). On the Robustness of Interpretability Methods, (Whi). Retrieved fromhttp://arxiv.org/abs/1806.08049

Bachelorarbeit zum Thema "Spezialsoftware überall - Evaluierung von Virtual Desktop Infrastrukturen für die Lehre"

Mit dem Einzug der Digitalisierung benötigt die Lehre eine Revision. Virtuelle Desktops können das Arbeiten ortsunabhängig erleichtern und auch Bring-Your-Own-Device etablieren. In dieser Arbeit sollen Möglichkeiten und erhältliche Software für das Aufsetzen einer Infrastruktur mittels Server und mehreren Thin-Clients analysiert und bewertet werden. In die Bewertung sollen qualitative und quantitative Eigenschaften sowie die Kosten und der Ressourcenverbrauch der Software mit einfließen. Anschließend soll aufbauend auf der Bewertung eine prototypische Infrastruktur aufgesetzt werden. Als Server dient hierbei eine VM, welche beim Rechenzentrum gehostet wird. Als Thin-Client soll jeder beliebige Rechner genutzt werden können. Als erster Test soll diese Infrastruktur einen Virtual Desktop mit der Software des Automotive Software Labors verfügbar machen. Dieser Anwendungsfall ist insbesondere interessant, da auch die Übermittlung von über USB angeschlossener Hardware an den Server möglich sein muss. Als Ergebnis sollte der Fakultät Informatik eine Empfehlung ausgesprochen werden, wie solch eine Infrastruktur möglichst zuverlässig und kostengünstig umzusetzen ist.

Masterarbeit zum Thema "Analyse der Schutzmechanismen vor einem Reverse Shell Angriffsvektor auf ein Automotive Infotainment System via Fernzugriff anhand einer Machbarkeitsstudie"

In diesem Projekt geht es um die Untersuchung der Security-Mechanismen eines automotiven Infotainment-Systems. Durch einen Reverse-Shell-Angriffsvektor wird versucht, die Kontrolle über das Infotainment-System via Fernzugriff zu erlangen und generische Nachrichten über das eingebaute CAN-Interface zu versenden. Durch den Angriff werden ggf. Sicherheitslücken und die Machbarkeit eines Angriffs über kabellose Kommunikation aufgezeigt.


Vorkenntnisse im Bereich Automotive und/oder Security sind vorteilhaft.

Themenbörse

Im Rahmen von Forschungsprojekten und Promotionen ergeben sich regelmäßig Themen, die für studentische Abschlussarbeiten geeignet sind. Studierende können sich im Rahmen von Abschlussarbeiten durch die eigenständige Umsetzung ausgewählter Teilaufgaben an der Umsetzung des Gesamtprojektes beteiligen.

Konkrete Themen wären beispielsweise:

  • Anwendung und Umsetzung von Ansätzen der eXplainable Artificial Intelligence (XAI) bei autonomen Roboterfahrzeugen
  • IT-Sicherheit bei Automotive Software
  • Werkzeugunterstützung für die Automotive Architekturbeschreibung mit der EAST-ADL

Abschlussarbeiten in diesem Bereich sind stark an industriellen Belangen (vor allem der Automobilindustrie) orientiert und haben gleichzeitig einen hohen wissenschaftlichen Anspruch.

Des Weiteren ergeben sich durch unsere Kooperationspartner, unter anderem Elektrobit, Continental, Audi, Infineon, Intence, Timing Architects, Volvo, XKrug, industrielle Forschungsfragen, die in enger Zusammenarbeit mit der Industrie im Großraum Nürnberg zu bearbeiten sind. Das Themenspektrum ist hier sehr groß, umfasst aber insbesondere das Automotive Software Engineering, also neben EAST-ADL und AUTOSAR auch die Entwicklung von Echtzeitsystemen allgemein, Bussysteme sowie Entwicklungsumgebungen für die Implementierung von eingebetteten Systemen.

Bei Interesse an den genannten Themen können Sie sich gerne an Professor Tavakoli wenden.

Konkrete Vorgaben, die an eine Abschlussarbeit gestellt werden, finden Sie hier.

Anmeldezeitraum für Abschlussarbeiten

Sie wollen eine Abschlussarbeit (Bachelor-/Masterarbeit) bei Professor Tavakoli als Erst- oder Zweitkorrektor schreiben? Dann können Sie sich für eine Betreuung im Wintersemester in der Zeit vom 15.05.-15.07. und für eine Betreuung im Sommersemester in der Zeit vom 15.12.-31.01. bewerben.

WICHTIG: Bitte denken Sie daran, dass das gesamte Bewerbungsverfahren inklusive der offiziellen Anmeldung der Abschlussarbeit in dem angegebenen Zeitraum abgeschlossen sein muss. Spätere Anmeldungen der Abschlussarbeiten werden nicht akzeptiert.