Die Entwicklungsabteilung von Hilti Power Tools setzt in der Produktentwicklung „enar uml2code“ zur automatischen Codegenerierung ein.
Foto: Hilti
Hilti Kombihammer beinhalten komplexe Steuer- und Überwachungsfunktionen. Bei der Entwicklung unterstützt der Codegenerator von LieberLieber Software
Der Bauindustrie-Ausrüster Hilti hat sich für den Codegenerator „enar uml2code“ für Embedded Systems von LieberLieber entschieden. Das Softwarehaus erstellt als Partner von Sparx Systems Lösungen für den Einsatz der Unified Modeling Language (UML)-Plattform Enterprise Architect. Der Codegenerator richtet sich speziell an Embedded-Softwareentwickler und Software-Architekten im Bereich Embedded Systems, kann aber auch für Tester und Integrationsmanager von Nutzen sein. Die Lösung ermöglicht Codegenerierung aus UML-Strukturen, Zustandsautomaten und Aktivitätsmodellen und erzeugt plattformunabhängigen C++ und MISRA konformen C-Code aus UML Modellen.
Die Hilti-Entwicklungsabteilung testete das Tool in einer etwa einjährigen Pilotphase. Projektleiter Michael Fuchs: „Am Stammsitz in Liechtenstein wird Enterprise Architect schon länger erfolgreich eingesetzt, allerdings ohne Codegenerierung. Wir haben uns daher daran gemacht, den Codegenerator eingehend zu prüfen und an unsere Vorgaben anzupassen. Das Ziel dieser für uns neuen Herangehensweise war es, die Qualität und Produktivität unserer Entwicklungen weiter zu verbessern. Diese Ziele haben wir erreicht.“
Das Thema der Codegenerierung beschäftigt die Hilti-Entwickler schon einige Jahre. Eine der zentralen Rahmenbedingungen für die Auswahl des Codegenerators war es, dass dieser keine speziellen Anforderungen (etwa ein Framework) voraussetzt. Bereits bestehender Code sollte weiter verwendbar bleiben und problemlos in die Gesamtlösung übernommen werden können. Darüber hinaus musste der Generator auch für firmenspezifische Anpassungen offen sein. Die firmenspezifischen Anpassungen setzte ein Werksstudent in enger Kooperation mit LieberLieber um. Der Lernaufwand war laut Fuchs gering: „Da bei der Codegenerierung Aktivitätsdiagramme und Zustandsautomaten die wesentliche Rolle spielen, beschränkte sich der interne Lernaufwand auf etwa eine Woche. Nach dieser Zeit konnten unsere Entwickler bereits selbständig modellieren und lauffähigen Code generieren.“ Im nächsten Schritt wird nun mit LieberLieber-Partner iSystem eine passende Debugging-Lösung entwickelt, um die Codegenerierung abzurunden.