Embedded Systems in Automotive & Avionic

AADL 4 Real Time Java

Projektstart: 01.01.2016

 

Projektträger: Universität Augsburg

 

Projektverantwortung vor Ort: Thomas Driessen

 

 

Zusammenfassung

Im Bereich des Software Engineering ist es allgemein bekannt, dass die Kosten zur Behebung eines Fehlers immer höher werden je später er gefunden wird. Dies trifft insbesondere dann zu, wenn es sich bei dem zu entwickelndem System um ein eingebettetes oder sicherheitskritisches System handelt, bei dem nicht nur die Software sondern auch die dazugehörige Dokumentation oder Hardware von Änderungen betroffen ist.

 

In diesem Kontext versucht das Model-Driven Development (MDD) mehrere Aspekte der Implementierung der Software eines Systems bereits in frühere Phasen der Entwicklung vorzuverlagern, z.B. in die Software- oder System-Design-Phase. In dieser Arbeit konzentrieren wir uns deswegen darauf, die Timing- und Interkomponenten-Kommunikationsaspekte von der Implementierungsphase in die System-Design-Phase vorzuziehen.

 

Unser Ansatz verwendet die "Architecture Analysis and Design Language" (AADL), welche speziell für Spezifikation, Analyse, automatisierte Integration und Codegenerierung von Echtzeit, performancekritischen und verteilten Computer-Systemen entworfen wurde. Die AADL bietet unter anderem standardisierte Semantiken für das Timing und die Interkomponenten-Kommunikation von Software-Kopmonenten in einem System. In unserem Ansatz nutzen wir diese Semantiken um ein Mapping zwischen der AADL und der "Real-Time Specification for Java" (RTSJ) zu definieren. Die RTSJ ist eine Erweiterung vom Standard-Java für harte und weiche Echtzeit-Applikationen. Mittels einer Implementierung dieses Mappings generieren wir anschließend AADL-Semantik-konformen RTSJ-Code, welcher das im AADL-Modell definierte Verhalten bezüglich Timing und Interkomponenten-Kommunikation aufweist. Somit ist ein System-Designer in der Lage einerseits Kommunikations und Timing-bezogene Analysen bereits in der Design-Phase durchzuführen und andererseits kann er sicher sein, dass die anschließende Implementierung seine Designentscheidungen wiederspiegelt. Gleichzeitig werden Programmierer von der monotonen und sich wiederholenden Aufgabe befreit, Kommunikations- und Timing-Code zu schreiben.

 

Die Anwendung unseres Ansatzes wird mittels der Implementierung eines Autopiloten für Quadrocopter gezeigt. Zu diesem Zweck wird die Software des Quadrocopters komplett in AADL modelliert und anschließend durch unsere Implementierung generiert. Diese Fallstudie weißt drei Vorteile gegenüber einer Implementierung ohne Codegenerierung auf:

  • Eine schnellere Entwicklung, da die Programmierer sich auf die Applikationslogik konzentrieren können, anstatt immer wieder den gleichen Code für Timing und Kommunikation zu schreiben.
  • Ein weniger fehleranfälliger Übergang vom Design zur Implementierung
  • Die Möglichkeit einer früheren Entdeckung von Timing oder Kommunikations bezogenen Fehlern im System

 

Unsere weiteren Forschungen in diesem Gebiet beschäftigen sich mit der Integration von Sicherheitsaspekten in unseren bestehenden Ansatz, wie z.B. Fehler-Propagierung, indem wir die Mechanismen des "Asynchronous Transfer of Control" (ATC) von RTSJ ausnutzen.

Für weitere Informationen kann folgende Webseite besucht werden:  MBE for Autonomous Vehicles with Real-Time Java and AADL

Multi-Concerns Engineering for Safety-Critical Systems

Projektstart: 01.01.2014

 

Projektträger: Universität Augsburg

 

Projektverantwortung vor Ort: Philipp Lohmüller

 

 

Zusammenfassung

Sicherheitskritische Systeme finden heutzutage Anwendung in diversen Domänen, darunter z.B. auch im Automotive Bereich. Aufgrund der zahlreichen Features welche heutzutage in den Endprodukten verbaut sind, kann es jedoch vorkommen, dass sicherheitskritische Concerns wie z.B. Safety, Security oder Timing verletzt werden. Es ist Ziel dieses Projektes, einen optimalen Trade-Off zu gewährleisten, um einen maximalen Grad an Safety zu ermöglichen. Des Weiteren ändern sich heutzutage oft die Requirements, was dazu führt, dass auch sicherheitskritische Komponenten betroffen sind und nicht einfach ausgetauscht werden können, da diese von diversen anderen Komponenten abhängig sind. Deshalb wird in diesem Projekt eine Change Impact Analyse vorgestellt, welche all solche Komponenten ermittelt. Außerdem können heutzutage sicherheitskritische Produkte wie z.B. ein Automobil über ein Baukastensystem konfiguriert werden. So gibt es für einen heutigen Kompaktwagen beispielsweise mehre Millionen Möglichkeiten. In diesem Zusammenhang reden werden von (Software) Produktlinien. Jedoch weist nicht jede Produktlinie die identischen Sicherheitsmerkmale auf. Deshalb werden in diesem Projekt Komponenten mit ähnlichen Sicherheitsfeatures ermittelt, um die Komplexität und den Aufwand zu reduzieren.

ARAMiS II

Projektstart: 01.10.2016

 

Projektende: 30.09.2019

 

Projektträger: BMBF (Bundesministerium für Bildung und Forschung)

 

Projektverantwortung vor Ort: Bernhard Bauer

 

Beteiligte WissenschaftlerInnen der Universität Augsburg:

Christoph Etzel
Christian Saad

Julian Kienberger

 

 

Zusammenfassung

Entwicklungsprozesse, Werkzeuge und Plattformen für sicherheitskritische Multicore-Systeme.

 

 

Offizielle Webseite von ARAMiS II

AutoAnalyze

Projektstart: 01.01.2016

 

Projektträger: Universität Augsburg

 

Projektverantwortung vor Ort:

Christian Saad 

Julian Kienberger

 

 

Zusammenfassung

Für automobile Steuergerätesoftware stellt AUTOSAR ("Automotive Open Systems ARchitecture") den De-Facto-Standard einer einheitlicher Softwarearchitektur mit einheitlichen Beschreibungs- und Konfigurationsformaten dar. Allerdings mangelt es derzeit noch an Tools, die direkt auf AUTOSAR-Modellen arbeiten und keine proprietären (und oftmals stark vereinfachte) Zwischenmodelle verwenden.

Das an unserer Professur in Zusammenarbeit mit der Continental Automotive GmbH entwickelte Tool "Auto Analyze" führt auf der feingranularsten AUTOSAR-Ebene eine Datenfluss-Analyse durch, visualisiert die Abhängigkeiten zwischen den funktionalen Blöcken, spürt potentielle Datenkonsistenz-Konflikte auf und unterstützt bei deren Auflösung z.B. mit dem Setzen, Modifizieren oder Entfernen von Timing Constraints. So wird das Modell für eine Ausführung auf Single- und Multicore-Plattformen validiert.

Da für die Ausführung auf Multi-Core-Plattformen in den allermeisten Fällen keine Neuentwicklung der Software, sondern eine Migration der bestehender (Single-Core-)Applikation stattfindet, unterstützt das Tool zudem auch bei der dafür notwendigen Partitionierung der Software (Zerlegung in disjunkte Teile) sowie dem anschließenden Mapping (Zuweisung der Teile an Kerne/Ausführungseinheiten) mithilfe einer vorher durchgeführten Regionen-Analyse und daraus abgeleiteten initialen Lösungen.

 

 

Beschreibung

 

© Universität Augsburg

Automotive Software Engineering Lab

Projektstart: 01.07.2012

 

Projektträger: Universität Augsburg

 

Projektverantwortung vor Ort:

Andrea Fendt

Reinhard Pröll

 

 

Zusammenfassung

Heutzutage werden Innovationen im Automobil überwiegend in Software realisiert, weswegen sich in modernen Fahrzeugen mittlerweile teilweise über 100 Steuergeräte befinden, die über verschiedene Kommunikationskanäle miteinander interagieren müssen. Um die Entwicklung solcher automobiler Software entlang des V-Modells zu erlernen, soll das Automotive Software Engineering Lab Studierenden den Zugang zu branchen-spezifischen Werkzeugen und realer Hardware ermöglichen. In abgeschlossenen Übungseinheiten werden Standards, Protokolle und Modelle erklärt und gleichzeitig praxisnah angewendet. Das Automotive Lab ermöglicht die Simulation eines Fahrzeugs und seiner Umgebung und zeigt, wie mehrere Steuergeräte im Zusammenspiel über ein FlexRay-Bussystem ausgewählte Funktionen innerhalb des Fahrzeugs bereitstellen. Durch eine kommerzielle Auto-Simulationssoftware könne Softwareteile durch eine eigene Software ersetzt werden und somit im realen Umfeld verifiziert werden.

Autonomous Driving Lab

Projektstart: 01.01.2016

 

Projektträger: Universität Augsburg

 

Projektverantwortung vor Ort:

Reinhard Pröll

 

 

Zusammenfassung

Im Rahmen des Autonomous Driving Lab werden innovative Konzepte im Bereich des autonomen Fahren im Straßenverkehr erforscht und anhand realitätsnaher Fahrzeugmodelle im Maßstab 1:8 erprobt.

Hierbei werden aktuelle Herausforderungen der Fahrzeugindustrie, als auch der Forschung adressiert und mittels ganzheitlichen und dennoch flexiblen Lösungsansätzen bewältigt.

Avionic Software Engineering Lab

Projektstart: 01.07.2012

 

Projektträger: Universität Augsburg

 

Projektverantwortung vor Ort:

Thomas Driessen

Adrian Rumpold

 

 

Zusammenfassung

Das System eines Luftfahrzeugs zeichnet sich insbesondere durch seine starke Dezentralität, hohe Sicherheitsanforderungen und verpflichtende Qualifizierung aus. Um die Besonderheiten der Softwareentwicklung im Bereich Avionik praxisnah näher zu bringen und um Grundkenntnisse in dieser Domäne zu vermitteln, wurde das Avionik Lab ins Leben gerufen. Das Avonik Lab findet in enger Kooperation mit unseren Industriepartnern statt. Es besteht aus einem Simulator (X-Plane), verschiedenen Embedded Rechnern (Beaglebone Black, Raspberry Pi 2), mehreren Arbeitsplatzrechnern, die mit domänen-spezifische Werkzeugen zur Entwicklung und zum Testen ausgestattet sind und einem Quadrocopter von Erlebrain, auf welchem die Software letztendlich laufen soll. In unserem Praktikum, in welchem die Funktionen eines Autopiloten zu implementieren/erweitern sind, werden Avionik-spezifische Inhalte, wie Standards, Vorgehensmodelle, Qualifizierung oder Programmiersprachen in einer realen Test-Umgebung vermittelt. Durch direkten Kontakt mit unseren Partnern aus der Industrie sollen den Studenten auch praktische Einblicke in die Avionik Industrie aus vergangenen, aktuellen und zukünftigen Projekten gegeben werden und somit einen leichten Einstieg in die Branche ermöglichen.

Layered-V

Projektstart: 01.10.2012

 

Projektende: 30.09.2014

 

Laufzeit: 2 Jahre

 

Projektträger: FuE-Programm "Informations- und Kommunikationstechnik"des Freistaates Bayern

 

Projektverantwortung vor Ort: Bernhard Bauer

 

Beteiligte WissenschaftlerInnen der Universität Augsburg:

Benjamin Honke
Thomas Driessen

Philipp Lohmüller

 

 

Zusammenfassung

Das V-Modell ist ein Entwicklungsstandard, der in der Regel für Softwareprojekte als Vorgehensmodell genutzt wird. In der Luft- und Raumfahrt findet dieser Standard eine hohe Akzeptanz und wird dementsprechend in den meisten Fällen als Grundlage für die Projektentwicklung eingesetzt. Dabei werden die einzelnen Prozessdisziplinen von Anforderungsanalyse über SW Design und Entwicklung bis zum Testen in einzelnen Phasen organisiert. Durch die Erweiterung zum V-Modell XT sind die Abläufe standardisiert und anpassbar auf unterschiedliche Projektsituation. Das V-Modell ist definitiv die Grundlage, muss jedoch aufgrund fehlender Erfassung der Komplexität und den dazugehörigen domainspezifischen Prozessen, Standards, Methoden und Tools auf das zu entwickelnde System/Produkt mit einem Prozessrahmen (process framework) und Datenmodell (data model) erweitert werden. Diesen Prozessrahmen und das dazugehörige Datenmodell gibt es in den heutigen Ansätzen nicht und soll in diesem Projekt als erweiterte Lösung basierend auf der Methode „Layered V-Model“ vorgestellt werden.

WEMUCS

Projektstart: 14.12.2012

 

Projektende: 14.12.2014

 

Laufzeit: 2 Jahre

 

Projektträger: FuE-Programm "Informations- und Kommunikationstechnik" (IuK Bayern)

 

Projektverantwortung vor OrtJulian Kienberger

 

 

Zusammenfassung

WEMUCS steht für "Methoden und Werkzeuge zur iterativen Entwicklung und Optimierung von Software für eingebettete Multicore-Systeme" und ist ein durch das Forschungs- und Entwicklungs-Programm “Informations- und Kommunikationstechnik Bayern” (IuK Bayern) gefördertes Projekt. Verbundpartner sind die Unternehmen Gliwa, Infineon, Lantiq, Lauterbach, sepp.med, Siemens, Timing-Architects und TWT. Assoziierter Partner ist Continental. Zudem sind noch die Forschungseinrichtungen Fraunhofer ESK, die Friedrich-Alexander Universität Erlangen-Nürnberg (Lehrstuhl für Programmiersysteme) und wir, die Professur Softwaremethodik für verteilte Systeme, an den vier großen Arbeitspaketen beteiligt.

 

 

WEMUCS-Homepage

Suche