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
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.
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.
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
Software Design Group Manager, JTEKT Europe
Dr. Luc Malrait
Senior Software Engineer, JTEKT