Ein Angebot von

Automatische Multi-Core-Echtzeitvalidierung

| Autor / Redakteur: Felix Martin, Andreas Sailer, Michael Deubzer, Jürgen Mottok* / Christine Kremser

(Bild: gemeinfrei/Pixabay / CC0)

Firma zum Thema

Dieser Beitrag zeigt am Beispiel des freien Echtzeitbetriebssystemes Erika Enterprise einen modellbasierten Ansatz, um die Einhaltung von sicherheitskritischen Echtzeitanforderungen mittels Tracing über den kompletten Entwicklungsprozess zu überwachen.

Ein modellbasierter Entwicklungsansatz erlaubt es bereits in der Planungsphase von Softwareprojekten die Einhaltung von systemkritischen Anforderungen und Beschränkungen sicherzustellen [1]. Dazu wird ein Modell erstellt, welches das zeitliche Verhalten des Systems beschreibt.

Ein solches Modell besteht aus einem Hardware-, einem Betriebssystem- und einem Anwendungsteil. Der Hardwareteil beschreibt abstrakt das Verhalten des Prozossers auf dem die finale Applikation ausgeführt werden soll. Der Betriebssystemteil modelliert das Verhalten von Serviceroutinen, wie zum Beispiel die Anzahl an Instruktionen, die für eine Inter-Prozess-Aktivierung notwendig sind. Das Anwendungsmodell bildet die eigentliche Funktionalität der Applikation ab. Echtzeitkritische Softwaresysteme setzen sich aus verschiedenen Tasks zusammen, die wiederum anwendungsspezifische Funktionen, sogenannte Runnables, aufrufen.

Basierend auf einem solchen Modell können dann Anforderungen hinsichtlich des geforderten Zeitverhaltens definiert werden. Anforderungen können für alle Objekte die im Anwendungsteil des Modells bestimmt sind gestellt werden. Ein klassisches Beispiel hierfür ist die maximale Reaktionszeit einer Task, also die Zeit von ihrer Aktivierung bis zur Terminierung. Anforderungen an Datenabhängigkeiten können in Form von Data-Age-Constraints festgehalten werden [2]. Außerdem erlauben es sogenannte Ereignissketten Zeitanforderungen für die Ausführung einer beliebigen Folge von Systemereignissen festzulegen.

Mit Hilfe einer diskreten Event-Simulation ist es nun möglich das Laufzeitverhalten der finalen Applikation basierend auf einer solchen Systembeschreibung zu berechnen. Das Ergebnis ist ein sogenannter Trace – eine Abfolge von Ereignissen, die das Echtzeitverhalten des Systems wiedergeben. Dieser Trace kann nun ausgewertet und mit den definierten Anforderungen verglichen werden, welcher in Bild 1 (vgl. Bildergalerie) dargestellt ist. So lassen sich Fehler im Systemdesign früh erkennen und beheben.

Auch wenn eine Applikation in die Entwicklungsphase geht, können die gestellten Anforderungen weiterhin validiert werden. Dazu ist es notwendig das Verhalten der Software auf der Zielplattform aufzuzeichnen – ein Prozess der als Tracing oder Trace Recording bekannt ist. Der erste Teil dieses Beitrags zeigt die verschiedenen Möglichkeiten um Traces von der Hardware aufzuzeichnen. Aufgezeichnete Traces sind üblicherweise nicht in einem Format das für die Validierung der Echtzeitanforderungen geeignet ist. Aus diesem Grund erläutert der zweite Teil welche Schritte zur Überführung in ein geeignetes Format notwendig sind. Abschließend wird beschrieben wie diese Schritte unter Verwendung des Modells automatisiert werden können.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Ausklappen
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Ausklappen
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44202462 / Multicore)