Hasso-Plattner-Institut
Prof. Dr. Holger Giese
 

Performancebewertung von UML-Modellen für automotive Software

Bachelorprojekt im Wintersemester 2007/08 und Sommersemester 2008

UPDATE: Projektergebnisse

Das Bachelorprojekt wurde beim Bachelorpodium am 27. Juni 2008 präsentiert. Die von den Studierenden verfasste Pressemitteilung sowie die Aufzeichnung vom Vortrag beim Podium bieten eine Zusammenfassung der Projektergebnisse.

Hintergrund

Die Softwareentwicklung und -wartung von automotiven Systemen stellt eine der großen aktuellen und zukünftigen Herausforderung für die Automobilindustrie dar, da inzwischen 80% der Innovationen im Automobil durch Software realisiert werden und die Komplexität automotiver Software augenblicklich deswegen rapide ansteigt. Ein Ansatz, diesem zu begegnen, ist der Einsatz von UML zur Modellierung der Software. Ziel ist es, dem steigenden Entwurfs- und Entwicklungsaufwand dadurch zu begegnen, dass die Architektur und Verteilung der Software frühzeitig geplant und dokumentiert wird. Solch eine frühzeitige Festlegung der Architektur und der Verteilung bietet dann auch die Grundlage für die Wiederverwendung von Softwarekomponenten in verschiedenen Fahrzeugtypen, der Entwicklung und Integration komplexer Software über mehrere Hersteller, Zulieferer und Unterauftragnehmer hinweg, und der Beherrschung komplexer Entwicklungsaufgaben in den einzelnen beteiligten Unternehmen.

Ressourcenbedarf und Zeitverhalten, beides Größen, die für den zuverlässigen Betrieb und die Wirtschaftlichkeit der Software im Automobil von entscheidender Bedeutung sind, hat man früher für eher isolierte Funktionen gut auf Basis der Erfahrung abschätzen können. Das bisherige Vorgehen hat dabei dazu geführt, dass heutzutage Fahrzeuge die bis zu 10 Mio. LOC beinhalten über bis zu 80 verschiedene eingebettete Prozessoren (ECUs) verfügen und über mit bis zu 4 Feldbussen (CAN, LIN, MOST, FlexRay) Nachrichten austauschen (siehe Graphik). In Zukunft wird erwartet, dass mehr Funktionen auf komplexeren ECUs realisiert werden, so dass das oben beschriebene einfache Vorgehen aufgrund der Wechselwirkung zwischen den verschiedenen Funktionen nicht mehr so ohne weiteres möglich ist. Vielmehr benötigt man Techniken, die einem erlauben frühzeitig alternative Architekturentwürfe bzgl. Ressourcenbedarf und Zeitverhalten zu bewerten und systematisch zu vergleichen.

Gegenstand

In diesem Projekt soll ein methodisches Vorgehen entwickelt werden, das es erlaubt, während der Entwicklung einer Software-Funktion durch Einsatz entsprechender Analysetechniken entsprechende Prognosen abgeben zu können bzw. Architekturalternativen auf ihre Eignung im Hinblick auf Performance und Ressourcenbedarf hin zu vergleichen. Das methodische Vorgehen soll sich möglichst in die vorhanden Abläufe bei Herstellern und Zuliefern integrieren lassen bzw. Vorschläge für Änderungen aufzeigen, die notwendig wären, um die gewünschten frühzeitigen Analysen zu ermöglichen. Das methodische Vorgehen soll sich wo möglich am UML Standard und entsprechenden UML Profilen orientieren und identifizieren, welche Spezifikationsmöglichkeiten in UML für die Erreichung der Ziele genutzt werden können bzw. welche Erweiterungen notwendig wären, um die Ziele erreichen zu können. Eine dabei zu klärende Frage ist es auch, wie neben der Spezifikation des betrachteten Systems die konkreten Anforderungen und das ggf. notwendige Umgebungsmodell beschrieben werden können.

Darüber hinaus soll prototypisch eine Lösung zur Analyse von Architekturalternativen, die mit der entwickelten Erweiterung des UML Standards beschrieben wurden, umgesetzt werden. Dazu soll eine Abbildung der UML-Modelle auf Task-Modelle entwickelt werden, die dann wiederum mit dem INCHRON Werkzeug chronSim zur Simulation von Echtzeitsystemen analysiert werden können. Die Analyseergebnisse sollen danach entsprechend auf die Abstraktionsebene der UML-Modelle zurück projiziert werden. Ziel der Analysen soll es sein, aus den dann vorliegenden Analysemodellen entsprechende Prognosen oder Entscheidungshilfen für die konkreten Fragen im Hinblick auf Performance und Ressourcenbedarf abzuleiten zu können.

Wesentliche Schritte im Rahmen des Bachelorprojektes werden also sein:

  • Identifikation der konkreten Anforderungen
  • Analyse der UML in Bezug auf Echtzeit, Ressourcen und Performance
  • Konzeption einer Lösung für die Modellierung von Echtzeit, Ressourcen und Performance mit UML (wenn nötig, auch eine entsprechende Erweiterung des Standards)
  • Konzept zur (semi-)automatischen Übersetzung von ggf. erweiterten UML-Modellen auf Task-Modelle
  • Konzept zur (semi-)automatischen Übersetzung von Analyseergebnissen für die Task-Modelle zurück zu den ursprünglichen UML-Modellen
  • Prototypische Umsetzung der Konzepte in einem Werkzeug (ein UML-Werkzeug und das INCHRON Werkzeug zur Simulation werden integriert)
  • Evaluierung der prototypischen Umsetzung

Das Bachelorprojekt kann bei der Umsetzung der Konzepte auf vorhandene Technologien für Integration von Modellen und Modelltransformationen zurückgreifen.

Umfeld

Das Projekt wird in Zusammenarbeit mit der INCHRON GmbH, einer der Firmen des Hasso Plattner Ventures in Potsdam, durchgeführt. Die Studierenden werden im Rahmen der Kooperation mit INCHRON als Auftraggeber interagieren. Dies gilt insbesondere für die Erfassungen der Anforderungen, aber auch für die Evaluierung der Ergebnisse des Projekts.

Es ist zu erwarten, dass bei erfolgreicher Bearbeitung nach Abschluss des Projekts auch eine studentische Beschäftigung am HPI oder bei INCHRON und entsprechende Masterarbeiten in Kooperation zwischen HPI und INCHRON möglich sind.

Organisation

Die Vorgehensweise im Projekt wird methodisch auf die Erfassung der Anforderungen und der Entwicklung von Vorgehensweisen und Prototypen ausgerichtet. Durch zeitlich kurze Iterationen und entsprechende Feedbackschleifen mit dem Auftraggeber soll während der gesamten Projektphase ein zielorientiertes Vorgehen erreicht werden.

In der Vorbereitungsphase werden fachliche Grundlagen zu den Themen automotive Software, Performanceanalysen, Meta-Modellierung, Modelltransformation, Modellsynchronisation und Werkzeugintegration vermittelt und es werden vorhandene Modelle und Werkzeuge entsprechend auf die geplante Integration hin betrachtet. Dazu werden beispielhaft ausgewählte Aufgabenstellungen exemplarisch einzeln oder in kleineren Teams bearbeitet und dem Gesamtteam vorgestellt.

Studierende, die in diesem Projekt teilnehmen wollen, sollten Interesse an der modellbasierten Entwicklung und an technischen Systemen haben. Es wird weiter erwartet, dass man sich in die zum Einsatz kommenden Methoden des Software-Engineering während des Projekts einarbeitet.

Kooperation

Für ausführliche Information zu dem Projekt steht Prof. Dr. Giese (Haus A, A-2.5) zur Verfügung. Ansprechpartner Seitens der INCHRON wird während des Projektes Herr Dr. Münzenberger sein.