Continuous Integration für die HIL-Simulation erfolgreich anwenden

Grundlegende Änderungen in der Modellentwicklung für die HIL-Simulation

Mit der weiteren Etablierung der HIL-Simulation und -Tests als zunehmend integraler Bestandteil von Entwicklungs- und Validierungsprozessen in den letzten Jahren ändert sich auch die Art und Weise, wie HIL-Systeme konzipiert, in Betrieb genommen und bereitgestellt werden, sowie deren Nutzung und Einbindung in die Validierungsprozesse, erheblich. Beispielsweise wurden die für die Echtzeit-HIL-Simulation verwendeten Streckenmodelle oft auf der Grundlage der Interaktion und Erfahrung einiger weniger Modellierungs- und HIL-Experten entwickelt und integriert. Die wachsende Anzahl und Professionalisierung von HIL-Systemen bringt jedoch einige Herausforderungen mit sich, die mit herkömmlichen Mitteln nicht mehr zu bewältigen sind.

Gleichzeitig steigen die Anforderungen an die HIL-Simulation durch strengere Abgasvorschriften, elektrifizierte Antriebsstranganwendungen, anspruchsvollere Leistungsalgorithmen bei Fahrdynamik, Bremsen und aktiven Sicherheitsmerkmalen sowie zusätzliche Sicherheitsanforderungen, zum Beispiel beim autonomen Fahren. Daher steigen die Anforderungen an den Umfang und die Genauigkeit der in der HIL-Simulation verwendeten Modelle. Aus diesem Grund gibt es eine zunehmende Tendenz zur Wiederverwendung von Modellen aus anderen Domänen und Abteilungen, die manchmal sogar mit unterschiedlichen, domänenspezifischen Modellierungswerkzeugen implementiert werden.

Darüber hinaus ist die Anzahl der HIL-Systeme, die von Automobil-OEMs oder -Zulieferern eingesetzt werden, deutlich gestiegen – von einzelnen Systemen bis hin zu ganzen HIL-Farmen bei großen OEMs. Die unzähligen Kombinationen von Steuergeräten und Modellvarianten machen das Ganze noch komplizierter. Daher stellt die Verwaltung, Zuweisung und Bereitstellung von Modellen im Kontext mehrerer HIL-Systeme eine große Herausforderung dar.

Nicht zuletzt erfordern kürzere Entwicklungszyklen und die Forderung nach Produktivitätssteigerung einen maximalen Automatisierungsgrad bei der Nutzung der Systeme, was wiederum eine Minimierung der Stillstandzeiten erfordert.

Vor diesem Hintergrund werden neue Ansätze zur Integration und Nutzung von Simulationsmodellen benötigt

  • aus vielen verschiedenen Bereichen und Quellen,
  • in einem gut abgestimmten Prozess,
  • in einer hochautomatisierten Weise,
  • mit einem Höchstmaß an Prozesssicherheit, und
  • in verschiedenen HIL-Systemen.

Mit anderen Worten: Es ist notwendig, weg von Experten-Workflows und hin zu einer produktiven "Modellfabrik" zu kommen. Solche Ansätze gibt es bereits, und sie können auf die HIL-Anwendung übertragen werden, wie wir im Folgenden zeigen werden.

Continuous Integration als Schlüsselfaktor für moderne Software-Entwicklungsprozesse

Moderne Software-Entwicklungsprozesse bieten für diese neuen Herausforderungen wunderbare Konzepte, die sich sehr vorteilhaft auf die HIL-Simulation übertragen lassen. Continuous Integration ist eines dieser Konzepte, das es ermöglicht, auch in großen Organisationen umfangreiche Software-Produkte effizient und agil zu entwickeln.

Durch die Continuous Integration wird der folgende Grundsatz aus dem Agile Manifesto Wirklichkeit: „Funktionierende Software ist das wichtigste Fortschrittsmaß." Das Schlüsselkonzept der Continuous Integration erreicht dieses Ziel, indem es die Art und Weise, wie Software entwickelt und getestet wird, drastisch verändert. Zunächst werden die Mitarbeiter in kleinen agilen Teams mit klaren Verantwortlichkeiten und Entscheidungsbefugnissen organisiert. Die Teams organisieren ihre Arbeit in priorisierten Backlogs und arbeiten von oben nach unten. Auf diese Weise entwickeln die Teams die Software in kleinen Iterationen, auch Sprints genannt, innerhalb eines Zeitraums von 1 bis 4 Wochen.

In der agilen Entwicklung erzeugt jede Iteration ein Arbeitsinkrement des Produkts. Um diese inkrementelle Entwicklung der Software zu erreichen, muss das Planen, Entwickeln, Bauen und Testen in jeder Iteration mit einem Unit-Test kombiniert werden. Dadurch wird die Qualität eines Inkrements bereits während des Entwicklungsprozesses sichergestellt; manchmal wird dieses Paradigma auch als eingebaute Qualität bezeichnet. Damit steht die Continuous Integration im Gegensatz zu den Wasserfallmethoden, bei denen die Entwicklungs- und Testphasen voneinander getrennt sind.

Doch wie kann diese schrittweise Entwicklung erreicht werden? Viele Techniken helfen bei diesem dynamischen und kontinuierlichen Prozess:

  • Versionskontrolle der Software mit Tools wie SVN oder Git
  • Automatischer Aufbau der aktuellen Integration
  • Automatische Ausführung von Tests
  • Sofortiges Feedback zur Code-Qualität
  • Parallelisierung und Orchestrierung von Tests

Wie wir sehen, ist automatisiertes und orchestriertes Testen entscheidend, um eine Continuous Integration zu erreichen. Der Artikel „Effizientes Continuous Testing with dSPACE“ beschreibt die Mechanismen und die Antworten von dSPACE auf diese für die Automotive-Software-Entwicklung einzigartige Aufgabe.

Erfolgreiche Faktoren für die Anwendung von Continuous Integration in der HIL-Simulation

Agile Methoden und insbesondere die Continuous Integration werden in der automobilen Software-Entwicklung mehr und mehr eingesetzt. Aufgrund der besonderen Anforderungen an den zu testenden Code (z. B. wegen der Echtzeitfähigkeit) bestehen sehr hohe Ansprüche an die Qualität und damit an das Testen. Die HIL-Simulation ist neben den SIL-Tests ein wesentlicher Bestandteil der Testmethodik.

Um die HIL-Simulation in Continuous-Integration-Ansätzen nutzen zu können, ändern sich die Prozesse, die zur Erlangung von lauffähigen HIL-Systemen verwendet werden, drastisch. Insbesondere die Inbetriebnahme und der Einsatz von HIL-Systemen kann nicht mehr als Expertendisziplin verstanden werden, die einen Schritt nach dem anderen durchführt. Stattdessen müssen alle Schritte von der Entwicklung großer Simulationsmodelle bis zum Einsatz mehrerer HIL-Systeme parallel durchgeführt werden.

Typische Aufgaben in diesem Prozess:

  • Model-Model-Kommunikation konfigurieren
  • Model-I/O-Kommunikation konfigurieren
  • Bus-Konfiguration
  • Task-Konfiguration
  • Echtzeitanwendung kompilieren
  • Einsatz im HIL

Wie jedoch von mehreren Unternehmen gezeigt, können Continuous-Integration-Ansätze sehr erfolgreich auf HIL-Tests angewendet werden. Hier interagieren zwei Continuous-Integration-Zyklen miteinander. Der erste Zyklus ist der Prozess der Steuergeräte-Software-Entwicklung, der zweite Zyklus ist der Prozess der Modellintegration für HIL. dSPACE bietet seinen Kunden umfassende Unterstützung und Beratung, um diese Aufgabe zu bewältigen.

Die folgenden Maßnahmen haben sich als echte Erfolgsfaktoren für die Einführung der Continuous Integration für die HIL-Simulation erwiesen.

Modularisierung der Modelle

Eine modularisierte Modellstruktur, die aus kleinen Einheiten besteht, ermöglicht eine robuste, komfortable und effiziente Integration. Mit einer modularen Modellstruktur sind agile Teams in der Lage, eine eingebaute Qualität zu erreichen, da sie die Verantwortung für ihre eigenen Modelle übernehmen und deren Qualität in verschiedenen Testphasen (virtuell und in Echtzeit) überprüfen können, ohne durch große Modelle behindert zu werden, die von vielen anderen Teams abhängig sind. Diese Flexibilität in der Team- und Modellverwaltung ermöglicht schnelle Wechselzyklen bei deutlich höherer Performance und erleichtert gleichzeitig das Variantenmanagement.

Simulationsmodelle im Voraus vorbereiten

HIL-Integrationsprozesse können sehr langwierig und ineffizient sein. Dies ist häufig der Fall, wenn für das gesamte Systemmodell jeweils zwei Schritte des Integrationsprozesses durchgeführt werden:

  1. Modellcodegenerierung
  2. Modellcodekompilierung

Dieser Umstand ist kritisch, da sich in den meisten Fällen nur einzelne Teile des Modells (< 10 %) in einer Iteration geändert haben.

Die Grundidee ist, diese beiden Schritte nach vorne zu verlagern, weg von der HIL-Integration und in die Phase der Modellentwicklung. Beide Schritte können zum Beispiel automatisch ausgeführt werden, wenn neue Versionen der Modelle eingecheckt werden. In diesem Fall wird jedes Modell bereits als generiertes und kompiliertes Stück Code verteilt. Wir nennen diese Einsatzform Modell-Container. Dieser Ansatz beschleunigt den HIL-Integrationsprozess erheblich.

Verwalten von Schnittstellen-Zuordnungen durch Namenskonventionen

Das Verbinden von Modellen mit I/O- und anderen Modellen wird durch die folgenden Techniken erheblich erleichtert:

  • Port-Zuordnung basierend auf normierten Namen für Modell-Ports.
  • Die konsequente Verwendung von eindeutig identifizierten Ports, die den Aufbau einer persistenten Kommunikation auch in Modellaustauschszenarien ermöglicht.

Dies ermöglicht hochautomatisierte Modellaustauschprozesse und ein effizientes Änderungsmanagement auch bei wechselnden Modellschnittstellen.

Virtuelle Steuergeräte als digitale Zwillinge verwenden

In vielen Fällen sind beim Aufbau von HIL-Systemen noch keine realen Steuergeräte vorhanden. Dies kann den gesamten HIL-Einsatz- und Testprozess stoppen. Um dieses Problem zu beheben, wird empfohlen, die fehlenden Steuergeräte zu simulieren. Dies kann entweder durch die Verwendung recht einfacher Verhaltensmodelle, so genannter Soft ECUs, oder – in einer fortgeschritteneren Variante – durch die Verwendung eines vorhandenen Steuergeräte-Anwendungscodes und den Aufbau virtueller Steuergeräte erfolgen, die auch einige für den Test erforderliche Basissoftware enthalten können. Sowohl Soft ECUs als auch virtuelle Steuergeräte können als digitale Zwillinge des fehlenden realen Steuergeräts interpretiert werden. Der konsequente Einsatz von Soft ECUs und Virtual ECUs kann das HIL-Setup deutlich beschleunigen, da das System immer ausgeführt werden kann, unabhängig davon, ob das reale Steuergerät verfügbar ist.

Abgesehen von der Lösung des Verfügbarkeitsproblems kann der Einsatz von Soft ECUs oder Virtual ECUs das kontinuierliche Testen sogar robuster machen, da bei einem Ausfall einer einzelnen Hardware-Komponente die gesamte Simulation weiterhin ausgeführt werden kann. Für diesen Ansatz wird viel Infrastruktur benötigt, insbesondere für die erforderliche Restbussimulation.

Den Übergang bewältigen

In vielen Unternehmen ist die Einführung von Continuous-Integration-Prozessen für die Modellentwicklung und -integration in HIL-Anwendungen bereits ein Schlüssel, um HIL-Tests noch produktiver zu machen. Die oben beschriebenen Best Practices wie modulare Modellstrukturen, vorkompilierte Modellcodes, verwaltete Schnittstellen und Mappings sowie der Einsatz von Soft- oder virtuellen Steuergeräten sind der Schlüssel zur erfolgreichen Anwendung der Continuous Integration. dSPACE Werkzeuge und Lösungen können bereits heute in Continuous-Integration-Prozessen für die HIL-Simulation eingesetzt werden. Damit ist es möglich, hochautomatisierte Model-Build-Server und -Prozesse einzurichten. Neue Software-Modelle wie Cloud-basierte Integrations- und Build-Prozesse und sogar Build-as-a-Service-Geschäftsmodelle und -Infrastrukturen stehen am Horizont. dSPACE ist bei dieser Entwicklung stets an vorderster Front dabei und arbeitet bei diesem Thema eng mit mehreren Kunden zusammen. Die Erfahrung von dSPACE mit Werkzeugen kann dabei helfen, den Übergang von klassischen Prozessen zu einem hochflexiblen und automatisierten Modellproduktions- und -lieferprozess zu bewältigen, der den anstehenden Herausforderungen und sich ändernden Anforderungen in der automobilen Entwicklungs- und Validierungslandschaft heute und in Zukunft gerecht wird.

dSPACE: Ihr Partner für Simulation und Validierung.

Weiterführende Informationen

Newsletter abonnieren

Abonnieren Sie unsere Newsletter, oder verwalten oder löschen Sie Ihre Abonnements