Tools „Made in Germany“ Schrittweiser Einstieg in die UML

Redakteur: Martina Hafner

Mit der Entwicklungsumgebung radCASE will IMACS eine pragmatische Synthese aus UML und SysML zu einer Embedded Modelling Language bieten. Parallel zur grafischen Modellierung ist die Implementierung mit herkömmlichen C/C++ und anderen etablierten Methoden (Blockdiagramme, Flussdiagramme) möglich. Der Entwickler kann also frei entscheiden, was er wie umsetzt, und so Schritt-für-Schritt in die UML einsteigen.

Anbieter zum Thema

Was unterscheidet radCASE von anderen Werkzeugen derselben Klasse?

radCASE ist zur Realisierung eigener Projekte aus den verschiedensten Branchen entstanden. Der Schwerpunkt liegt auf einem pragmatischen Einsatz, der sich an den wirklichen Bedürfnissen eines Embedded-Softwareentwicklers orientiert. Um dies zu erreichen wurde auf Basis der UML und SysML eine quasi Embedded Modelling Language (EML) entworfen — also eine Pragmatisierung durchgeführt. Ungeachtet dessen sollte jedoch der gesamte Entwicklungsprozess, von den Anforderungen über die Modellierung bis hin zur Codegenerierung, unterstützt werden.

Welche Eigenschaften machen diese „Pragmatisierung“ aus?

Zum einen wurde ein hybrider Ansatz gewählt, der parallel zur grafischen Modellierung mit UML-Diagrammen die Implementierung mit herkömmlichen C/C++- und anderen etablierten Methoden (Blockdiagramm, Flussdiagramm) unter dem Dach der UML ermöglicht. Der Entwickler kann frei entscheiden, was er wie umsetzt, und so ganz nach Bedarf und Wissen Schritt-für-Schritt in die UML einsteigen. Zum anderen wurden Eigenschaften und Fähigkeiten in die Modellierung integriert, die normalerweise manuell oder mit anderen, nicht UML-Tools, erstellt werden müssen.

Als Schlagworte seien hier zu nennen: Metadatenintegration, Target-HMI (pixelgenau, multilingual), kleine Footprints (ab 1 KByte ROM), verteilte Systeme, RTOS-Unterstützung, PCVisualisierung, PC-Simulation sowie virtuelles Produktprototyping, echte Wiederverwendbarkeit, Seriencodegenerierung ohne Nachbearbeitung, Dokumentationsgenerierung und weitere.

Alle dafür erforderlichen Informationen werden in der auf XML-Dateien beruhenden Designbasis abgelegt. Dieser ganzheitliche Ansatz vermeidet unnötige Redundanzen und Schnittstellen und eröffnet neue Möglichkeiten der Design-Wiederverwendung und Weiterverarbeitung/Generierungen. Durch die Erfassung aller Daten und deren redundanzfreie Verwaltung werden aufwändige Änderungsschleifen (im Produktlebenszyklus sind etwa ein Drittel Erstentwicklung und zwei Drittel Änderungen/Anpassungen) vermieden. Dies erlaubt eine Abdeckung vom Pflichtenheft/Anforderungen bis zum Seriencode und Dokumentation mit einem Werkzeug.

Was versteht IMACS unter echter Wiederverwendbarkeit?

Ein typisches UML-Modell beinhaltet nur einen Teil der zur vollständigen Definition einer technischen Komponente erforderlichen Informationen (z.B. fehlen Metadaten, Implementierungen von Funktionen/Algorithmen, Texte, HMIs, Visualisierungen, Simulations- und Testinformationen, etc.). Bei Änderungen im Design sowie bei der Wiederverwendung müssen diese fehlenden Informationen stets separat nachgeführt werden. Erst durch eine wirklich gemeinsame Ablage aller relevanten Informationen, also auch der nicht UML-typischen, innerhalb der Klasse oder des Moduls, ist eine Wiederverwendung ohne separaten Abgleich möglich. Dies wird durch die radCASE-Methode vollständig gewährleistet.

radCASE bindet Metadaten und HMI ins Design ein. Wie funktioniert dies?

Zum einem ist dies das Text-/Grafikdisplay des Zielsystems. Die Modellierung dieser HMIs erfolgt gemäß der Objektorientierung direkt in der Klasse/Modulen in Form von „Surfaces“. Diese setzen sich aus statischen (Texten, Bildern, Grafikprimitiven), dynamischen (Variablendarstellungen) und interaktiven (Navigation) Visualisierern zusammen. Die Möglichkeiten sind hierbei sehr mächtig und ausgefeilt und unterstützen pixelgenaues WYSIWYG-Design, Mehrsprachigkeit einschließlich fernöstlicher und arabischer Zeichensätze für alle gängigen Schwarz/Weiß- und Farb-Displays. Dies stellt sonst bei klassischer C/C++-Programmierung bereits einen großen Teil der Entwicklungsarbeit dar.

Aber auch bei Projekten ohne Display ist dieses Feature enorm wichtig, denn radCASE generiert automatisch eine Windows-Software, die die Visualisierung und Simulation des Projektes auf dem PC ermöglicht. Die Windows-exe kann z.B. zur frühen Abstimmung mit dem Kunden verwendet werden.

Wie kann man sich diese PC-Software vorstellen?

Die PC-Software wird von radCASE als eigenständige Windows-Applikation generiert und ist ein Universalwerkzeug, das Funktionen wie Prozessvisualisierung, Simulation, Protokollierung, Parametrisierung, Remotebedienung und Design-Level-Debugging integriert.

Hierzu stellt diese prinzipiell für jedes Objekt (also Instanz einer Klasse) ein Fenster zur Verfügung das der Entwickler entweder selbst gestaltet oder das automatisch erzeugt wird. Diese Fenster stellen alle Daten und Zustands-Informationen textuell, grafisch oder mithilfe der UML-Diagramme dar und eignen sich daher hervorragend sowohl als Prozessvisualisierung als auch für Design-Level-Debugging. Erfahrungswerte zeigen, dass sich damit 80—90% der Applikationsfehler vermeiden bzw. schnell, ohne klassisches Code-Level-Debugging, beheben lassen. In der Betriebsart „Visualisierung“ ist diese PC-Software per Datenverbindung mit dem Zielsystem verbunden. Im Rahmen der Betriebsart „Simulation“ wird mit der gleichen Oberfläche gearbeitet, jedoch wird der Applikationscode ebenfalls auf dem PC abgearbeitet. Durch das Konzept der virtuellen Plattformen kann dabei ein Projekt auf dem PC zu fast 100% ohne Ziel-Hardware realitätsgetreu entwickelt, simuliert, getestet und präsentiert werden.

(ID:279108)