Ein Angebot von

Modellbasiertes Vorgehen bei Echtzeitanforderungen

| Autor / Redakteur: Arne Noyer, Joachim Engelhardt, Padma Iyenghar, Jürgen Kreyßig, Elke Pulvermüller, Jonas Diemer, Michael Uelschen* / Christine Kremser

Modellbasiertes Spezifizieren von Zeitverhalten

In Bild 4 (vgl. Bildergalerie) ist bereits zu sehen, dass das Zeitverhalten in UML näher spezifiziert wurde. Hierzu wurde das UML-Profil zum Modeling and Analysis of Realtime and Embedded Systems (MARTE) [7] verwendet. Durch den Stereotyp SaStep des Profils werden u.a. Ausführungszeiten für Operationen erfasst. Darüber hinaus wurden Details für die Ziel-Plattform modelliert, wie in Bild 6 (vgl. Bildergalerie) zu sehen ist.

Die Ziel-Plattform enthält hier drei Tasks (Stereotyp: SchedulableResource), die mit unterschiedlicher Periodizität ausgeführt werden und verschiedene Ausführungszeiten besitzen. Die Operationen sind diesen Tasks zugeordnet und die Tasks wiederum sind einem CPU Core (Stereotyp: SaExecHost) zugeordnet, der ebenfalls modelliert wurde und für den ein Scheduling Mechanismus definiert wurde.

Zusätzlich zur Plattform wurden mit UML/MARTE ebenfalls Ausführungspfade modelliert, wie in Bild 7 (vgl. Bildergalerie) dargestellt ist. Der Ausführungspfad gibt an, welche Operationen (Runnables) in welcher Reihenfolge in einem Szenario ausgeführt werden, für das später das Zeitverhalten geprüft werden soll. Außerdem sind hier ebenfalls die Ausführungszeiten für die Operationen zu sehen. Über den Stereotyp SaEndToEndFlow wurde die maximal erlaubte Ausführungszeit für den gesamten Pfad definiert.

Validierung von Zeitanforderungen

Um das modellierte Zeitverhalten analysieren zu können, wurden Modelltransformationen zwischen dem UML-Format und dem Analysewerkzeug SymTA/S [4] durchgeführt. Die Vorgehensweise hierzu zeigt Bild 8 (vgl. Bildergalerie). Dabei ist es von Vorteil, wenn auch Analyseergebnisse zurück ins UML-Modell übertragen werden, damit ein UML-Entwickler dort direkt an betreffenden Elementen überprüfen kann, ob das Zeitverhalten gültig ist.

Neben weiteren Analyse-Methoden unterstützt SymTA/S die Durchführung von Scheduling-Analysen. Das Ergebnis solch einer Analyse kann zur Übersicht wie in Bild 9 (vgl. Bildergalerie) visualisiert werden.

Ein Tortendiagramm zeigt die Auslastung einer CPU (siehe Bild 10 in der Bildergalerie). Im Beispiel beträgt die Gesamt-Auslastung der CPU 84%, sodass die Zeiteigenschaften von den modellierten Tasks eingehalten werden können. Das Analyseergebnis kann in UML erneut über Stereotypen und Tagged Values sichtbar gemacht werden. Beim modellierten Core im UML-Modell wurde der hierfür speziell geeignete Stereotyp SaExecHost verwendet.

Synchronisierung von Zeiteigenschaften zwischen unterschiedlichen Modellierungsdomänen

Neben der UML gibt es weitere Modellierungssprachen, die zur Systembeschreibung eingesetzt werden. Gerade im Bereich der eingebetteten Systeme ist Matlab/Simulink [8] weit verbreitet. Zeitanforderungen lassen sich hier jedoch nicht unmittelbar eingeben. Für eine Machbarkeitsstudie zum Umgang dieses Problems wurde zunächst eine einfache Zeitanalyse eines Matlab/Simulink-Modells durch das Zeitanalyse-Werkzeug SymTA/S angestrebt.

Dazu sollten Runnables und Tasks in Simulink angegeben werden können sowie Periode und Core Execution Time (CET) einer Runnable als Zeitanforderungen für eine Analyse. Zur Eingabe dieser Daten in das Simulink-Modell wurde eine benutzerdefinierte Maske mit den Werten Period und CET(min, max) erstellt, die auf Matlab Sub-System-Blöcke angewendet werden kann.

Bild 11 (vgl. Bildergalerie) zeigt die Steuerung eines Akkuschraubers. Operationen werden in Sub-System-Blöcke gruppiert, die hier als runnable 1 und runnable 2 zu sehen sind. Für die Zeitanalyse werden diese Blöcke dann als Runnable interpretiert, die darin enthaltenen Operationen als Tasks. Mit der Eingabemaske können Period und CET für das jeweilige Runnable spezifiziert werden.

Zeiteigenschaften können also in ReqIf, UML und Matlab Simulink hinterlegt werden. In realen Projekten sind diese Informationen tatsächlich oft in mehreren Modellen vorzufinden. Um die Verfolgbarkeit in jeder Domäne für sich zu gewährleisten, erfordern die bisher vorgestellten Mechanismen redundante Informationen. Automatische Modelltransformationen erleichtern dabei zwar die Übertragung der Information zwischen den Domänen, es liegt jedoch das Problem nahe, dass Änderungen an diesen Informationen in andere Domänen propagiert werden müssen.

Derzeit wird in einem Forschungsprojekt ein Verfahren entwickelt, wie Zeiteigenschaften über verschiedene Domänen hinweg synchronisiert, verfeinert und bereits auf Modellebene validiert werden können. Dazu werden die vorgestellten Mechanismen zur Verfolgbarkeit genutzt und erweitert, um die Datenwerte werkzeugübergreifend korrekt abzugleichen.

Wie am Beispiel von Simulink zu sehen ist, kann nicht jede Domäne die Verfolgbarkeits-Beziehungen direkt erfassen. Dazu soll ein zentrales Repository die Abhängigkeiten zwischen den verschiedenen Zeiteigenschaften speichern. Über definierte Schnittstellen sollen dann werkzeugspezifische Erweiterungen diese Informationen sowie weitere Hinweise wie Analyseergebnisse aus diesem Repository abrufen können.

Zusammenfassung

Es wurde anhand eines Beispiel-Projektes gezeigt, wie (Zeit-)Anforderungen über das standardisierte Requirements Interchange Format (ReqIF) zwischen Anforderungsmanagementwerkzeugen und UML synchronisiert werden können. Anschließend wurde das Zeitverhalten mittels dem MARTE-Profil in UML näher beschrieben.

Informationen aus dem UML-Modell wurden daraufhin per Modelltransformation in ein Analysewerkzeug überführt, sodass dort Analysen für das Zeitverhalten durchgeführt werden konnten. Der Prozess ermöglicht, dass frühzeitig während der Entwicklung Zeiteigenschaften beschrieben und validiert werden können. Ein iteratives Anwenden des Ablaufes ist dabei empfehlenswert.

Es wurde gezeigt, dass die Anbindung weiterer Werkzeuge teilweise aufwändiger ist. Ein aktuelles Forschungsprojekt zielt auf noch engere Kollaboration von verschiedenen Domänen bei der Bewältigung von komplexen Zeitanforderungen.

Literaturverzeichnis

  • [1] Object Management Group, „UML Spezifikation 2.5,“ 2015. [Online]. http://www.omg.org/spec/UML/
  • [2] IBM, „IBM Rational DOORS,“ 2014. [Online]. http://www-03.ibm.com/software/products/de/ratidoor
  • [3] Polarion Software, „Polarion,“ 2014. [Online]. https://www.polarion.com/products/alm/index.php
  • [4] Symtavision GmbH, „SymTA/S and Traceanalyzer,“ [Online]. https://www.symtavision.com/products/symtas-traceanalyzer/
  • [5] IBM, „Managing requirements with Rhapsody Gateway and DOORS,“ [Online] http://pic.dhe.ibm.com/infocenter/rhaphlp/v7r6/
  • index.jsp?topic=%2Fcom.ibm.rhp.doors.tutorial.doc%2Ftopics%2Fabstract_rhpdoors.html
  • [6] Object Management Group, „Requirements Interchange Format (ReqIF),“ 2013. [Online]. http://www.omg.org/spec/ReqIF/
  • [7] Object Management Group, „UML Profile For MARTE: Modeling And Analysis Of Real-Time Embedded Systems,“ 2011, [Online]. http://www.omg.org/spec/MARTE/
  • [8] MathWorks, „Matlab/Simulink,“ 2015. [Online].
  • http://de.mathworks.com/products/simulink/
Best Practices zur Lösung von Timing-Problemen

Echtzeit

Best Practices zur Lösung von Timing-Problemen

23.06.17 - Das Finden einer guten Timing-Architektur im Echtzeitumfeld ist eine echte Herausforderung. Oft mangelt es den Beteiligten an der nötigen Erfahrung. Dieser Beitrag liefert einen Überblick über geeignete Vorgehensweisen. lesen

Echtzeit mit Linux

Echtzeit mit Linux

11.12.18 - Mit Linux können Systeme mit harten Echtzeit-Anforderungen einfach umgesetzt werden. Doch welcher Ansatz ist der richtige? Und welche Latenzzeiten können damit erreicht werden? lesen

* Arne Noyer hat bereits viele Erfahrungen mit Vorträgen auf Konferenzen in Industrie und Wissenschaft und ist in der Forschung und Entwicklung tätig. Aktuell liegt sein Forschungsschwerpunkt in einem Projekt, das im Bereich der modellbasierten Beschreibung von Zeitanforderungen und dessen Validierung ist. Weiterhin hat er langjährige Erfahrungen in den Disziplin UML, Codegenerierung, Eclipse-Plugin-Entwicklung und Lehre/Schulungen.

* Joachim Engelhardt ist wissenschaftlicher Mitarbeiter an der Ostfalia Hochschule für angewandte Wissenschaften. Aktuell führt er eine Lehrveranstaltung im Bereich der modellbasierten Softwareentwicklung für eingebettete Systeme durch. Außerdem arbeitet er in verschiedenen Forschungsprojekten. Derzeit liegt der Fokus seiner Forschungsaktivitäten im Bereich des modellbasierten Erfassens von Zeiteigenschaften.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

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