Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
18 Elektronik 20 2023 EmbEddEd-SyStEmE Bild 6 Empfohlenes Feedback-Konzept für die Timing-Analyse in Multicore-Systemen Bild LDRA basierend auf Arbeiten von Wind River Systems und Collins Aerospace und über den potenziellen Ressourcenbedarf eines Codesegments indem sie Einblicke in die Modulgröße die Kontrollf luss-Strukturen und den Datenfluss bieten Entwicklern hilft die Halstead-Metrik ihre Anstrengungen bei der Timing-Analyse und beim Optimieren jener Codeabschnitte zu priorisieren die durch einen größeren Umfang erhöhte Komplexität und diffizile Datenfluss-Muster gekennzeichnet sind Hierdurch verringert sich das Risiko dass es zu Timing-Überschreitungen kommt und das gesamte Timing-Verhalten des Systems verbessert sich Tools wie die LDRA Tool Suite [3] können diese Metriken berechnen Bild 3 2 Empirische Analyse der Verarbeitungszeit Haben Entwickler erst einmal die Module hoher Priorität ermittelt können sie die dynamische Analyse zum Messen und Dokumentieren des Task-Timings nutzen und Abstimmungen am System vornehmen wenn die Zielvorgaben nicht erreicht werden »Interferenzanalyse« Um höchste Genauigkeit zu gewährleisten sollten sie dabei drei entscheidende Überlegungen anstellen ➔ ➔ Die Analyse hat in der Umgebung stattzufinden in der die Applikation letztendlich laufen soll So lassen sich Auswirkungen etwaiger Konfigurationsunterschiede zwischen Entwicklungsund Produktionsumgebung ausschließen z B Compileroptionen Linkeroptionen und Hardwareeigenschaften ➔ ➔ Die Analyse muss wiederholt eine hinreichende Anzahl Tests ausführen um umgebungsund anwendungsbezogene Variationen zwischen den Durchläufen zu berücksichtigen ➔ ➔ Eine Automatisierung ist äußerst empfehlenswert um zu gewährleisten dass ausreichend viele Tests in einem vertretbaren Zeitraum ausgeführt werden und um Auswirkungen manueller Aktionen die im Vergleich damit langsamer sind auszuschließen Die LDRA Tool Suite bietet einen besonders robusten Mechanismus zur Durchführung von Timing-Analysen Bild 4 indem ein »Wrapper«-Test-Harness zum Ausführen von Modulen im Zielsystem benutzt wird Dieser Mechanismus automatisiert die Timing-Messungen und erlaubt Entwicklern die Definition der zu testenden Komponenten – sei es eine einzelne Funktion ein aus mehreren Komponenten bestehendes Subsystem oder das gesamte System Überdies können die Entwickler angeben welche Art von CPU-Stresstests durchgeführt werden sollen um das Vertrauen in die Ergebnisse zu stärken ein Beispiel ist der quelloffene Workload-Generator »Stressng« [4] 3 Kontrollund Datenkopplungsanalysen Mit Kontrollund Datenkopplungsanalysen wird untersucht wie sich die Task-Verarbeitung und Datenabhängigkeiten in einem Task auf einen anderen Task auswirken sodass sich potenzielle Timing-Probleme identifizieren lassen Sollte beispielsweise ein Task zuerst die Beendigung eines anderen Task abwarten müssen bevor er weitermachen kann können sich Probleme einstellen wenn die Ausführung verzögert wird Überschreitet der gerade ausgeführte Task seine Deadline kann dies auch die Einhaltung der Timing-Anforderungen des von ihr abhängigen Tasks beeinflussen Auf ähnliche Weise kann es zu Datenkopplungsproblemen kommen wenn mehrere Tasks gleichzeitig auf eine gemeinsam genutzte Ressource zugreifen wollen ohne dass es geeignete Synchronisationsmechanismen gibt Das Resultat sind Data Races oder Ressourcenkonflikte die wiederum Konsequenzen für das Timing haben Die LDRA Tool Suite bietet Unterstützung für Kontrollund Datenkopplungsanalysen [5] bezüglich des Datenund Kontrollflusses zwischen Softwarekomponenten und Applikationen Bild 5 Die Ergebnisse dieser Analysen helfen Entwicklern beim Einkreisen kritischer Codeabschnitte die optimiert oder umstrukturiert werden müssen um Kontrollfluss-Abhängigkeiten zu minimieren und Datenkonflikte zu entschärfen 4 Anforderungs-Rückverfolgbarkeit Die empirische Natur von Timing-Analysen in Multicore-Systemen macht die Interferenzanalyse zu einem iterativen Prozess Bild 6 Das wiederholte Modifizieren von Tasks und das Nachschärfen von Konfigurationsparametern hat mit großer Wahrscheinlichkeit Folgewirkungen auf andere Testaspekte die entsprechend zurückgeführt werden müssen Ebenso können Änderungen