Echtzeit und UML Target-Debugging von UML-Modellen ohne Echtzeitverletzung

Redakteur: Martina Hafner

Herkömmliche CASE Tools bieten zum Debuggen die Möglichkeit den aus dem Modell generierten Code auszuführen und parallel das Modell zu animieren. Es kann also auf Modellebene verfolgt

Firmen zum Thema

( Archiv: Vogel Business Media )

Herkömmliche CASE Tools bieten zum Debuggen die Möglichkeit den aus dem Modell generierten Code auszuführen und parallel das Modell zu animieren. Es kann also auf Modellebene verfolgt werden, wie sich das Programm verhält. Soll der Code dafür auf dem realen Zielsystem ausgeführt werden, müssen die Laufzeitinformationen auf dem Zielsystem erzeugt, zum Entwicklungs-PC geschickt und dort in Modellinformation zurück transformiert werden. Das geschieht üblicherweise über so genannte Code-Instrumentierung. Dieses Vorgehen hat den Nachteil, dass der auszuführende Code durch die Instrumentierung um ein Vielfaches mit Overhead befrachtet wird und sich die reale Laufzeit verlangsamt.

Passend zu ihrer Entwicklungsumgebung Embedded UML Studio hat Willert Software Tools nun eine Debugging-Lösung vorgestellt, die wie herkömmliche Embedded-Hochsprachen-Debugger auf Basis eines Monitors arbeitet. Der Vorteil liegt laut Anbieter in echtzeitfähigem Debugging mit minimalem Overhead auf Ebene des UML-Modells. Die Schnittstelle zwischen dem Zielsystem und Entwicklungsrechner kann flexibel gewählt werden. In Kombination mit entsprechenden Entwicklungstools, z.B Keil µVision kann dafür JTAG als Schnittstelle genutzt werden. Mit der UDE (Universal Debug Engine) der Firma pls lässt sich alternativ z.B. auch CAN als Interface nutzen.

Das Embedded UML Studio

Das Embedded UML Studio ist eine UML-basierende Entwicklungsumgebung, die Anpassungen für die Basis-Tools zur ANSI-C- Codegenerierung für spezifische Microcontroller ermöglicht. Die Modellierungs-Notation UML umfasst Modellierungs-Konstrukte die weit über die Syntaxelemente von ANSI-C hinaus gehen. Um diese durch den Codegenerator in ANSI-C darzustellen benötigt der Codegenerator Informationen und Code-Pattern, zum Beispiel zur Programmierung eines Timers auf der CPU.

Diese sind wiederum von der eingesetzten CPU, Compiler oder RTOS abhängig. Der Codegenerator setzt aus diesem Grund auf einem Framework auf. Das Embedded UML Studio beinhaltet ein speziell für Embedded Zielplattformen entwickeltes Framework: das Embedded UML RXF (Realtime eXecution Framework). In diesem Framework sind die Zielplattform-spezifischen Codesegmente in Modulen gekapselt enthalten. Auf dieser Basis lässt sich die Codegenerierung mit wenigen Tagen Aufwand an eine spezifische Zielplattform anpassen.

(ID:287266)