What Is the High-Integrity Verification Workflow? - MATLAB & Simulink
Video Player is loading.
Current Time 0:00
Duration 3:46
Loaded: 16.28%
Stream Type LIVE
Remaining Time 3:46
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
      Video length is 3:46

      What Is the High-Integrity Verification Workflow?

      The goals of systematic verification and validation are to find defects sooner and shorten the time to market while maintaining high standards of quality.

      Learn how to use MATLAB® and Simulink® within the high-integrity verification workflow to ensure your design meets requirements and has been fully tested.

      Published: 6 Jan 2023

      This video will provide an overview of the model verification and validation products focused around the high integrity verification workflow. It starts with requirements, which often start out in text form, but customers increasingly choose to model these requirements. They often do this in a requirements model which can be simulated using Simulink to refine and validate requirements. After the requirements have been validated, you then create a model which can be used for production code generation.

      We call this the implementation model. At this stage, you will verify that the model conforms to industry and internal standards, conforms to requirements, is free of run-time errors, and is fully tested. You can then generate code which you can simulate in software in the loop mode to ensure the generated code conforms to the requirements defined in the Simulink model. You also need to ensure the generated code is fully tested. Finally, you can deploy code to the target hardware and perform processor in the loop simulation.

      Throughout the development cycle, you need to ensure traceability to requirements. Requirements Toolbox provides the capability to link from models and code to requirements. Text-based requirements can be ambiguous and are often difficult to validate as the requirements set grows.

      You can instead model your requirements in a requirements model. Requirements Toolbox includes a requirements table feature to let you formalize requirements and automatically check for completeness and consistency, as well as automatically generate tests using Simulink Design Verifier.

      When developing your model for production code generation, you need to ensure the model conforms to industry standards and internal guidelines. Simulink Check includes dozens of checks for industry standards as well as the ability to define custom checks.

      Many checks can be run during edit time to catch issues during design time. You can use Simulink Design Verifier to check for run-time errors, such as division by zero and integer overflow, as well as dead logic. Some requirements are impossible to verify through simulation-based tests, such as safety requirements. You can use Simulink Design Verifier to prove these requirements will always be met.

      You can use Simulink Test to author, manage, and run simulation-based tests to ensure your design meets requirements. You can check for equivalence between your models and generated code, also known as back-to-back testing, using Simulink Test. You can measure test completeness of your models and generated code using Simulink Coverage.

      You can use Simulink Design Verifier to automatically generate test vectors for back-to-back testing and to analyze missing coverage objectives. You can use Polyspace Bug Finder and Polyspace Code Prover to ensure your code meets industry standards, such as MISRA, and is free of run-time errors.

      Continuous Integration, or CI, is an Agile methodology best practice, in which developers regularly submit and merge their source code changes into a central repository. MathWorks has a variety of resources to help users learn how to set up their CI pipelines for verification of Simulink models. Click on the link below to learn more about MathWorks model verification and validation products as well as how to get started.