Anbieter zum Thema
Automatisierung
Wie aus den vorherigen Sektionen hervorgeht ist eine Anforderungsvalidierung via Tracing nicht trivial. Zuerst muss eine geeignete Tracetechnologie ausgewäht werden, anschließend müssen die erzeugten Traces richtig interpretiert werden um eine Echtzeitanalyse zu ermöglichen. Ein modellbasierter Entwicklungsansatz kann bei beiden Aufgaben unterstützen.
Zur Aufzeichnung eines korrekten Traces ist die korrekte Konfiguration der Tracehardware notwendig. Diese ist einerseits vom Prozessor und andererseits vom verwendeten Betriebssystem abhängig. Das oben erwähnte Modell des Systems enthält Informationen über diese beiden Aspekte. Dies bedeutet, dass basierend auf dem Modell die korrekte Tracekonfiguration automatisiert erstellt werden kann. Beispielsweise kann der korrekte Prozessortyp aus dem Hardwareteil und die korrekte Konfiguration des Datentraces aus dem Betriebssystemteil erstellt werden.
Darüberhinaus kann der Applikationscode selbst automatisch aus dem Modell generiert werden. Das bedeutet so bald 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 Überwachung der Anforderungen.
Mit einem automatisch generierten Prototyp der Applikation und der entsprechenden Tracekonfiguration, welche ebenso automatisiert generiert wurde, können hardware Traces vollständig automatisiert aufgezeichnet werden. Anschließend muss der Trace auf Systemlevel transformiert werden um eine Zeitanalyse durchzuführen. Ein Teil der dafür notwendigen Informationen können 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ür alle Objekte die für die Echtzeitanalyse von Bedeutung sind erstellt.
Abschließend wird der erzeugte Trace evaluiert und mit den gestellten Anforderungen verglichen. Basierend auf den Ergebnissen kann ein Report erstellt werden, der den momentanen Status der Applikation wiedergibt. Genügt 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ügt. Bild 3 (vgl. Bildergalerie) visualisiert dieses Vorgehen.
Zusammenfassung und Ausblick
Ein modellbasierter Entwicklungsansatz erlaubt es eingebettete Multi-Core-Applikationen bereits in der Designphase hinsichtlich ihres Zeitverhaltens zu untersuchen. Dies ist möglich 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 überwacht werden können. Dazu ist es notwendig das Systemverhalten über hardwarebasiertes Tracing aufzuzeichnen und den resultierenden Trace in ein geeignetes Format zu übersetzen. Basierend auf einem Modell können diese Schritte automatisiert durchgeführt werden.
Moderne Multi-Core Prozessoren unterstützen drei Arten von Tracing. Im Moment werden nur zwei Arten zur Echzeitvalidierung genutzt: Datentracing und Instructiontracing. Die Möglichkeit periphere Hardware wie Timer Units oder CAN Module via Signaltracing zu tracen könnte in Zukunft dazu genutzt werden, das Kollektivverhalten von mehreren Prozessoren zu überwachen. Das bedeutet die einzelnen Prozessoren werde nicht isoliert voneinander betrachtet, sondern auch die Kommunikation zwischen den distinktiven Einheiten wird in die Analyse des Echzeitverhaltens miteinbezogen.
Quellenverzeichnis
- [1] M. Deubzer, A. Stingl, E. Simsek, S. Krämer und J. Mottok, „Performante und zuverlässige Embedded-Multi-Core-Systeme,“ in ESE Konferenz, Sindelfingen, 2014.
- [2] M.-A. Peraldi-Frati, A. Goknil, J. DeAntoni und J. Nordlander, „A timing model for specifying multi clock automotive systems: The timing augmented description language v2,“ in Engineering of Complex Computer Systems (ICECCS), 2012 17th International Conference on Engineering of Complex Computer Systems, Paris, IEEE, 2012, pp. 230-239.
- [3] D. Ferrari, Computer systems performance evaluation, Prentice Hall, 1987.
- [4] J. Kraft, A. Wall und H. Kienle, „Trace recording for embedded systems: Lessons learned from five industrial projects,“ in Runtime Verification, Springer, 2015, pp. 315-329.
- [5] A. Martin, „Tracedaten auf die Festplatte streamen,“ in ESE Konferenz, Sindelfingen, 2013.
- [6] J. Braunes, „Die neue Trace-Welt jenseits von Code- und Daten-Trace,“ in ESE Kongress, Sindelfingen, 2013.
- [7] Lauterbach GmbH, „TRACE32 - General Commands Reference Guide T (Accessed: 2015-10-19),“ http://www2.lauterbach.com/pdf/general_ref_t.pdf, Höhenkirchen-Siegertsbrunn, 2015.
- [8] Timing Architects Embedded Systems GmbH, „BTF-Specification,“ AMALTHEA ITEA2 Project (https://wiki.eclipse.org/images/e/e6/TA_BTF_Specification_2.1.3_Eclipse_Auto_IWG.pdf).
- [9] Timing-Architects Embedded Systems GmbH, „TA Tool Suite - TA Inspector,“ http://www.timing-architects.com/ta-tool-suite/inspector/ (Accessed: 2015-10-20), Regensburg, 2015.
Echtzeit mit Linux
Echtzeit mit dem Raspberry Pi und Linux PREEMPT_RT
Echtzeit
Best Practices zur Lösung von Timing-Problemen
* Felix Martin ist seit 2014 bei Timing-Architects Embedded Systems GmbH tätig und beschäftigt sich während seines Studiums im Unternehmen unter anderem mit der Analyse von Echtzeit-Systemen mittels Hardware-Tracing. Heute unterstützt Herr Martin in Kundenprojekten in seiner Aufgabe als Technical Consultant.
* Andreas Sailer ist Doktorant an der Universität Bamberg. Neben dieser Tätigkeit fungiert er auch als Technical Consultant bei der Firma Timing-Architects Embedded Systems GmbH. Seine Forschung konzentriert sich auf die Themen rund um die modellbasierte Entwicklung von Timing Simulation.
* Dr. Michael Deubzer ist Geschäftsführer des High-Tech Unternehmens Timing-Architects, dass er nach seiner Promotion an der TU München mit seinem Forschungskollegen 2011 gründete. Im Jahr 2015 wurde er vom deutschen Magazin des MIT als einer der zehn innovativsten Köpfe Deutschlands ausgezeichnet.
* Prof. Dr. Jürgen Mottok lehrt Software Engineering, Programmiersprachen, Betriebssysteme und Safety an der Regensburger Hochschule für Angewandte Wissenschaft. Er leitet das Software-Engineering-Labor „Laboratory for Safe and Secure Systems“ (www.las3.de).
(ID:44202462)