Simulink – Durchgängig vom Entwurf bis zum Test

Mit zusätzlichen Werkzeugen baut The Mathworks sein Rapid-Prototyping-Werkzeug Simulink nach und nach zu einer durchgehenden Design-Umgebung aus: Vom Erfassen der Anforderungen über den Systementwurf, die Implementierung bis hin zum Test soll alles zusammenpassen. Die Werkzeugkette sorgt dafür, dass Test und Validierung nicht erst am Schluss stattfinden, sondern ein Projekt in jeder Phase begleiten.

Mit zusätzlichen Werkzeugen baut The Mathworks sein Rapid-Prototyping-Werkzeug Simulink nach und nach zu einer durchgehenden Design-Umgebung aus: Vom Erfassen der Anforderungen über den Systementwurf, die Implementierung bis hin zum Test soll alles zusammenpassen. Die Werkzeugkette sorgt dafür, dass Test und Validierung nicht erst am Schluss stattfinden, sondern ein Projekt in jeder Phase begleiten.

Die Beseitigung von Fehlern ist am aufwendigsten, wenn sie erst am Ende des Software-Entwicklungsprozesses gefunden werden. Eine Untersuchung der amerikanischen Raumfahrtbehörde NASA aus dem Jahr 2004 teilt den Entwicklungsprozess in vier Phasen ein: Sammeln der Anforderungen, Design, Codierung und Test. Wird ein Fehler erst beim finalen Test entdeckt, dann ist seine Beseitigung laut dieser Studie 50mal so teuer, als wenn seine Ursache schon bei der Formulierung der Anforderungen ausgeschlossen worden wäre. Auch eine Untersuchung der Marktforscher von Venture Development Corp. (VDC), die der Frage nachgeht „Warum verzögern sich Embedded-Systems-Projekte?“, kommt zu dem Schluss, dass falsche oder geänderte Spezifikationen das Hauptproblem sind. Auch hier liegt die Ursache wieder in falsch verstandenen oder formulierten Anforderungen. Zwar gibt es auch andere Ursachen wie unrealistische Terminpläne oder unterschätze Komplexität, aber fest steht: Es lohnt sich, schon in frühen Phasen der Entwicklung zu überprüfen, ob das bisher erreichte Ergebnis mit dem Ziel der Entwicklung übereinstimmt.

Um verfolgen zu können, welcher Block eines Modells und welcher Code auf welche Anforderung zurückgeht, gibt es bei UML-Werkzeugen das sog. „Requirements Tracing“. Auch Mathworks (www.mathworks.com) zieht jetzt mit einem entsprechenden Werkzeug nach, dem Simulink-Modul „Verification and Validation“, das als Option für Simulink erworben werden kann. Hiermit lassen sich in Word, Excel oder Doors formulierte Anforderungen mit Simulink-Blöcken verbinden. Will man herausfinden, wo eine bestimmt Anforderung implementiert ist, zeigt das „Verification and Validation“-Modul die entsprechende Stelle im Simulink-Modell. Analog zur Code-Abdeckungsanalyse testet das Werkzeug auch die „Model Coverage“: Wurden alle möglichen Zustände des Modells durchlaufen? Gibt es tote Äste und nicht benutzte Funktionen? Wurden sämtliche Signalpfade bei den Tests durchlaufen? – Die Beantwortung dieser Fragen ist für sicherheitskritische Anwendungen oder Zertifizierungen z.B. nach DO178-B unverzichtbar.