Entries by Alexander

FPL2020 conference: Using DSP Slices as Content-Addressable Update Queues

Non-intrusive online monitoring of embedded processors can only be realized with high-end FPGA solutions.To get an impression of the underlying complexity, check out Tom’s presentation held at the 30th International Conference on Field-Programmable Logic and Applications (FPL 2020). Abstract: Content-Addressable Memory (CAM) is a powerful abstraction for building memory caches, routing tables and hazard detection logic. Without […]

Talk @ SAEC Days 2020 23.7.2020

Alexander Weiss und Martin Heininger (HEICON):
Strukturelle Tests auf höheren Testebenen

Wie kann die Vollständigkeit von Integrations- und Systemtests eingebetteter Systeme gemessen werden? Mathematisch exakt tut man dies mit strukturellen Tests. Leider hat die hierzu oftmals verwendete SW-Instrumentierung den Nachteil, dass sie das Zeitverhalten des Releasecodes und eine ganze Menge anderer Dinge verfälscht. Bei Modultests kommt es darauf nicht unbedingt an, bei Tests höherer Ebenen meist aber schon. Was also tun?

Im Vortrag (und in der begleitenden Ausstellung) wird eine neue Beobachtungsmethode vorgestellt, die mittels eines live synchronisierten digitalen Zwillings nichtintrusiv und kontinuierlich die strukturelle Testabdeckung misst und damit eine exakte Aussage liefert, wie viele weiße Flecken bei der Ausführung der höheren Tests verblieben sind. Ist dieser nicht ausgeführte Code nur für Modultests oder gar nicht erreichbar? Oder fehlt da der eine oder andere Test?

Zudem erlaubt der tiefe Blick in den Prozessor (ohne dass die Applikation dadurch beeinflusst wird) auch die parallele Überwachung einer Vielzahl komplexer Timing -Constraints. Diese lassen sich bequem in einer Hochsprache beschreiben und schlagen Alarm, wenn nach zehn Stunden Betrieb eine Funktion eine Mikrosekunde zu lange gebraucht hat. Ohne SW-Instrumentierung.

Um die Testbarkeit eines eingebetteten Systems derart zu verbessern, müssen einige Soft- und Hardwarevoraussetzungen bei der Planung der Systemarchitektur berücksichtigt werden. Am Ende des Vortrags werden auch diese erläutert.

Talk @ SAEC Days 2020 21.7.2020

Martin Heininger (HEICON) and Alexander Weiss:
Strukturelle Tests auf höheren Testebenen

Wie kann die Vollständigkeit von Integrations- und Systemtests eingebetteter Systeme gemessen werden? Mathematisch exakt tut man dies mit strukturellen Tests. Leider hat die hierzu oftmals verwendete SW-Instrumentierung den Nachteil, dass sie das Zeitverhalten des Releasecodes und eine ganze Menge anderer Dinge verfälscht. Bei Modultests kommt es darauf nicht unbedingt an, bei Tests höherer Ebenen meist aber schon. Was also tun?

Im Vortrag (und in der begleitenden Ausstellung) wird eine neue Beobachtungsmethode vorgestellt, die mittels eines live synchronisierten digitalen Zwillings nichtintrusiv und kontinuierlich die strukturelle Testabdeckung misst und damit eine exakte Aussage liefert, wie viele weiße Flecken bei der Ausführung der höheren Tests verblieben sind. Ist dieser nicht ausgeführte Code nur für Modultests oder gar nicht erreichbar? Oder fehlt da der eine oder andere Test?

Zudem erlaubt der tiefe Blick in den Prozessor (ohne dass die Applikation dadurch beeinflusst wird) auch die parallele Überwachung einer Vielzahl komplexer Timing -Constraints. Diese lassen sich bequem in einer Hochsprache beschreiben und schlagen Alarm, wenn nach zehn Stunden Betrieb eine Funktion eine Mikrosekunde zu lange gebraucht hat. Ohne SW-Instrumentierung.

Um die Testbarkeit eines eingebetteten Systems derart zu verbessern, müssen einige Soft- und Hardwarevoraussetzungen bei der Planung der Systemarchitektur berücksichtigt werden. Am Ende des Vortrags werden auch diese erläutert.

Forum Safety and Security 2020

Alexander Weiss: Dynamische und strukturelle Tests auf höheren Ebenen

Fehlerfreie Software ist ein unerfüllbarer Traum. Jedoch muss eine Annäherung an dieses Ideal eines der wichtigsten Entwicklungsziele sein, besonders im Bereich der sicherheitskritischen Systeme. Neben einer wohl überlegten Systemarchitektur und einer guten Implementierung sind daher (a) möglichst vollständige funktionale und strukturelle Tests und (b) Vorkehrungen für den Umgang mit Fehlern im Feld unbedingte Voraussetzungen, um die maximal mögliche Sicherheit für ein System zu erreichen. Die entscheidende Voraussetzung für umfassende Tests und effiziente Fehlersuche ist die Beobachtbarkeit, idealerweise ohne das System dabei zu beeinflussen. Bei den funktionalen Tests wird die automatische Überprüfung von Timing-Constraints (dynamische Analyse von Wirketten) immer bedeutsamer, bei den strukturellen Tests wird es zunehmend wichtiger, diese auch auf höheren Testebenen (Integrations- und Systemtests) durchführen zu können. Im Vortrag wird ein Überblick über neue Ansätze zum Umgang mit diesen Herausforderungen gegeben. Es wird erläutert und demonstriert, wie Timing-Constraints mittels einer Hochsprache beschrieben werden und wie sich kleinste Timingverletzungen selbst in langen Testläufen vollautomatisiert erkennen lassen. Der Teilnehmer lernt, wie er die Anzahl verbleibender Fehler im Release-Code abschätzen kann, welche Fehlertypen durch Tests auf höheren Ebenen erkannt werden können und welche Vorkehrungen er in seinem Hard- und Softwaredesign treffen sollte, um möglichst effizient testen und später debuggen zu können.