Um den wachsenden Anforderungen an die Software-Entwicklung für sicherheitskritische Systeme effizient zu begegnen, hat JTEKT einen AUTOSAR-basierten, ISO-26262-konformen CI-Prozess aufgesetzt, der kontinuierliche Software-Builds mit dSPACE TargetLink ermöglicht und als Basis für zukünftige Entwicklungen im Bereich Software-defined Vehicle dient.   

Als Systemlieferant für alle bedeutenden OEMs entwickelt JTEKT unter anderem Lenksysteme, also eine derjenigen Fahrzeugkomponenten, die zu den besonders sicherheitskritischen zählen. Hierbei wirken sich die aktuellen Trends in der Automobilbranche aus dem Bereich ADAS/AD schon heute stark aus, weil sie auch in die Lenkung eingreifen. Daher muss bei der Software-Entwicklung für diese Systeme eine Vielzahl von Randbedingungen und Standards beachtet werden (Abbildung 1). Diese wachsende Komplexität würde unter normalen Umständen dazu führen, dass der Zeitaufwand für die Entwicklungsarbeiten ebenfalls steigt. Allerdings erwarten die Kunden von JTEKT genau das Gegenteil, nämlich eine häufigere Auslieferung neuer Software-Stände und eine Reduzierung der Zeit bis zur Marktreife.
„Um das Vertrauen der Kunden zu gewinnen und zu erhalten, gilt es, die Entwicklungsprozesse zu verschlanken und gleichzeitig eine ganze Reihe von Standards zu erfüllen. Das erwarten die Kunden heutzutage ganz einfach“, so Dr. Luc Malrait, der als Senior Software Engineer bei JTEKT Europe arbeitet.
 

Höhere Anforderungen bei reduzierter Entwicklungszeit
Abbildung 1: Die Software-Entwicklung für sicherheitskritische Systeme, z. B. Lenksysteme, steht durch neue Trends in Bereichen wie ADAS/AD und dem Software-defined Vehicle vor wachsenden Herausforderungen. Diese Entwicklungen können nur mit optimierten Tool-Landschaften und Prozessen gemeistert werden

Höhere Anforderungen bei reduzierter Entwicklungszeit

Um den wachsenden Anforderungen gerecht zu werden, gilt es, sowohl Tool-Landschaften als auch Arbeitsweisen anzupassen und zu optimieren.
Typische Schlagworte in diesem Zusammenhang sind unter anderem CI (Continuous Integration), d. h. das kontinuierliche Zusammenfügen von Komponenten zu einer Anwendung, und CD (Continuous Delivery), d. h. die Auslieferung neuer Software-Versionen in sehr kurzen Zeitabständen, d. h. quasi kontinuierlich. 
„Und das Software-defined Vehicle wirkt nochmals als Beschleuniger auf die ohnehin schon zeitlich engen Entwicklungsprozesse. Für diese Herausforderungen muss man sich mit den passenden Tools und Prozessen wappnen“, erklärt Ghislain Poncet, Software Design Group Manager bei JTEKT
 

Die Antwort von JTEKT: AUTOSAR-basierte Arbeitsweise

Der erste Schritt – quasi das Fundament – der Arbeitsweise bei JTEKT (Abbildung 2) ist der modellbasierte Software-Architekturentwurf gemäß AUTOSAR. 
„Eine konsequente AUTOSAR-basierte Arbeitsweise ist die Basis von allem. Sie erleichtert die Wiederverwendbarkeit von Software-Modulen, den Austausch mit anderen Beteiligten und minimiert etwaige Schnittstellenprobleme zwischen Tools. Die Vorteile dieser Arbeitsweise schlagen quasi überall durch“, so Dr. Luc Malrait. 
Im zweiten Schritt generieren die JTEKT-Entwickler dann aus dem Modell heraus Seriencode mit dSPACE TargetLink. Dies erlaubt zu einem sehr frühen Zeitpunkt im Entwicklungsprozess eine Überprüfung des Software-Entwurfs – der Aufwand für eventuelle Fehlerkorrekturen ist dann erheblich kleiner als zu einem späteren Zeitpunkt.
Für die Qualitätssicherung des Modells hinsichtlich Modellierungsrichtlinien, Modellstruktur und Modellmetriken (Schritt 3) kommt MXAM von MES (Model Engineering Solutions) zum Einsatz.
Hervorzuheben ist ebenfalls der BTC EmbeddedTester (Schritt 4), der funktionale Tests des Codes während seiner Ausführung erlaubt und auch sogenannte Back-to-back-Tests ermöglicht, bei denen überprüft wird, dass das Verhalten von Modell und Code grundsätzlich übereinstimmt.       
 

Abbildung 2: Schematische Darstellung des Entwicklungsprozesses bei JTEKT. Basis von allem ist die AUTOSAR-basierte Software-Architektur.  

Herausforderung: Versions- und Artefaktmanagement

JTEKT praktiziert eine Arbeitsweise, bei der sehr viele Personen räumlich verteilt an denselben Projekten arbeiten. Um hier den Überblick zu behalten, gilt es, vor allem zwei entscheidende Herausforderungen zu bewältigen, damit die Arbeit insgesamt in geordneten Bahnen abläuft:

  • Artefaktmanagement: Durch die kollaborative Arbeitsweise und die Vielzahl von Tools entstehen zwangsläufig große Mengen von Dateien (sogenannte Artefakte), z. B. Reports, Datenmodelle, Skripte, Designdokumente, Quellcode, Textdateien u. v. m. Diese müssen sauber in speziellen Verzeichnissen/Archiven (sogenannten Repositories) abgelegt und verwaltet werden.
  • Versionskontrolle: Weil die Software-Entwickler während ihrer Arbeit ständig neue Versionen der Artefakte generieren, ist eine übersichtliche Versionsverwaltung unverzichtbar, damit aktuelle und frühere Stände jederzeit nachvollziehbar sind.

Tool-Landschaft und Arbeitsweise bei JTEKT

Im Wesentlichen spielen beim Arbeitsablauf bei der Software-Entwicklung bei JTEKT folgende Tools für das Datei-Handling zusammen (Abbildung 3):  

  • Git: Git ist eine freie Software und dient zur verteilten Versionsverwaltung von Dateien. Git macht es möglich, dass mehrere Entwickler unabhängig von ihrem Aufenthaltsort gleichzeitig an einem Projekt arbeiten können. Git ist plattformunabhängig und lässt sich somit in nahezu jeder Umgebung nutzen. 
  • JFrog Artifactory: JFrog Artifactory ist ein Repository, d. h. ein Verzeichnis/Archiv, das zur Verwaltung verschiedenster Daten verwendet wird. JFrog Artifactory dient zum Management der Software-Artefakte, die während der Software-Entwicklung entstehen.
  • Jenkins: Jenkins ist eine plattformunabhängige, webbasierte Java-Applikation zur kontinuierlichen Integration von Software-Komponenten zu einem Anwendungsprogramm. Jenkins ermöglicht es, Aufträge (sogenannte „Pipelines“) zur kontinuierlichen Integration für beinahe jede Kombination von Sprachen und Quellcode-Repositories zu schreiben. In diesen Pipelines werden dann die typischen Aktivitäten wie die Verifizierung der Modellierungs-Guidelines, Back-to-back-Tests, Reports etc. automatisch abgearbeitet und alle Artefakte korrekt paketiert. Das Ergebnis ist ein fertiges Anwendungsprogramm.

Abbildung 3: Die Tool-Landschaft und Arbeitsweise bei JTEKT. Die kontinuierliche Integration der Software-Komponenten zu einem Anwendungsprogramm wird mit Hilfe der Software-Umgebung Jenkins umgesetzt

In Zukunft auch kontinuierliche Auslieferung

Die kontinuierliche Integration (Continuous Integration, CI) hat sich bei JTEKT als Standardarbeitsweise etabliert. Mit Hilfe der beschriebenen Arbeitsweisen werden bei JTEKT im Schnitt mehr als zehn Builds pro Arbeitstag absolviert. Für die Zukunft ist dann der nächste logische Schritt geplant, d. h. die kontinuierliche Auslieferung (Continuous Delivery, CD). Dies wird unter anderem auch durch die kommenden Entwicklungen rund um das SDV (Software-defined Vehicle) getrieben, denn dieses wird regelmäßig Daten aus dem Alltagseinsatz liefern, die dann wiederum bei den Entwicklungsarbeiten zu berücksichtigen sind.

Über die Autoren:

Ghislain Poncet

Ghislain Poncet

Software Design Group Manager, JTEKT Europe

Dr. Luc Malrait

Dr. Luc Malrait

Senior Software Engineer, JTEKT

dSPACE MAGAZIN, VERÖFFENTLICHT IM MÄRZ 2024

Treiben Sie Innovationen voran. Immer am Puls der Technologieentwicklung.

Abonnieren Sie unser Expertenwissen. Lernen Sie von erfolgreichen Projektbeispielen. Bleiben Sie auf dem neuesten Stand der Simulation und Validierung. Jetzt dSPACE direct und dSPACE direct aeropace & defense abonnieren.

Formularaufruf freigeben

An dieser Stelle ist ein Eingabeformular von Click Dimensions eingebunden. Dieses ermöglicht es uns Ihr Newsletter-Abonnement zu verarbeiten. Aktuell ist das Formular ausgeblendet aufgrund Ihrer Privatsphäre-Einstellung für unsere Website.

Externes Eingabeformular

Mit dem Aktivieren des Eingabeformulars erklären Sie sich damit einverstanden, dass personenbezogene Daten an Click Dimensions innerhalb der EU, in den USA, Kanada oder Australien übermittelt werden. Mehr dazu in unserer Datenschutzbestimmung.