Entwicklungswerkzeuge Effiziente Software-Entwicklung mit Automate

Mit der richtigen Entwicklungswerkzeug lassen sich Kosten, Aufwand und Zeit sparen.
Mit der richtigen Entwicklungswerkzeug lassen sich Kosten, Aufwand und Zeit sparen.

Die Anwendung von AUTOSAR zeigt, dass Anforderungen an Skalierbarkeit und Effizienz des Entwicklungsprozesses und der verwendeten Tools mit der Komplexität der entwickelten Steuergeräte-Software stark zunehmen. Dieser Artikel beschreibt die Anforderungen von AUTOSAR-Serienprojekten bei BMW und demons­triert, wie Automate, ein textbasiertes Modellierungswerkzeug, einen geeigneten Entwicklungsprozess unterstützt.

Die Anforderungen an moderne Fahrzeuge spiegeln sich direkt in Steuergeräteprojekten wider: Entwicklungskosten müssen reduziert, der (elektrische) Verbrauch gesenkt und Bauraum eingespart werden. Diese und weitere Faktoren führen vermehrt zu Hardware-Plattformen, auf die unterschiedliche, in Software realisierte Funktionen partitioniert werden. Einen Aspekt einer solchen hochintegrierten Plattform stellt neben der Diversität auch der Umfang der zu integrierenden Software dar. Technisch wird diese Integration üblicherweise auf Basis von AUTOSAR vorgenommen, so dass sich solche Systeme häufig aus über 100 AUTOSAR-Software-Komponenten mit über einer Million Zeilen Quellcode für Applikations-Software zusammensetzt. Je nach Partitionierung des AUTOSAR-Modells besteht dieses nicht selten aus weit über 1.000 AUTOSAR-XML-Dateien (ARXML). Die Entwicklung ist dabei in den meisten Fällen über verschiedene Standorte verteilt.
Die Handhabbarkeit eines Embedded-Software-Projekts dieser Größenordnung steht und fällt erfahrungsgemäß mit den folgenden Prämissen:

  • Maximale Automatisierung:
    Manuelle Schritte sorgen für Fehler, kosten Zeit und führen zu Know-how-Verlusten bei Personalwechseln. Das heißt, die gesamte Tool-Kette beginnend bei AUTOSAR XML, Code und anderen Spezifikationsartefakten bis zur im Werk verwendbaren logistischen Software-Einheit muss automatisierbar sein.
  • Iterative, inkrementelle Entwicklung:
    Bei einer typischen Gesamtänderungsrate von über 1.000 Änderungen pro Woche hat eine Big-Bang-Integration keine Möglichkeit, den Grund eines Fehlers einfach zu identifizieren. Daher muss ein solches Projekt ständig und inkrementell gebaut werden. Dieses Vorgehen stellt weiterhin sicher, dass der Integrationsstatus des Gesamtsystems jederzeit und allen Projektbeteiligten bekannt ist und prinzipiell immer ausgeliefert werden kann.
  • Entwicklungszentrierter Architekturprozess:
    Es ist sinnvoll, den klassischen Top-Down-Prozess der Architekturentwicklung zu erweitern. Die Effizienz des Entwicklungs-Teams steigt beträchtlich, wenn es Software-Entwicklern ermöglicht wird, Änderungen und Korrekturen in ihrem Kompetenzbereich selbst durchzuführen, ohne diese zunächst bei dedizierten Architekten beantragen zu müssen. Die Korrektheit in Bezug auf Form und Inhalt des AUTOSAR-Modells lässt sich auch weiterhin sicherstellen, zum Beispiel durch automatisierte Build-Systeme und Modellvalidierungen oder Reviews durch Architekten.

Hieraus ergeben sich Anforderungen an AUTOSAR-Autorenwerkzeuge, die für derart große Projekte verwendet werden können:

  • Das Werkzeug soll sich reibungslos in der typischen Arbeitsumgebung von Software-Entwicklern einfügen. Entwickler arbeiten häufig textuell in einer integrierten Entwicklungsumgebung (IDE) wie Visual Studio oder Eclipse.
  • Der Entwickler soll möglichst selten seine Umgebung wechseln müssen.
  • Das Werkzeug muss mit der Größe des Modells umgehen können, so dass ein vollständiger Ladevorgang möglich und zeitlich akzeptabel ist.
  • Das Werkzeug darf keinen Vendor Lock-In erzwingen, beispielsweise durch proprietäre Dateiformate oder inkompatible Modellerweiterungen.
  • Alle Sprachelemente des AUTOSAR-Metamodells müssen erreichbar sein, das heißt, das Tool darf Abstraktion nicht erzwingen.
  • Das Werkzeug muss vollständig von der Kommandozeile aus steuerbar sein.


In der Vergangenheit wurden im Projektumfeld Erfahrungen mit verschiedenen Werkzeugen gesammelt, deren Vor- und Nachteile im Folgenden zusammengefasst sind.