DCAITI
Software Engineering

Software Engineering

Im Arbeitsgebiet Software Engineering in der Fahrzeugentwicklung werden neue Verfahren und methodische Herangehensweisen für die Entwicklung und Qualitätssicherung von eingebetteten Softwaresystemen im automobilen Umfeld entwickelt und bei der Daimler AG angewandt und erprobt.

Die laufenden und abgeschlossenen Forschungsarbeiten umfassen Methodik und Qualitätssicherungsmaßnahmen in nahezu allen Bereichen des Softwareentwicklungsprozesses: von der Spezifikation der Anforderungen, über die Modellierung von Software bis hin zu den Testverfahren. Im Bereich modellbasierte Softwareentwicklung liegt der Fokus aktuell auf Techniken zur Synchronisierung von grafischen und textuellen Darstellungen von Modellen mit dem Ziel, die Vorteile der Darstellungsarten optimal zu verknüpfen. Im Bereich Requirements und Test Engineering forschen wir derzeit an Verfahren zur automatischen Generierung von Testfällen aus natürlichsprachlichen Anforderungsspezifikationen. Im Bereich Safety forschen wir an Wissensrepräsentation in Expertensystemen, die die Entscheidungsfindung in Safety Analysen erleichtern. Im Bereich digitale Erprobungsfahrt forschen wir an einem Framework zur Realisierung von digitalen Erprobungsfahrten, bei denen möglichst realistische Fahrszenarien in Form von Simulationsstests virtuell erprobt werden können.

Modellbasierte Softwareentwicklung

Die Beherrschung der steigenden Komplexität stellt im Automotive Software Engineering eine große Herausforderung dar. Zum Umgang mit dieser Komplexität werden in allen Ebenen der Entwicklung innovative Ansätze verwendet. Im Bereich der Spezifikation von Elektrik/Elektronik-Systemen werden zur Beschreibung von deren Verhalten grafische Modelle eingesetzt. Sowohl die Lesbarkeit von grafischen Modellen als auch ihre Anschaulichkeit zählen gegenüber textuellen Spezifikationen zu den häufig erwähnten Vorteilen. Dennoch kann auf eine textuelle Repräsentation der Informationen eines grafischen Modells oftmals nicht verzichtet werden.

Gründe dafür liegen in der rechtlichen Verbindlichkeit von textuellen Lastenheften und darin, auch Nutzern den Gebrauch der Spezifikation zu ermöglichen, die nicht für die Nutzung von grafischen Modellen geschult sind. In diesem Bereich arbeiten wir an der Automatisierung von Teilschritten in dem Spezifikationsprozess. Insbesondere die daraus resultierenden Ersparnisse an Zeit und Zugewinne an Qualität der Spezifikationsdokumente stellen eine Priorität des Vorhabens dar.

Weitere aktuelle Ansätze zielen auf die Unterstützung der Modellierer bei der Spezifikation von Fahrzeugfunktionen. Auch hier besteht Potenzial zur Automatisierung durch das Aggregieren von Daten aus Modellen sowie durch das Bereitstellen von Vorschlägen zur Verbesserung der Modellqualität.

S
Synchronisierung von grafischen und textuellen Darstellungen

Ansprechpartner: Martin Beckmann

Requirements und Test Engineering

Die Tätigkeiten in den oberen Ebenen des V-Modells sind durch das Bearbeiten von Dokumenten charakterisiert. Hier bedarf es durchgängiger Methoden und Praktiken, die von Dokument zu Dokument einheitlich angewendet werden. Durch strukturell und inhaltlich vergleichbare Anforderungen in System- und Komponentenlastenheften können automatisiert Testspezifikation für ein einheitliches Testkonzept abgeleitet werden.

Die Ähnlichkeit von Anforderungen kann durch die Vorgabe und Umsetzung von Templates sichergestellt werden. Dabei können Templates sowohl strukturell für Kapitelüberschriften/Inhaltsverzeichnis eingesetzt werden, in dem Sinne, dass bspw. alle Anforderungsdokumente mit deren Anforderungen entsprechend nach Komponenten und Systemen aufgeteilt werden. So können einzelne Anforderungen auch untereinander verlinkt werden, falls diese in Relation zueinander stehen (z.B. eine Abhängigkeit von Daten). Eine weitere Möglichkeit besteht in der Anwendung von sogenannten Satzschablonen (auch Boiler Plates genannt), um auch inhaltlich Anforderungen einander anzugleichen. Durch einen vorgegebenen Satzaufbau kann sichergestellt werden, dass Anforderung präziser formuliert werden, um diese anschließend automatisiert zu analysieren und auszuwerten. Anforderungen mit Satzschablonen haben dabei den Vorteil, dass diese ohne weitere Vorkenntnisse gelesen und eigenständig erstellt werden können. Am DCAITI beschäftigen wir uns mit der Analyse aktueller System- und Komponentenlastenheften und suchen nach bestehenden Ähnlichkeiten bzw. Abhängigkeiten zwischen Anforderungs- und Testspezifikationen. Hierbei wird insbesondere Natural Language Processing (NLP) angewendet, um natürlichsprachliche Anforderungen zu analysieren.

Durch die inhaltliche und strukturelle Analyse von Anforderungsdokumenten können anschließend automatisiert Testspezifikationen erstellt oder der Tester beim Erstellen unterstützt werden. Dazu können im Testkonzept hinterlegte Regeln und Vorgaben verwendet werden, die dann direkt umgesetzt bzw. überprüft werden können. So kann z. B. sichergestellt werden, dass zu jeder Anforderung mindestens ein Testfall existiert oder ähnliche Anforderungen gemeinsam getestet werden.

Ansprechpartner: Aaron Schlutter

Safety

Die Entwicklung sicherheitskritischer Systeme im Automobilbereich verlangt, verstärkt durch die ISO 26262, die Durchführung unterschiedlicher Analysen zur Gewährleistung der funktionalen Sicherheit. Diese Sicherheitsanalysen, zu denen unter anderem die Gefahren- und Risikoanalyse (G&R) gehört, sind meist sehr aufwendig und basieren stark auf Domänen- und Expertenwissen.

Solche expertenbasierten Analysen können durch semantische Technologien unterstützt werden, z.B. durch die Begleitung einzelner Analyseschritte durch Vorschläge. Am DCAITI entwickeln wir Methoden und Verfahren zur Verwendung semantischer Technologien zur Entscheidungsunterstützung durch Vorschlagsgenerierung für G&Rs. Dafür werden von den Experten erstellte Artefakte und wichtige Zusammenhänge in einer Wissensbasis gespeichert und mittels spezieller Algorithmen abrufbar gemacht. Semantische Netze erlauben die Repräsentation komplexen Wissens. Formal ist ein semantisches Netz ein gerichteter Graph, bei dem die Knoten die Konzepte, also Begriffe, repräsentieren und die Kanten die Relationen zwischen den Konzepten. Solch formalisiertes Wissen kann unter anderem für die Entscheidungsunterstützung und/oder Vorschlagsgenerierungssysteme verschiedener Domänen genutzt werden.

Algorithmen, die auf Spreading Activation (Aktivierungsausbreitung) basieren, unterstützen das semantische Durchsuchen dieser Netze und liefern Informationen über die Relevanz der Knoten und Pfade bezüglich der spezifischen Suchziele und der im Vorfeld festgelegten Konfiguration des Algorithmus. Aktivierungsausbreitung markiert wellenartig das mit einem oder mehreren Startknoten in Zusammenhang stehende (und damit relevante) Subnetz und berechnet für die darin enthaltenen Knoten sogenannte Aktivierungswerte, die deren Relevanz widerspiegeln.

Diese Suchalgorithmen sind stark konfigurierbar. Die gewählten Konfigurationseinstellungen des Suchalgorithmus und die spezifischen Netzwerkstrukturen haben starken Einfluss auf die Aktivierungsverteilung und somit auf die Qualität der Ergebnisse. Eine weitestgehend automatisierte Konfiguration der Algorithmen trägt zu einer Automatisierung im gesamten Vorschlagsgenerierungsprozess bei, was diesen effizienter und objektiver gestalten und den praktischen Einsatz erleichtern kann. Daher untersuchen wir am DCAITI systematisch mögliche Einflüsse und deren Effekte auf das Spreading-Verhalten und entwickeln innovative Konzepte zur automatisierten Ableitung geeigneter Konfigurationen.

Ansprechpartner: Kerstin Hartig

Digitale Erprobungsfahrt

Autonomes Fahren ist eine der großen Visionen für die Mobilität der Zukunft. Entwicklung, Erprobung und Einführung des Autonomen Fahrens stellen die Herausforderungen der heutigen Zeit dar, da sich der Testaufwand enorm erhöht. „Digitale Erprobungsfahrten“ werden daher einen immer wichtigeren Anteil am Entwicklungsprozess leisten.

Am DCAITI wird dazu ein neuer Forschungsschwerpunkt aufgebaut, der geeignete Methoden und Verfahren zum Testen autonomer Fahrsysteme untersucht. Betrachtet werden dazu die Möglichkeiten zur Simulation realistischerer Fahrverhaltensmodell in den umgebenden Fahrzeugen. Forschungsschwerpunkte werden die Überführung von Bedingungen aus dem Entwicklungsprozess, aus diesen die Generierung von Tests und Simulationsszenarien, sowie deren Monitoring sein.

Big Picture des Frameworks für digitale Erprobungsfahrten
Big Picture des Frameworks für digitale Erprobungsfahrten

Daraus werden Konzepte erarbeitet, wie aus den einzelnen Stufen des Entwicklungsprozesses Schnittstellen zu Simulations- und Testumgebungen entwickelt werden können. Die gewonnen Simulationsergebnisse sollen dann in den Entwicklungsprozess zurückfließen. Die zu testenden Systeme liegen in stark unterschiedlicher Komplexität vor, von Mockup über Code bis zum fertigen Steuergerät. Auf der Seite der virtuellen Simulationsumgebung variiert die Komplexität ebenfalls von einfachen Modellen bis hin zu integrierten Echtfahrdaten. Die Abstimmungen dieser beiden Bereiche in punkto Vorbedingungen und Komplexität widmet sich ein weiterer Forschungsbereich.

Ziel ist es, diese Verfahren möglichst früh beginnend im Entwicklungsprozess einzusetzen, um funktionale Anforderungen und Spezifikationen abzusichern. Ebenso wird das Ziel verfolgt, aus Simulation und Test heraus Abweichungen zwischen Spezifikation und Implementierung zu überwachen.

Ansprechpartner: Stefan Rulewitz

Veröffentlichungen

Aktuelle Veröffentlichungen

Eine Liste der aktuellen Veröffentlichungen finden Sie hier.

Vergangene Veröffentlichungen (vor 2013)