Was sind Wirkketten in Automobilsystemen?
Die Softwareentwicklung in der Automobilindustrie folgt in der Regel dem in den letzten Jahrzehnten eingeschlagenen Weg, der sich auf die Funktionalität und die Gewährleistung der funktionalen Sicherheit konzentriert. Diese Ausrichtung auf statische Softwarearchitekturen muss sich jedoch ändern, wenn sich die E/E-Architektur weiterentwickelt, um neue ADAS-Funktionen und autonomes Fahren zu unterstützen.
Heutige Entwicklungsteams müssen die gesamte Interaktionskette vom Sensor bis zum Aktuator über mehrere Steuergeräte und über viele verschiedene Netzwerktechnologien hinweg berücksichtigen. Dies erfordert, dass sich die Architekturmodelle ändern, damit das System von Ende zu Ende genau verstanden wird.
Wenn man heute die Architekturdokumentation eines typischen Projekts betrachtet, werden Module und Komponenten immer noch in hierarchischen Strukturen beschrieben.
Die Kommunikationsbeziehungen sind kaum mehr als eine Linie zwischen Boxen. Um jedoch Domänen- und Zonenarchitekturen zu unterstützen, werden Funktionen über mehrere Steuergeräte verteilt sein. Statische Architekturentwürfe können weder die Auswirkungen einer Funktion in einem Steuergerät auf ein anderes widerspiegeln, noch was passieren könnte, wenn sie zu einem beliebigen Zeitpunkt einen Bus für die Datenkommunikation gemeinsam nutzen. Infolgedessen wird die End-to-End-Interaktion dieser Funktionen nicht als Systemeigenschaft berücksichtigt, und es werden keine Anstrengungen unternommen, um ihre Korrektheit im Qualitätsmanagement sicherzustellen.
Die Zeit für eine durchgehende Ereigniskette wird von einer Sicherheitsnorm wie Euro NCAP abgeleitet. Bei einem Notbremsassistenten (EBA) beispielsweise ist die für den Weg vom Sensor zum Aktuator verfügbare Zeit die aus der Norm abgeleitete Gesamtzeit abzüglich der für die Fahrzeugverzögerung erforderlichen Zeit.
Dieses Ergebnis wird dann weiter aufgeschlüsselt in die Zeit, die der Sensor benötigt, um Daten zu liefern, das Steuergerät, um die Daten zu verarbeiten und den Aktuator auszulösen, und der Aktuator, um zu reagieren. Schließlich kann die für das Steuergerät verfügbare Zeit noch weiter aufgeschlüsselt werden, indem festgelegt wird, wie viel Zeit für jede Verarbeitungsstufe innerhalb des Steuergeräts zur Verfügung steht. Bei einer EBA umfasst dies die Sensornachverarbeitung, die Arbitrierung, die Bewertung, die Planung und die Schritte zur Fahrzeugsteuerung.
Ähnlich wie Prozessmodelle die End-to-End-Wertschöpfungsketten in Unternehmen aufzeigen, liefern Wirkketten ähnliche Erkenntnisse für Systemingenieure im Automobilbau. Sie beschreiben kausale Zusammenhänge zwischen Komponenten der statischen Architektur im Kontext einer konkret erforderlichen Systemreaktion. Das heißt, die Bedeutung der relevanten Verarbeitungsschritte für die Systemreaktion wird explizit dargestellt. Damit ist für jede End-to-End-Funktion klar, welche Rolle oder welchen Beitrag eine konkrete Komponente leisten muss.
Ohne Wirkketten bleibt der Funktionsentwickler nicht in der Lage, einfache Fragen zu beantworten, die für die betriebliche Korrektheit von zentraler Bedeutung sind. Es gibt auch keine Möglichkeit, die Auswirkungen von Änderungen im Voraus zu bestimmen, wie z.B. die Neuzuweisung einer Funktion an ein anderes Steuergerät oder einen anderen Kern eines Multicore-Systems.
Es gibt drei wesentliche Informationen, die dieser Ansatz liefert:
Mit welcher Dringlichkeit sollte ich diese Daten im Vergleich zu den anderen Daten, für die ich verantwortlich bin, behandeln?
Wie wichtig sind diese Daten in Bezug auf die anderen laufenden Verarbeitungsaufgaben,
Und welche Abhängigkeiten bestehen zwischen dieser Aufgabe und anderen auf diesem Prozessor, auf diesem Steuergerät und auf anderen Steuergeräten.
Mit diesem Ansatz ist es schnell möglich, das Alter von Daten, die in Funktionsblöcke eingehen, zu bestimmen und sie mit anderen zu vergleichen. Es ist auch klar, welche vorgelagerten Funktionsblöcke von diesen Informationen abhängig sind. Schließlich helfen klare zeitliche Grenzen, die das “Wann” definieren, gekoppelt mit dem Wissen “von wem” und “an wen”, wenn Problemlösungen und Änderungen notwendig sind.
Verwendung der Latenzzeit als Dashboard KPI
Die komplexesten elektronischen Systeme im Automobil von heute haben bereits mit Latenzzeiten im gesamten System zu kämpfen, sowohl zwischen einzelnen Komponenten als auch durchgängig vom Sensor bis zum Aktor. Das Konzept der Wirkketten zwingt das Entwicklungsteam, beginnend auf der höchsten Ebene, über die funktionalen Netzwerke hinaus die kausalen Beziehungen der logischen Verarbeitungsschritte zu betrachten. Diese Zerlegung von Netzwerken ermöglicht die Definition von Timing-Anforderungen, so dass die Latenzzeit als Key Performance Indicator (KPI) in das Dashboard aufgenommen werden kann.
Dashboards können auch viele andere wichtige Systemeigenschaften integrieren und bieten so jederzeit einen umfassenden Überblick. Prozessorauslastung, Schlupfzeit, Nettoausführungszeit, Prozessausführung einschließlich Antwortzeit sowie End-to-End-Latenz und -Jitter werden zu Metriken, die täglich diskutiert werden können. Die Teams, die helfen können, sind sofort ersichtlich, wenn irgendwelche roten Fahnen auftauchen. Dank der Budgets für das Timing der Wirkketten ist sofort klar, wo ein Timing-Problem seinen Ursprung hat, so dass Maßnahmen in früheren Projektphasen ergriffen werden können.
Im Einsatz von der Softwarekonzeption bis zur Auslieferung und darüber hinaus
Wirkketten liefern in allen Entwicklungsphasen, von der Definition der Systemarchitektur bis zur Auslieferung des Produkts, einen Mehrwert. Jede Wirkkette hat ein konkretes Startereignis, das als Bezugspunkt für alle weiteren zeitlichen und kausalen Überlegungen verwendet wird. Dann wird bei jedem Schritt in der Kette die kausale Abhängigkeit zwischen den Verarbeitungsschritten beschrieben.
Stakeholder-Anforderungen, die meist nur in Textform vorliegen, können so auf konkrete, maschinenverwertbare Ereigniskettenanforderungen heruntergebrochen werden. Wichtige Systemeigenschaften werden so über alle Entwicklungsphasen hinweg transparent. Und da auch Software-Updates über die Lebensdauer des Fahrzeugs erforderlich sind, wird dieser Ansatz noch mehr Wert und Zeitersparnis bringen.
Bei der Verwendung von Ereignisketten sind für Designänderungen während des Projekts nur eine Handvoll Was-wäre-wenn-Analysen erforderlich, um ihre potenziellen Auswirkungen zu bewerten. Auch die Hardware wird besser ausgelastet, und es gibt mehr Möglichkeiten, Optimierungen zu finden und umzusetzen. Und schließlich wird durch die Wiederverwendung der Software für neue Fahrzeugplattformen die Umstellung auf neue Prozessoren und Hardwareplattformen erheblich erleichtert.
Erleichterung für Projektmanager
Projektmanager profitieren von der Anwendung von Ereignisketten auch in folgender Hinsicht:
- Transparenz – es ist klar, was erwartet wird, und wenn etwas schief läuft oder ein Fehler auftritt, ist klar, wer ihn beheben kann.
- Frühzeitige Erkennung und Behebung – Probleme im Zusammenhang mit zeitlichen Problemen werden in der Regel in Projekten versteckt, bis alles integriert ist. Indem man sie von Anfang an testet, können sie viel früher erkannt und behoben werden.
- Gesteigerte Effizienz – niemand mag Besprechungen, schon gar nicht, wenn es um Schuldzuweisungen geht. Ereignisketten helfen dabei, die Gedanken zu fokussieren und die Zusammenarbeit zu fördern, da jeder den gleichen Kontext zu den Problemen hat.
- Entkopplung von Architekten und Funktionsmanagern – Architekten können sich auf die Systemarchitektur konzentrieren und müssen nicht die Gründe dafür entschlüsseln, warum bestimmte Funktionen wie erwartet funktionieren.
Durch die Weitergabe der Anforderungen an die Ereigniskette an alle Projektbeteiligten wird sichergestellt, dass sie über die erforderlichen Informationen verfügen, um unabhängig arbeiten zu können, was die Projekteffizienz erhöht.
Ereignisketten werden auf der Grundlage der Anforderungen der Interessengruppen an das erforderliche Systemverhalten ermittelt. Bei der Definition jeder Kette muss diese je nach Bedarf in einzelne Schritte zerlegt werden, und es müssen Spezifikationen erstellt werden. Einmal definiert, muss die Erfüllung der Anforderungen auch in den Testprozess integriert werden. Die Einhaltung muss auf allen Ebenen überwacht werden und gilt sowohl für interne als auch für externe Beteiligte.
Dieser Ansatz funktioniert am besten, wenn den einzelnen Personen die Verantwortung für ihre Ereignisketten übertragen wird. In der Regel hat jeder Verantwortliche für eine Funktion einen Überblick über seine Ereignisketten. Sie legen nicht fest, wie die Funktion zu implementieren ist, um die Anforderungen der Ereigniskette zu erfüllen, aber sie bestimmen die Schritte, die erreicht werden müssen, und die Randbedingungen, unter denen sie erfüllt werden müssen.
INCHRON unterstützt Sie bei der Definition, Implementierung und Lösung von Herausforderungen im Zusammenhang mit Ereignisketten. Dieser Prozess beginnt mit der Unterstützung von Automotive Systemarchitekten und Funktionsmanagern. Beginnend mit den wichtigsten Ereignisketten, vertiefen wir diese schrittweise und erweitern sie systematisch über das gesamte Projekt. Mithilfe unserer Software chronSUITE und chronFINITY sowie unserer Consulting-Ingenieure können Sie auch die Details der Ereignisketten gemäß Ihrem bevorzugten Entwicklungsprozess speichern.
Mit unseren Tools haben Sie zudem einen vollständigen Überblick über den Status aller Ereignisketten. Sie können die Auswirkungen von Änderungen auf allen Abstraktionsebenen und steuergeräteübergreifend überwachen. Dazu gehören auch Trace-Analyse und Modellsimulation. Auch die systematische Testfallerstellung ist Teil dieses Prozesses, so dass Sie als Erster erfahren, wenn ein Problem auftritt.
Wenn Sie mehr über Ereignisketten erfahren möchten und wie INCHRON Sie und Ihr Team unterstützen kann, vereinbaren Sie bitte einen Termin mit uns.