Managing Real-Time-Risks

Managing Real-Time-Risks

Die Entwicklung von Embedded Systemen erfordert Fachleute mit interdisziplinären Fähigkeiten in vielfältigen Domänen, aus denen diese Systeme heute nicht mehr wegzudenken sind. Neben der Hardware und Software müssen auch physikalische Effekte, chemische Prozesse oder sicherheitskritische Abläufe mit im Design berücksichtigt werden bei steigendem Kosten- und Zeitdruck sowie hohen Qualitätsansprüchen. In Domänen wie der Automobilindustrie werden Software und Embedded Systeme immer mehr zum wesentlichen Baustein zur Differenzierung gegenüber den Mitbewerbern.
Je größer und komplexer die Systeme werden – im PKW werden bis zu hundert Mikrocontroller verbaut – desto größer sind die Herausforderungen auch aus Sicht der Projektleitung. Verschiedene, teils konkurrierende Zulieferer entwickeln Anteile der Software und Hardware, verteilt über den gesamten Globus. Neue Funktionen kommen laufend hinzu und für jeden lokalen Markt werden Varianten benötigt. Das Echtzeitverhalten und die Performanz des Gesamtsystems stellt dabei besondere Herausforderungen an alle Projektbeteiligten, da das dynamische Verhalten und die gegenseitigen Abhängigkeiten der Teilkomponenten erst spät erlebbar sind. Die Komplexität zu beherrschen wird zu einem entscheidenden Faktor um solche Entwicklungsprojekte zum Erfolg zu bringen. Die Prozesse und das methodische, Tool-gestützte Vorgehen zur Beherrschung der Echtzeitfähigkeit von Embedded Systemen fasst Inchron jetzt unter dem Begriff ‚Managing Real-Time Risks‘ zusammen.

Echtzeit im Entwicklungsprozess

Beginnt man am Ende des Entwicklungsprozesses mit den Aktivitäten, um einen Fehler zu finden und aus dem System zu entfernen, hat man bekanntermaßen den teuersten Weg gewählt. Leider bleibt einem dabei oft keine andere Wahl, da viele gute Tests nur die Fehlerwahrscheinlichkeit senken und manche Fehler auch kaum finden können. Schaut man sich die Fehlerkategorien in späten Phasen an, so sind es häufig Timing-Fehler, die hier die Kosten in die Höhe treiben. Laut Aussage eines Software-Entwicklungsleiters bei einem Nutzfahrzeugzulieferer sind es zu 95% Timing-Fehler, die nach Produktionsstart noch aus dem Feld zurückkommen. Echtzeit- und Performance-Fehler stellen daher ein hohes Projekt-Risiko dar und verbleiben mit den herkömmlichen Methoden dennoch oft bis zum Schluss im System. Mit dem Ansatz des ‚Managing Real-Time Risks‘ ist eine Tool-gestützte Methode gemeint, das Echtzeitverhalten der Embedded Systeme frühzeitig im Projekt zu analysieren und im Projektverlauf stetig zu überwachen – also die Echtzeitrisiken zu managen. Zeichnet sich ab, dass eine implementierte Teilfunktion von den Designvorgaben abweicht und damit das Echtzeitverhalten des Gesamtsystems beeinflusst, wird dies frühzeitig aufgezeigt. Gegebenenfalls kann gleich entschieden werden, die riskante Abweichung zu korrigieren oder die Architektur entsprechend anzupassen – lange bevor das System implementiert ist und z.B. auf einem HiL getestet werden kann.

Tool-gestützte Methode

Um dem ‚Henne- und Ei-Problem‘ zu begegnen, dass Software erst geschrieben und ausgeführt werden muss, um das Echtzeitverhalten zu erfahren, wird nun in der Spezifikation, links im V-Modell, das Zeitverhalten der Komponenten budgetiert und das Systemverhalten modelliert. Die Systemarchitektur wird mit diesen Angaben modellbasiert entwickelt und bereits vor der Designphase auf ihre Robustheit gegen Timing-Abweichungen getestet. Aus ihr leiten sich dann Timing-Anforderungen für die Software-Architektur der einzelnen Steuergeräte ab. Die Systemarchitekten, aber auch die anderen Entwickler, können anhand des Systemmodells das dynamische Verhalten besser verstehen und damit die Konsequenzen ihrer Designentscheidungen überblicken.

Zusammenarbeit für Echtzeit

Die Zusammenarbeit von Automobil Herstellern und Zulieferern im Bereich der E/E Systeme erfährt einen Wandel. Bislang bezog der OEM ein komplettes Steuergerät (Subsystem) aus Hardware und Software aus einer Hand. Darin war teilweise zwar Software von weiteren Unterlieferanten integriert, aber die Subsystemverantwortung war beim Zulieferer und zugleich Integrator. Der OEM definierte die Anforderungen auf Kundenfunktionsebene und die Schnittstelle waren die Signale und die Buskommunikation am Gerätestecker. Das Ineinandergreifen von neuen, intelligenten Funktionen (Fahrerassistenz, Hybrid,…) steigert die Komplexität drastisch. Die Herausforderung für den OEM ist nun, dass er die verteilten Funktionen und Regler sowie Sensordatenfusionsfunktionen in die Systemarchitektur integriert. Er muss daher den Gesamtsystemverbund betrachten können und End-to-End-Latenzen berücksichtigen. Beispielsweise müssen hierzu End-to-End Timing-Anforderungen, vom Sensor zum Aktuator über mehrere Steuergeräte und Busse hinweg, als kritische Wirkketten modelliert und gezielt überwacht werden (AutoTest, Okt. 2010). Der Zulieferer hat in seinem Steuergerät nun vermehrt auch Funktionen von Wettbewerbern zu integrieren, was bei Domänencontrollern sogar einen Großteil der Software ausmachen kann. Der Systemarchitekt kennt jedoch meist die genauen Eigenschaften und Anforderungen der zu integrierenden Software-Komponenten nicht, muss diese aber in der Software-Architektur berücksichtigen.

Real-Time Data Sheets

Alle Projektbeteiligten sollten die Echtzeiteigenschaften ihrer Systeme erfassen und als Echtzeitanforderungen in den System- und Software-Anforderungen spezifizieren. Methodisch kann dies unterstützt werden, wenn alle Timing- und Performance-relevanten Daten in ‚Real-Time Data Sheets‘ erfasst werden. Im Verlauf der Implementation und Integration werden die eingangs erstellten und im Verlauf verfeinerten Modelle des Echtzeitverhaltens der Systeme mittels virtueller Integration in ein Gesamtsystemmodell zusammengefasst. So kann ständig die Performance und das Echtzeitverhalten des Gesamtsystems überprüft und das Projektrisiko durch Timing-Fehler und Performance-Engpässe minimiert werden. Die gemeinsame Modellierung und Analyse des Echtzeitverhaltens erhöht bei allen Beteiligten das Gesamtsystemverständnis und führt damit auf allen Seiten zu wesentlichen Verbesserungen im Entwicklungsprozess.

Fazit

Durch die frühzeitige Kenntnis und die entwicklungsbegleitende Überwachung der Real-Time Risks werden Timing-Fehler wesentlich früher und damit kostengünstiger entdeckt und behoben – methodisch und mit geringem Risiko.

KASTEN: Inchron Tool-Suite

Die Inchron Tool-Suite ist die Modell-basierte Lösung zur Entwicklung von echtzeitkritischen Embedded Systemen. Sie ermöglicht die vollständige Simulation, Validierung, Analyse und detaillierte Vorhersage des dynamischen Verhaltens von Embedded Software.

– Optimierung des dynamischen Verhaltens von einzelnen oder verteilten Systemen
– Entwurf und frühe Analyse neuer/geänderter Systemarchitekturen mittels

Simulation und Validierung in einem Systemmodell
– Automatisierte Überprüfung der detailierten Echtzeitanforderungen und

Dokumentation der Ergebnisse
– Erkennen und Beheben der Ursachen von Laufzeitfehlern, wie z.B. Interrupt- und

Task-Verdrängung, Life-/Dead-Locks von Tasks oder Stack Overflows

Anwender erlangen ein besseres Systemverständnis und erkennen und beheben daher Echtzeitfehler bereits sehr früh im Entwicklungsprozess. Sie verringern damit die Anzahl der Re-Designs, entwickeln die Systeme in kürzerer Zeit zu geringeren Kosten und erzielen einen höheren Qualitätsstandard.

Inchron GmbH
www.inchron.com

Das könnte Sie auch Interessieren

Bild: PiBond Oy
Bild: PiBond Oy
PSI Institut und PiBond kooperieren

PSI Institut und PiBond kooperieren

PiBond, Hersteller von Materialien für die Halbleiterindustrie, hat mit dem Paul Scherrer Institut PSI, Forschungsinstitut für Natur- und Ingenieurwissenschaften in der Schweiz, eine Vereinbarung über Technologielizenzen und strategische Zusammenarbeit unterzeichnet, um die Entwicklung von lithografischen Werkstoffen der nächsten Generation sowie zukünftige Halbleiterinnovationen voranzutreiben.