MATLAB und Simulink für Verifizierung, Validierung und Test

Verifizieren und Validieren eingebetteter Systeme mit Model-Based Design

Entwicklungsingenieure nutzen Model-Based Design mit MATLAB® und Simulink®, um komplexe eingebettete Systeme zu entwickeln und C Code, C++ Code sowie HDL Code auf Produktionsniveau zu generieren. MathWorks Tools verwenden Simulationstests und auf formalen Methoden basierende statische Analysen, um Model-Based Design durch genaueste Prüfung und Automatisierung zu ergänzen, damit Fehler frühzeitiger erkannt und höhere Präzision erzielt werden können.

Mit MATLAB und Simulink ist Folgendes möglich:

  • Nachverfolgen von Anforderungen zu Architektur, Design, Tests und Code
  • Nachweis, dass Ihr Entwurf die Anforderungen erfüllt und keine kritischen Laufzeitfehler aufweist
  • Prüfen der Konformität und Messen von Modell- und Codequalität
  • Automatische Erstellung von Testfällen zur Erhöhung der Testabdeckung
  • Erstellen von Berichten und Artefakten sowie Zertifizieren von Standards (wie DO-178 und ISO 26262).

„Verglichen mit unseren früheren Erfahrungen mit manueller Programmierung konnten wir mithilfe von Model-Based Design die Arbeitskosten um 30 % und die Testkosten um 20 % senken sowie die Produktivität um mehr als 30 % steigern. Wir haben die ECU-Entwicklung vorzeitig abgeschlossen und dabei unser internes Software-Entwicklungsteam eingerichtet.“

Daming Li, Weichai Power

MATLAB und Simulink für Verifizierung und Validierung

Panel Navigation

 

Mit: Model-Based Design und gemeinschaftliche Workflows

Verifizierung von Anforderungen

Informelle Textanforderungen, die in Dokumenten, Tabellenkalkulationen oder Anforderungsmanagement-Tools wie IBM® Rational® DOORS® gespeichert werden können, lösen den Entwicklungsprozess aus. Mit Simulink Requirements™ können Sie Anforderungen zusammen mit Architektur, Entwürfen, erzeugtem Code und Testartefakten anzeigen, ausarbeiten und organisieren. Sie können in System Composer™, Simulink, Stateflow® einen Digital Thread von ersten Anforderungen bis zum Entwurf erstellen oder in Simulink Test™ MATLAB-Tests entwickeln. Anhand dieser Rückverfolgbarkeit können Sie Implementierungs- oder Testlücken ermitteln und die Auswirkung einer Änderung auf Entwurf oder Test umgehend überblicken.  Anforderungen von Drittpartei-Tools können angezeigt, synchronisiert und organisiert werden, um die Rückverfolgbarkeit mit anderen Tools in Ihrem Entwicklungsprozess herzustellen.

Anhand zeitlicher Bewertungen in Simulink Test können Sie Textanforderungen verifizieren, indem Sie Bewertungen mit präziser Semantik in einem natürlichen Sprachformat angeben, dass auswert- und austestbar ist.


Einhaltung von Zertifizierungsstandards

Automatisieren Sie die Verifizierung von Modellen und Code bzgl. Standards wie DO-178, ISO 26262, IEC 61508, IEC 62304 und MathWorks Advisory Board (MAB) Stil-Richtlinien. Simulink Check™ bietet branchenweit anerkannte Überprüfungen und Metriken, mit denen Verstöße gegen Standards und Richtlinien während der Entwicklung identifiziert werden. Sie können individuelle Überprüfungen erstellen, um eigene Standards oder Richtlinien einzuhalten. Das IEC-Zertifizierungskit (für ISO 26262 und IEC 61508) und das DO-Qualifizierungskit (für DO-178) beinhalten Tool-Qualifizierungsartefakte, Zertifizierungen und Test-Suiten, mit denen Sie Codegenerierungs- und -verifizierungsprodukte qualifizieren und die Zertifizierung Ihrer eingebetteten Systeme optimieren können.


Abwesenheit von Fehlern nachweisen und formales Verifizieren von Anforderungen

Bei der formalen Verifizierung werden ohne Simulierung des Entwurfs versteckte Entwurfsfehler gefunden, die einen Ganzzahlüberlauf, Dead Logic, Array-Zugriffsverletzungen und Division durch Null verursachen. Simulink Design Verifier™ kann formal verifizieren, dass Ihr Entwurf frei von Fehlern oder Sicherheitsschwachstellen ist. Außerdem kann Simulink Design Verifier beweisen, dass Ihr Entwurf kritische Anforderungen erfüllt. Findet das Tool eine Ausnahme, erzeugt es ein Gegenbeispiel zum Debuggen.


Automatische Testerzeugung

Testlücken, unbeabsichtigte Funktionalität und Anforderungsfehler müssen unbedingt erkannt werden. Simulink Coverage™ berechnet, wie viel des Modells bzw. des erzeugten Codes beim Testen ausgeführt wird. Metriken des Branchenstandards werden angewendet wie Condition, Decision, Modified Condition/Decision (MCDC) und Custom Coverage Objectives. Simulink Design Verifier kann bei unvollständiger Abdeckung (Incomplete Coverage) automatisch Testfälle erzeugen, um strukturelle und funktionale Abdeckungsziele zu erfüllen.


Statische Codeanalyse

Zur Verifizierung von handgeschriebenem und generiertem Code verwenden Polyspace®-Produkte formale Methoden, um Bugs zu finden und die Abwesenheit kritischer Laufzeitfehler nachzuweisen – ohne Testfälle oder Codeausführung. Polyspace Bug Finder™ überprüft und dokumentiert die Einhaltung von Standards wie MISRA®, ISO 26262, IEC 61508, DO-178 und FDA-Vorschriften. Sie können damit Software-Sicherheitsschwachstellen finden und Standards wie CWE, CERT-C, ISO/IEC 17961 und andere überprüfen. Polyspace Code Prover™ führt eine statische Codeanalyse aus, um die Abwesenheit von Überlauf, Division durch Null, Array-Zugriff außerhalb der Grenzen und weitere Laufzeitfehler in C/C++ Quellcode zu beweisen.


Sie gelangen von einfachen Aufgaben zu komplexeren Vorhaben, indem Sie interaktive Beispiele und Tutorials nutzen.