Globale Kontrollflussanalyse von eingebetteten Echtzeitsystemen

  • Christian Dietrich
  • Martin Hoffmann
  • Daniel Lohmann
Conference paper
Part of the Informatik aktuell book series (INFORMAT)

Zusammenfassung

Eingebettete Echtzeitsysteme haben eine dedizierte Funktion und einen vorher festgelegten Funktionsumfang. Daraus resultiert ein hohes Maß an explizitem und implizitem statischem Wissen, dass schon zur Übersetzungszeit fest steht. Dieses hohe Maß an Wissen ermöglicht auf Programmiersprachenebene bereits Optimierungen einzelner Programme. Allerdings stoßen diese Optimierungen an der Betriebssystemschnittstelle üblicherweise an ihre Grenzen, da pessimistische Annahmen über die Auswirkungen des Systemaufrufs getroffen werden müssen. Der Übersetzer muss von einer beliebigen Überlappung der Fäden ausgehen, sodass kein gerichteter Informations- oder Kontrollfluss zwischen diesen angenommen werden darf. In eingebetteten Echtzeitsystemen zeigt sich jedoch ein anderes Bild: Aufgrund der hohen Vorhersagbarkeitsanforderungen, ist das Kernverhalten dieser Systeme häufig deterministisch und exakt spezifiziert.

Dieser Beitrag präsentiert eine Methode zur Extraktion gerichteter, flusssensitiven Kontrollflussabhängigkeiten zwischen einzelnen Ausführungsfäden. Hierfür wird die Spezifikation eines echtzeifähigen Kerns mit der Anwendungskonfiguration und der Anwendungslogik verbunden. Aus dieser Verbindung entsteht der globale Kontrollflussgraph, der die Interaktion zwischen Kern und Anwendung einfängt und systemweite Optimierungen über die Kerngrenzen hinweg ermöglicht.

Des Weiteren beschreiben wir zwei systemweite Optimierungen nichtfunktionaler Eigenschaften, die erst durch unsere Analyse ermöglicht werden. Durch spezialisierte Systemaufrufe senken wir die Kernlaufzeit. Des Weiteren führen zusätzlich eingebrachte Zustandszusicherungen zu einer deutlich Zuverlässigkeitssteigerung gegenüber transienten Hardwarefehlern.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literaturverzeichnis

  1. 1.
    AUTOSAR. Requirements on operating system (version 2.0.1). Technical report, Automotive Open System Architecture GbR, June 2006.Google Scholar
  2. 2.
    C. Dietrich, M. Hoffmann, and D. Lohmann. Cross-kernel control-flow-graph analysis for event-driven real-time systems. In Proceedings of the 2015 ACM SIGPLAN/-SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES ’15), New York, NY, USA, June 2015. ACM Press.Google Scholar
  3. 3.
    M. Hoffmann, F. Lukas, C. Dietrich, and D. Lohmann. dOSEK: The design and implementation of a dependability-oriented static embedded kernel. In Proceedings of the 21st IEEE International Symposium on Real-Time and Embedded Technology and Applications (RTAS ’15), pages 259–270, Washington, DC, USA, 2015. IEEE Computer Society Press. Best Paper Award.Google Scholar
  4. 4.
    Guidelines for the Use of the C Language in Critical Systems (MISRA-C:2004). Oct. 2004.Google Scholar
  5. 5.
    OSEK/VDX Group. Operating system specification 2.2.3. Technical report, OSEK/VDX Group, Feb. 2005. http://portal.osek-vdx.org/files/pdf/specs/os223.pdf, visited 2014-09–29.
  6. 6.
    F. Scheler. Atomic Basic Blocks: Eine Abstraktion für die gezielte Manipulation der Echtzeitsystemarchitektur. Doktorarbeit, Friedrich-Alexander-Universität Erlangen-Nürnberg, 2011.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Christian Dietrich
    • 1
  • Martin Hoffmann
    • 1
  • Daniel Lohmann
    • 1
  1. 1.Lehrstuhl für Verteilte Systeme und BetriebssystemeFriedrich-Alexander-Universität Erlangen-NürnbergErlangenDeutschland

Personalised recommendations