Heutige neigen dazu zunehmend komplexer zu werden. Ein wichtiger und häufig unterschätzter Schritt in allen Projekten ist die Integration der Bestandteile und die Tests, die für diesen Schritt durchgeführt werden sollten.
Die Erfahrung zeigt, dass in vielen Entwicklungsprojekten bei der Integration der Bestandteile und den dazugehörigen Tests schwerwiegende Probleme auftreten, die zu Termin- und Budget-Überschreitungen führen. Im Rahmen dieses Vortrags wird aufgezeigt, wie modellbasierte Techniken verwendet werden können, um beim Design, in der Planung und in der Ausführung der Integrationstests Verbesserungen zu erzielen. Ein spezieller Fokus wird auf die Integration der Systeme gesetzt, die aus verteilten Komponenten mit eingebetteter Software bestehen.
Gegenwärtige Lage
In der heutigen Systementwicklung wird in einem ersten Schritt zunächst das System spezifiziert. Nachdem die Spezifikation fertig gestellt ist, wird die Entwicklung an die Entwicklungsmannschaft oder an externe Entwicklungspartner übergeben.
Die Entwickler definieren in der Folge den spezifischen Entwurf und entwickeln und prüfen die implementierten Komponenten entsprechend dem Entwurf und dem Pflichtenheft. Wenn alle Komponenten des Systems fertig gestellt wurden, beginnt die Integrationsphase.
Während dieser Phase werden Tests durchgeführt, um zu überprüfen, dass die Integration erfolgreich ist. In den meisten Fällen treten Probleme während dieser Phase auf. In einigen Fällen führen diese Probleme sogar zu aufwändigen Überarbeitungen oder zum Neuentwurf einzelner Komponenten. Die Ursachen für diese Situation liegen meist in einer unzureichenden Spezifikation und einem zu spät anberaumten Integrationstest. Bei beiden Themen können durch die Verwendung einer modellbasierten Arbeitsweise deutliche Verbesserungen erzielt werden.
Verbesserungen
Durch die konsequente Verwendung von modellbasierten Verfahren bereits während der Systemspezifikation, erhält man eine gut definierte Ausgangsbasis für alle nachfolgenden Verifikationen. Das Ergebnis ist ein Modell, in dem das Sollverhalten des Systems und seine Umwelt abstrakt beschrieben werden.
Der Spezifikationsprozess sollte dabei so angelegt sein, dass die Funktionsaspekte des Systems auf das Komponentenverhalten heruntergebrochen werden und eine Zuordnung insbesondere der verteilten Funktionalitäten auf die Einzelkomponenten erfolgt.
In den nachfolgenden Entwicklungsphasen erhält man bei richtiger Anwendung ein verfeinertes ausführbares Modell des Systems, seiner Bestandteile und der relevanten Umgebung. Schon auf der Basis dieses Modells können erste Tests definiert werden und das Modell und somit auch die Systemspezifikation kann vor der Implementierung verifiziert und validiert werden. Diese Tests werden in der Folge Teil der Spezifikation.
In späteren Entwicklungsphasen sollten nun die gelieferten Komponenten mit Hilfe von Integrationstests teilintegriert werden: Indem man im Modell Elemente gegen „Real-Life“-Komponenten austauscht, kann das Verhalten in einer simulierten Umwelt überprüft werden. Dazu ist es natürlich notwendig eine Treiber-Schicht zu implementieren, die die Informationen aus dem Modell in Signale an die wirkliche Hardware umsetzt - es erfolgt der Übergang zum HIL-Test.
Nach und nach können nun weitere Komponenten in das System integriert werden, indem weitere Modellelemente ausgetauscht werden.
Fallstudien
Beispiele aus abgeschlossenen und auch aktuellen Projekten aus der Luftfahrt- und Automobil-Industrie zeigen, dass das beschriebene Verfahren in der Praxis Vorteile bringt und die Risiken bei der Integration zu verringern und Fehler früh im Entwicklungsprozess zu finden. |