{"id":8078,"date":"2025-11-29T09:42:09","date_gmt":"2025-11-29T08:42:09","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=8078"},"modified":"2026-02-11T05:09:24","modified_gmt":"2026-02-11T04:09:24","slug":"automatic-multi-core-real-time-validation","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/automatische-multi-core-echtzeitvalidierung\/","title":{"rendered":"Automatic multi-core real-time validation"},"content":{"rendered":"<h2>Ein Prozess f\u00fcr modellbasierte Softwareentwicklung<\/h2>\n<p style=\"text-align: left;\" align=\"center\">Autoren: Felix Martin, Andreas Sailer, Michael Deubzer, Timing-Architects Embedded Systems GmbH, J\u00fcrgen Mottok, Ostbayerische Technische Hochschule<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2015<\/h3>\n<p><strong>Der Trend zum Einsatz von Multi-Core Prozessoren, um den steigenden Leistungsanforderungen in eingebetteten Echtzeitsystemen gerecht zu werden, ist ebenso klar erkennbar wie die damit einhergehenden Herausforderungen hinsichtlich Zeitverhalten, Datenabh\u00e4ngigkeiten, Performanz und Zuverl\u00e4ssigkeit. Dieser Beitrag zeigt am Beispiel des freien Echtzeitbetriebssystems Erika Enterprise einen modellbasierten Ansatz, um die Einhaltung von sicherheitskritischen Echtzeitanforderungen mittels Tracing \u00fcber den kompletten Entwicklungsprozess zu \u00fcberwachen.<br \/>\n<\/strong><\/p>\n<h2>Einleitung<\/h2>\n<p>Ein modellbasierter Entwicklungsansatz erlaubt es bereits in der Planungsphase von Softwareprojekten, die Einhaltung von systemkritischen Anforderungen und Beschr\u00e4nkungen sicherzustellen [1]. Dazu wird ein Modell erstellt, welches das zeitliche Verhalten des Systems beschreibt.<\/p>\n<p>Ein solches Modell besteht aus einem Hardware-, einem Betriebssystem- und einem Anwendungsteil. Der Hardwareteil beschreibt abstrakt das Verhalten des Prozessors, auf dem die finale Applikation durchgef\u00fchrt werden soll. Der Betriebssystemteil modelliert das Verhalten von Serviceroutinen, wie zum Beipsiel die Anzahl an Instruktionen, die f\u00fcr eine Inter-Prozess-Aktivierung notwendig sind. Das Anwendungsmodell bildet die eigentliche Funktionalit\u00e4t der Applikation ab. Echtzeitkritische Softwaresysteme setzen sich aus verschiedenen Tasks zusammen, die wiederum anwendungsspezifische Funktionen, sogenannte Runnables, aufrufen.<\/p>\n<p>Basierend auf einem solchen Modell k\u00f6nnen dann Anforderungen hinsichtlich des geforderten Zeitverhaltens definiert werden. Anforderungen k\u00f6nnen f\u00fcr alle Objekte, die im Anwendungsteil des Modells bestimmt sind, gestellt werden. Ein klassisches Beispiel hierf\u00fcr ist die maximale Reaktionszeit einer Task, also die Zeit von ihrer Aktivierung bis zur Terminierung. Anforderungen an Datenabh\u00e4ngigkeiten k\u00f6nnen in Form von Data-Age-Constraints festgehalten werden [2]. Au\u00dferdem erlauben es sogenannte Ereignisketten, Zeitanforderungen f\u00fcr die Ausf\u00fchrung einer beliebigen Folge von Systemereignissen festzulegen.<\/p>\n<p>Mit Hilfe einer diskreten Event-Simulation ist es nun m\u00f6glich, das Laufzeitverhalten der finalen Applikation basierend auf einer solchen Systembeschreibung zu berechnen. Das Ergebnis ist ein sogenannter Trace &#8211; eine Abfolge von Ereignissen, die das Echtzeitverhalten des Systems wiedergeben. Dieser Trace kann nun ausgewertet und mit den definierten Anforderungen verglichen werden, was in Abbildung 1 (siehe\u00a0<a title=\"Automatische Multi-Core-Echtzeitvalidierung (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_automatische_multi-core-echtzeitvalidierung_timing_architects_gmbh__ostbayerische_technische_hochschule_martin__sailer__deubzer__mottok.pdf\">PDF<\/a>) dargestellt ist. So lassen sich Fehler im Systemdesign fr\u00fch erkennen und beheben.<\/p>\n<p>Auch wenn eine Applikation in die Entwicklungsphase geht, k\u00f6nnen die gestellten Anforderungen weiterhin validiert werden. Dazu ist es notwendig, das Verhalten der Software auf der Zielplattorm aufzuzeichnen &#8211; ein Prozess, der als Tracing oder Trace Recording bekannt ist. Der erste Teil dieses Beitrags zeigt die verschiedenen M\u00f6glichkeiten, um Traces von der Hardware aufzuzeichnen. Aufgezeichnete Tasks sind \u00fcblicherweise nicht in diesem Format, das f\u00fcr die Validierung der Echtzeitanforderungen geeignet ist. Aus diesem Grund erl\u00e4utert der zweite Teil, welche Schritte zur \u00dcberf\u00fchrung in ein geeignetes Format notwendig sind. Abschlie\u00dfend wird beschrieben, wie diese Schrite unter Verwendung des Modells automatisiert werden k\u00f6nnen.<\/p>\n<h2>Tracing<\/h2>\n<p>Mittels Tracing kann das Verhalten von eingebetteten Systemen von der Hardware aufgezeichnet werden. Wie beim Simulieren ist das Result ein Trace, also eine Serie von Ereignissen, die verschiedene Vorkommnisse im System repr\u00e4sentieren. Nach Ferrari [3] gibt es daf\u00fcr drei prinzipielle M\u00f6glichkeiten: softwarebasiertes, hybrides und hardwarebasiertes Tracing.<\/p>\n<p>Beim softwarebasierten Tracing wird ein spezieller Code zur Applikation hinzugef\u00fcgt. Diese sogenannte Instrumentierung sorgt daf\u00fcr, dass Ereignisse, die zur Analyse des Laufzeitverhaltens von Interesse sind, mit zugeh\u00f6rigem Zeitstempel im Speicher geloggt werden. Nach der Ausf\u00fchrung kann der Trace via Debugger oder serieller Schnittstelle ausgelesen werden. Dieser Ansatz ver\u00e4ndert jedoch das Laufzeitverhalten der Applikation [4]. Dar\u00fcber hinaus ist die maximal m\u00f6gliche Tracedauer durch den verf\u00fcgbaren Speicherplatz auf der Hardware limitiert.<\/p>\n<p>Hybrides Tracing ist ebenso auf die Instrumentierung der Applikation angewiesen und ver\u00e4ndert damit das Laufzeitverhalten. Im Gegensatz zum softwarebasierten Ansatz werden die aufgezeichneten Ereignisse direkt \u00fcber eine dedizierte Schnittstelle zur weiteren Analyse versendet. Dies bedeutet, dass bei ausreichender Bandbreite die maximal m\u00f6gliche Tracedauer nicht vom verf\u00fcgbaren Speicherplatz limitiert wird.<\/p>\n<p>F\u00fcr hardwarebasiertes Tracing, auch bekannt unter dem Begriff &#8222;On-Chip-Trace&#8220;, ist keine Softwareinstrumentierung notwendig. Stattdessen wird ein eigens daf\u00fcr vorgesehener Bereich auf dem Prozessor dazu verwendet, die Befehlsabarbeitung und die Datentransfers der CPUs aufzuzeichnen. Diese Ereignisse k\u00f6nnen nach nutzerdefinierten Regeln gefiltert werden, um dann \u00fcber ein spezielles Hardware-Trace-Interface vom Chip gesendet zu werden. Wird eine entsprechende Hochleistungsschnittstelle wie das AURORA-Interface verwendet, sind damit Aufzeichnungen von beliebiger L\u00e4nge m\u00f6glich [5].<\/p>\n<p>Hardwarebasiertes Tracing ist die einzige Methode, die eine sinnvolle Validierung von Echtzeitanforderungen auf der Hardware erlaubt. Wie erw\u00e4hnt wurde, ver\u00e4ndern Ans\u00e4tze, die auf Instrumentierung beruhen, das Laufzeitverhalten. Somit kann es besonders bei stark ausgelasteten Applikationen passieren, dass Anforderungen, die normalerweise erf\u00fcllt sind, aufgrund des zus\u00e4tzlichen Rechenaufwands durch die Instrumentierung nicht mehr eingehalten werden. Dar\u00fcber hinaus bedeutet es einen entwicklungstechnischen Mehraufwand, Instrumentierung zur Applikation hinzuzuf\u00fcgen und zu pflegen.<\/p>\n<p>Grunds\u00e4tzlich kann hardwarebasiertes Tracing drei Arten von Traces erzeugen: Instruction-, Daten- und Signal-Traces [6]. Instruction-Traces bestehen aus Befehlen, die von der CPU abgearbeitet wurden. Zusammen mit den Debuginformationen kann daraus der komplette Programmpfad der Applikation rekonstruiert werden. Daten-Traces enthalten Speicherzugriffe der CPUs, also beispielsweise Schreib- und Lesezugriffe auf Variablen der Applikation. Signal-Traces beinhalten Informationen \u00fcber das Verhalten von Peripherals, wie zum Beispiel des Generic Timer Modules (GTM) der Infineon AURIX<span class=\"st\">\u2122<\/span>-Prozessor-Familie.<\/p>\n<p>Das folgende Listing zeigt die textuelle Repr\u00e4sentation eines Datatrace-Ereignisses, exportiert auf dem Tool\u00a0<em>TRACE32\u00a0<\/em>der Lauterbach GmbH [7].<\/p>\n<p>0.0013952200,EE_th_status[0],&#8220;wr-data&#8220;,00000003,0<\/p>\n<p>Jedes Ereignis besteht aus f\u00fcnf Feldern. Das erste entspricht dem Zeitstempel, zu dem das Ereignis aufgezeichnet wurde. Die Zeiteinheit ist Sekunden. Das zweite Feld repr\u00e4sentiert die Variable, die von dem Datenzugriff betroffen ist. Das dritte Feld gibt an, ob ein Lese- oder ein Schreibzugriff stattgefunden hat. In diesem Fall handelt es sich um Letzteres (&#8222;write-data&#8220;). Das vierte Feld gibt den Wert an, der in die Variable geschrieben wurde. Das letzte Feld zeigt die ID des Prozessorkerns, auf dem das Ereignis stattgefunden hat.<\/p>\n<p>Das folgende Listing zeigt die textuelle Repr\u00e4sentation eines Instruction-Trace-Ereignisses, ebenso exportiert aus\u00a0<em>TRACE32<\/em>.<\/p>\n<p>+1408860; R_2_1; fstart; 0<\/p>\n<p>Das erste Feld entspricht wieder dem Zeitpunkt, zu dem das Ereignis aufgezeichnet wurde. Diesmal ist die Zeit in Nanosekunden angegeben. Das zweite Feld gibt den Namen des Softwareobjekts an, das von dem Event betroffen ist. Das dritte Feld gibt an, welche Aktion f\u00fcr das Softwareobjekt ausgef\u00fchrt wird, in diesem Fall startet die Funktion\u00a0<em>R_2_1<\/em>. Das letzte Feld repr\u00e4sentiert wieder den Prozessorkern, auf dem das Ereignis stattgefunden hat.<\/p>\n<h2>Zuordnung<\/h2>\n<p>In der Einleitung wurde beschrieben, wie Anforderungen f\u00fcr Systemobjekte, wie Tasks und Signale definiert werden k\u00f6nnen. Im Gegensaz dazu beziehen sich Ereignisse, die beim hardwarebasierten Tracing aufgezeichnet werden, auf Softwareobjekte, also Entit\u00e4ten, die auf Source-Code-Level definiert sind, so wie Variablen und Funktionen.<\/p>\n<p>Um hardwarebasierte Traces f\u00fcr die Validierung von Echtzeitanforderungen zu verwenden, ist es also notwendig, die Traces von Softwarelevel auf Systemlevel zu transformieren, was in Abbildung 2 (siehe\u00a0<a title=\"Automatische Multi-Core-Echtzeitvalidierung (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_automatische_multi-core-echtzeitvalidierung_timing_architects_gmbh__ostbayerische_technische_hochschule_martin__sailer__deubzer__mottok.pdf\">PDF<\/a>) veranschaulicht wird. Daf\u00fcr m\u00fcssen die verschiedenen Systemereignisse den entsprechenden Ereignissen auf Softwarelevel zugeordnet werden. Zur Repr\u00e4sentation des Traces auf Systemlevel ist au\u00dferdem ein geeignetes Format, wie das Best Trace Format (BTF) [8], notwendig.<\/p>\n<p>Zur Verdeutlichung der Transformation soll das Data-Trace-Ereignis von oben verwendet werden. Dieses sagt aus, dass nach\u00a0<em>1395220\u00a0<\/em>Nanosekunden der Wert 3 in das erste Feld des Arrays\u00a0<em>EE_th_status<\/em>\u00a0auf den Kern mit der ID\u00a0<em>0<\/em>\u00a0geschrieben wurde. Diese Aussage kann f\u00fcr die Evaluierung von Echtzeitanforderungen jedoch nicht verwendet werden, da zur Interpretierung des Ereignisses auf Systemlevel zus\u00e4tzliche Informationen notwendig sind. Das Erika Enterprise Betriebssystem speichert den Zustand jedes Tasks in einem Feld des\u00a0<em>EE_th_status<\/em>\u00a0Arrays. Das Feld mit dem Index\u00a0<em>0<\/em>\u00a0bezieht sich in diesem Beispiel auf den Task\u00a0<em>T_IMS_0<\/em>. Abschlie\u00dfend kann die Aussage des Events umformuliert werden: nach\u00a0<em>1395220\u00a0<\/em>Nanosekunden wurde der Task\u00a0<em>T_IMS_0<\/em>\u00a0auf dem Kern\u00a0<em>0<\/em>\u00a0terminiert.<\/p>\n<p>Das OSEK Run Time Interface (ORTI) wurde spezifiziert, um die Zuordnung von Software- zu Systemobjekten f\u00fcr OSE-konforme Betriebssysteme zu erleichtern. Es erm\u00f6glicht beispielweise die Art und Weise, wie das Betriebssystem Taskzust\u00e4nde speichert, automatisch zu detektieren. Dass bedeutet, der Nutzer muss nicht zwingend wissen, dass\u00a0<em>EE_th_status<\/em>\u00a0daf\u00fcr verwendet wird. Stattdessen kann diese Information aus der ORTI-Datei gelesen werden.<\/p>\n<p>Jedoch stellt ORTI nicht zwingenderma\u00dfen Informationen f\u00fcr alle Systemobjekte, die f\u00fcr die Analyse des Echtzeitverhaltens von Systemen von Interesse sind, zur Verf\u00fcgung. Beispielsweise sind Runnables und Signale nicht durch ORTI abgedeckt. In diesem Fall ist es erforderlich, diese Informationen \u00fcber andere Wege bereitzustellen. Ansonsten ist eine Zuordnung und damit eine Transformation f\u00fcr bestimmte Objekte nicht m\u00f6glich. Das Instruction-Trace-Ereignis aus dem Beispiel von oben repr\u00e4sentiert den Start der Funktion\u00a0<em>R_2_1<\/em>. Nur wenn zum Zeitpunkt der Transformation bekannt ist, dass diese Funktion auf Systemlevel einem Runnable enspricht, kann das korrekte Systemereignis erstellt werden.<\/p>\n<p>Selbst wenn ein Objekttyp &#8211; so wie Tasks &#8211; von ORTI unterst\u00fctzt werden, k\u00f6nnen nicht zwingend alle Ereignisse auf Systemlevel rekonstruiert werden. Beispielsweise definiert BTF f\u00fcr Tasks ein\u00a0<em>mtalimitexceeded<\/em>\u00a0Ereignis, das dann eintritt, wenn ein Task aktiviert wird, f\u00fcr den keine weitere Aktivierung erlaubt ist. \u00dcber das ORTI\u00a0<em>lasterror\u00a0<\/em>Attribut ist es m\u00f6glich, diese Ereignisse zu erkennen, jedoch ist es nicht m\u00f6glich herauszufinden, f\u00fcr welchen Task das Ereignis ausgel\u00f6st wurde. In diesem Fall sind zus\u00e4tzliche Informationen \u00fcber die Funktionsweise des Betriebssystems notwendig. Erika Enterprise liest die Variable\u00a0<em>EE_th_<\/em><em>rnact<\/em>, um festzustellen, ob eine weitere Taskaktivierung erlaubt ist. Falls nicht, wird direkt nach dem Lese-Ereignis der entsprechende Fehlercode in\u00a0<em>lasterror<\/em>\u00a0geschrieben. Ist dieses Verhalten bekannt, kann trotz fehlender ORTI-Unterst\u00fctzung das Ereignis rekonstruiert werden.<\/p>\n<p>Entsprechend dieser Beispiele k\u00f6nnen prinzipiell alle Ereignisse, die von BTF spezifiziet sind, von Software- auf Systemlevel transformiert werden. Je nachdem, welche Anforderungen validiert werden sollen, ist mehr oder weniger Detailwissen \u00fcber die Funktionsweisen des Betriebssystems notwendig.<\/p>\n<h2>Automatisierung<\/h2>\n<p>Wie aus den vorherigen Sektionen hervorgeht, ist eine Anforderungsvalidierung via Tracing nicht trivial. Zuerst muss eine geeignete Trace-Technologie ausgew\u00e4hlt werden, anschlie\u00dfend m\u00fcssen die erzeugten Traces richtig interpretiert werden, um eine Echtzeitanalyse zu erm\u00f6glichen. Ein modellbasierter Entwicklungsansatz kann bei beiden Aufgaben unterst\u00fctzen.<\/p>\n<p>Zur Aufzeichnung eines korrekten Traces ist die korrekte Konfiguration der Trace-Hardware notwendig. Diese ist einerseits vom Prozessor und andererseits vom verwendeten Betriebssystem abh\u00e4ngig. Das oben erw\u00e4hnte Modell des Systems enth\u00e4lt Informationen \u00fcber diese beiden Aspekte. Dies bedeutet, dass basierend auf dem Modell die korrekte Trace-Konfiguration automatisiert erstellt werden kann. Beispielsweise kann der korrekte Prozessortyp aus dem Hardwareteil und die korrekte Konfiguration des Daten-Traces aus dem Betriebssystemteil erstellt werden.<\/p>\n<p>Dar\u00fcber hinaus kann der Applikationscode selbst automatisch aus dem Modell generiert werden. Das bedeutet, sobald ein Modell erstellt ist, kann ein erster Prototyp der Applikation auf realer Hardware getestet werden. Funktionen, die noch nicht implementiert sind, werden dabei durch Funktionsstubs, die Laufzeit entsprechend der Konfiguration im Modell verbrauchen, ersetzt. So bald neue Funktionsteile implementiert sind, werden die entsprechenden Stubs ersetzt. Basierend auf dem Zeitverhalten der realen Funktionen kann das Modell iterativ verbessert werden. Dieses Vorgehen erlaubt einen permanenten Abgleich zwischen Modell und realer Applikation und damit einhergehend eine kontinuierliche \u00dcberwachung der Anforderungen.<\/p>\n<p>Mit einem automatisch generierten Prototyp der Applikation und der entsprechenden Trace-Konfiguration, welche ebenso automatisiert generiert wurde, k\u00f6nnen Hardware-Traces vollst\u00e4ndig automatisiert aufgezeichnet werden. Anschlie\u00dfend muss der Trace auf Systemlevel transformiert werden, um eine Zeitanalyse durchzuf\u00fchren. Ein Teil der daf\u00fcr notwendigen Informationen kann aus dem Modell extrahiert werden. Zum einen kann basierend auf dem Modell entschieden werden, welche Funktionen Runnables sind, zum anderen, welche Variablen Signale sind. Dementsprechend werden Ereignisse f\u00fcr alle Objekte, die f\u00fcr die Echtzeitanalyse von Bedeutung sind, erstellt.<\/p>\n<p>Abschlie\u00dfend wird der erzeugte Trace evaluiert und mit den gestellten Anforderungen verglichen. Basierend auf den Ereignissen kann ein Report erstellt werden, der den momentaren Status der Applikation wiedergibt. Gen\u00fcgt das Zeitverhalten nicht den gestellten Anforderungen, kann dies anhand des Reports festgestellt und das Systemdesign verbessert werden. Nach der Verbesserung wird der Prozess erneut durchlaufen, bis das Systemverhalten den Anforderungen gen\u00fcgt. Abbildung 3 (siehe\u00a0<a title=\"Automatische Multi-Core-Echtzeitvalidierung (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_automatische_multi-core-echtzeitvalidierung_timing_architects_gmbh__ostbayerische_technische_hochschule_martin__sailer__deubzer__mottok-1.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) visualisiert dieses Vorgehen.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Ein modellbasierter Entwicklungsansatz erlaubt es, eingebettete Multi-Core-Applikationen bereits in der Designphase hinsichtlich ihres Zeitverhaltens zu untersuchen. Dies ist m\u00f6glich, ohne sich auf einen Prozessor oder ein Betriebssystem festzulegen. Dieser Beitrag zeigt, wie die Anforderungen, die in der Designphase gestellt und via Simulation validiert wurden, auch in der Implementierungsphase weiter \u00fcberwacht werden k\u00f6nnen. Dazu ist es notwendig, das Systemverhalten \u00fcber hardwarebasiertes Tracing aufzuzeichnen und den resultierenden Trace in ein geeignetes Format zu \u00fcbersetzen. Basierend auf einem Modell k\u00f6nnen diese Schritte automatisiert durchgef\u00fchrt werden.<\/p>\n<p>Moderne Multi-Core Prozessoren unterst\u00fctzen drei Arten von Tracing. Im Moment werden nur zwei Arten zur Echtzeitvalidierung genutzt: Daten-Tracing und Instruction-Tracing. Die M\u00f6glichkeit, periphere Hardware, wie Timer Units oder CAN Module, via Signal-Tracing zu tracen, k\u00f6nnte in Zukunft dazu genutzt werden, das Kollektivverhalten von mehreren Prozessoren zu \u00fcberwachen. Das bedeutet, die einzelnen Prozessoren werden nicht isoliert voneinander betrachtet, sondern auch die Kommunikation zwischen den distinktiven Einheiten wird in die Analyse des Echtzeitverhaltens miteinbezogen.<\/p>\n<h2>Quellenverzeichnis<\/h2>\n<table style=\"height: 231px;\" border=\"0\" cellpadding=\"0\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[1]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">M. Deubzer, A. Stingl, E. Simsek, S. Kr\u00e4mer, J. Mottok, &#8222;Performante und zuverl\u00e4ssige Embedded-Multi-Core-Systeme&#8220;,\u00a0<em>ESE Kongress<\/em>, Sindelfingen, 2014.<\/td>\n<\/tr>\n<tr style=\"height: 47px;\">\n<td style=\"height: 47px; width: 15.5781px;\" valign=\"top\">[2]<\/td>\n<td style=\"height: 47px; width: 1313.41px;\" valign=\"top\">M.-A. Peraldi-Frati, A. Goknil, J. DeAntoni, J. Nordlander, &#8222;A timing model for specifying multi clock automotive systems: The timing augmented description language v2&#8220;, in\u00a0<em>Engineering of Complex Computer Systems (ICECCS), 2012 17th International Conference on Engineering of Complex Computer Systems<\/em>, Paris, IEEE, 2012, pp. 230-239.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[3]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">D. Ferrari, Computer systems performance evaluation, Prentice Hall, 1987.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[4]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">J. Kraft, A. Wall, H. Kienle, &#8222;Trace recording for embedded systems: Lessons learned from five industrial projects&#8220;, in\u00a0<em>Runtime Verification<\/em>, Springer, 2015, pp. 315-329.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[5]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">A. Martin, &#8222;Tracedaten auf die Festplatte streamen&#8220;,\u00a0<em>ESE Kongress<\/em>, Sindelfingen, 2013.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[6]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">J. Braunes, &#8222;Die neue Trace-Welt jenseits von Code- und Daten-Trace&#8220;,\u00a0<em>ESE Kongress<\/em>, Sindelfingen, 2013.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[7]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">Lauterbach GmbH, &#8222;<a href=\"https:\/\/www2.lauterbach.com\/pdf\/general_ref_t.pdf\" target=\"_blank\" rel=\"noopener\">TRACE32 &#8211; General Commands Reference Guide T<\/a>\u00a0(Accessed: 2015-10-19)&#8220;, H\u00f6henkirchen-Siegertsbrunn, 2015.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[8]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">Timing Architects Embedded Systems GmbH, &#8222;<a href=\"https:\/\/wiki.eclipse.org\/images\/e\/e6\/TA_BTF_Specification_2.1.3_Eclipse_Auto_IWG.pdf\" target=\"_blank\" rel=\"noopener\">BTF-Specification<\/a>&#8222;, AMALTHEA ITEA2 Project.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 15.5781px;\" valign=\"top\">[9]<\/td>\n<td style=\"height: 23px; width: 1313.41px;\" valign=\"top\">Timing-Architects Embedded Systems GmbH, &#8222;<a href=\"https:\/\/www.timing-architects.com\/ta-tool-suite\/inspector\/%20\" target=\"_blank\" rel=\"noopener\">TA Tool Suite &#8211; TA Inspector<\/a>&#8222;, (Accessed: 2015-10-20), Regensburg, 2015.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a title=\"Automatische Multi-Core-Echtzeitvalidierung (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_automatische_multi-core-echtzeitvalidierung_timing_architects_gmbh__ostbayerische_technische_hochschule_martin__sailer__deubzer__mottok.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF downloaden<\/strong><\/a><\/p>\n<hr \/>\n<h2>Multicore &#8211; unsere Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"Trainings und Termine - Mikrocontroller\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Multicore \/Mikrocontroller.<\/p>\n<p><strong>Training &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Multicore &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema Modellierung \/Embedded- und Echtzeit-Softwareentwicklung steht\u00a0<a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Fachinformationen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein Prozess f\u00fcr modellbasierte Softwareentwicklung Autoren: Felix Martin, Andreas Sailer, Michael Deubzer, Timing-Architects Embedded Systems GmbH, J\u00fcrgen Mottok, Ostbayerische Technische Hochschule Beitrag &#8211; Embedded Software Engineering Kongress 2015 Der Trend zum Einsatz von Multi-Core Prozessoren, um den steigenden Leistungsanforderungen in eingebetteten Echtzeitsystemen gerecht zu werden, ist ebenso klar erkennbar wie die damit einhergehenden Herausforderungen hinsichtlich [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-8078","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatische Multi-Core-Echtzeitvalidierung - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/automatic-multi-core-real-time-validation\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatische Multi-Core-Echtzeitvalidierung - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Ein Prozess f\u00fcr modellbasierte Softwareentwicklung Autoren: Felix Martin, Andreas Sailer, Michael Deubzer, Timing-Architects Embedded Systems GmbH, J\u00fcrgen Mottok, Ostbayerische Technische Hochschule Beitrag &#8211; Embedded Software Engineering Kongress 2015 Der Trend zum Einsatz von Multi-Core Prozessoren, um den steigenden Leistungsanforderungen in eingebetteten Echtzeitsystemen gerecht zu werden, ist ebenso klar erkennbar wie die damit einhergehenden Herausforderungen hinsichtlich [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/automatic-multi-core-real-time-validation\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T08:42:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-11T04:09:24+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Automatische Multi-Core-Echtzeitvalidierung\",\"datePublished\":\"2025-11-29T08:42:09+00:00\",\"dateModified\":\"2026-02-11T04:09:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/\"},\"wordCount\":2364,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/\",\"name\":\"Automatische Multi-Core-Echtzeitvalidierung - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T08:42:09+00:00\",\"dateModified\":\"2026-02-11T04:09:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/automatische-multi-core-echtzeitvalidierung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatische Multi-Core-Echtzeitvalidierung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatic multi-core real-time validation - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/automatic-multi-core-real-time-validation\/","og_locale":"en_GB","og_type":"article","og_title":"Automatische Multi-Core-Echtzeitvalidierung - MicroConsult Academy GmbH","og_description":"Ein Prozess f\u00fcr modellbasierte Softwareentwicklung Autoren: Felix Martin, Andreas Sailer, Michael Deubzer, Timing-Architects Embedded Systems GmbH, J\u00fcrgen Mottok, Ostbayerische Technische Hochschule Beitrag &#8211; Embedded Software Engineering Kongress 2015 Der Trend zum Einsatz von Multi-Core Prozessoren, um den steigenden Leistungsanforderungen in eingebetteten Echtzeitsystemen gerecht zu werden, ist ebenso klar erkennbar wie die damit einhergehenden Herausforderungen hinsichtlich [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/automatic-multi-core-real-time-validation\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T08:42:09+00:00","article_modified_time":"2026-02-11T04:09:24+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Automatische Multi-Core-Echtzeitvalidierung","datePublished":"2025-11-29T08:42:09+00:00","dateModified":"2026-02-11T04:09:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/"},"wordCount":2364,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/","url":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/","name":"Automatic multi-core real-time validation - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T08:42:09+00:00","dateModified":"2026-02-11T04:09:24+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/automatische-multi-core-echtzeitvalidierung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Automatische Multi-Core-Echtzeitvalidierung"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=8078"}],"version-history":[{"count":8,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8078\/revisions"}],"predecessor-version":[{"id":11603,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8078\/revisions\/11603"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=8078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=8078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=8078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}