Mangelnde Dokumentation ist ein viel beklagtes Problem in der Softwareentwicklung. Bei der Hardwareabhängigkeit von Embedded Systemen wiegt diese Nachlässigkeit besonders schwer. Wird ein Embedded-Projekt nicht in Bezug auf seinen gesamten Lebenszyklus gesehen, besteht die Gefahr ungewollter Abhängigkeiten von der Hardwareplattform.
Die Anpassung an neue Hardwaregenerationen kann dadurch technisch sehr aufwendig oder gar wirtschaftlich unmöglich werden. Softwarearchitektur setzt die strukturierte Anordnung von Komponenten eines Systems mit Informationen zur Kommunikation zwischen den Komponenten sowie deren Abbildung auf Hardware- oder Softwareressourcen dagegen.
Ist die Architektur im Projektverlauf implizit entstanden, lohnt es sich im Sinne einer Lifecycle-Optimierung, die Architektur nachträglich zu erfassen und zu dokumentieren. Schließlich sollen bei einer Weiterentwicklung von Embedded Systemen oft wesentliche Teile der Software beibehalten, aber zum Beispiel an eine neue Benutzerschnittstelle angeschlossen werden.
Manchmal ist der Controller, für den sie geschrieben wurde, nicht mehr verfügbar, und sein Nachfolger ist anders aufgebaut. Funktionen müssen erweitert, zusammengeführt oder auf geänderte externe Systeme angepasst werden. Die Pflege oder Weiterentwicklung eines solchen Systems wird für den Produktverantwortlichen vor allem dann zu einer schwer kalkulierbaren Zeit- und Kostenfalle, wenn er nicht mehr auf den Kern des ursprünglichen Entwicklerteams zurückgreifen kann.
Hier können Softwarearchitekten dabei helfen, die in der Struktur der Software liegenden Problemfelder offenzulegen sowie mögliche Migrations- und Änderungspfade zu iden-tifizieren und zu quantifizieren. Auf Basis einer solchen Analyse lässt sich der Aufwand für Pflege und Weiterentwicklung besser beurteilen. Eine klare Softwarearchitektur hilft also, die Zusammenhänge innerhalb eines Systems besser zu verstehen (Bild 2).
Dies verhindert Fehler und senkt den Aufwand bei Weiterentwicklungen von Embedded Systemen. Wo die Softwarearchitektur in der Embedded-Entwicklung vernachlässigt wurde, lohnt sich bei langen Lebenszeiten auch die nachträgliche Analyse und Dokumenta-tion. Damit lassen sich unkalkulierbare Verzögerungen vermeiden, wenn man bei Wartungs- oder Weiterentwicklungsarbeiten nicht mehr auf undokumentierte Eigenheiten des Systems stößt.
Über die Autoren:
Dr. Michael Sturm ist Abteilungsleiter Software Products und Dr. Christian Hock ist Geschäftsführer der österreichischen Dependance, beide bei Berner & Mattner.