MATLAB y Simulink para verificación, validación y pruebas

Verifique y valide sistemas integrados con el diseño basado en modelos

Los equipos de ingeniería utilizan el diseño basado en modelos con MATLAB y Simulink para diseñar sistemas complejos integrados y generar código C, C++ y HDL con calidad de producción. Las herramientas de MathWorks utilizan pruebas de simulación y análisis estáticos basados en métodos formales, para complementar el diseño basado en modelos con rigor, así como automatización para encontrar errores de forma temprana y lograr una mayor calidad.

Con MATLAB y Simulink, puede:

  • Enlazar requisitos con arquitectura, diseño, pruebas y código
  • Verificar la conformidad con estándares de modelado personalizados y estándares de la industria durante la fase de diseño
  • Demostrar que el diseño cumple los requisitos y no contiene errores críticos en tiempo de ejecución
  • Crear casos de prueba utilizando secuencias de pruebas y gráficos de estados de Stateflow
  • Recopilar cobertura de código y de modelos para comprobar la integridad de las pruebas
  • Generar casos de prueba automáticamente para analizar el déficit de cobertura de pruebas
  • Generar informes y artefactos, así como certificar la conformidad con estándares tales como DO-178 e ISO 26262

Verificación de requisitos

El proceso de desarrollo se inicia con requisitos de texto informales que se pueden almacenar en documentos, hojas de cálculo o herramientas de gestión de requisitos, tales como IBM Rational DOORS. Requirements Toolbox permite importar, ver, crear y gestionar requisitos, junto con arquitectura, diseños, código generado y artefactos de prueba. Puede crear un hilo digital desde los requisitos hasta el diseño en System Composer, Simulink y Stateflow, o con pruebas en Simulink Test. Con esta trazabilidad, puede identificar brechas de implementación o pruebas, y comprender rápidamente el impacto de un cambio en el diseño o prueba.

Puede formalizar requisitos y analizarlos a fin de verificar la integridad, precisión y exactitud para validarlos en etapas iniciales con el bloque Requirements Table en Requirements Toolbox. Las evaluaciones temporales de Simulink Test permiten verificar requisitos de texto especificando evaluaciones con semántica precisa en un formato de lenguaje natural que se puede evaluar y depurar.


Inyección de fallos sistemáticos y FMEA en Simulink

Puede utilizar simulación para analizar los efectos de fallos y otros comportamientos anormales para desarrollar requisitos de seguridad y verificar la solidez del sistema. Simulink Fault Analyzer permite realizar análisis sistemáticos de fallos y seguridad mediante simulación. Este producto efectúa simulaciones de inyección de fallos sin necesidad de modificar el diseño. Puede gestionar fallos modelados en Simulink, Simscape y System Composer. Simulation Data Inspector permite analizar efectos de fallos. Puede realizar análisis de sensibilidad a fallos utilizando el panel de simulaciones múltiples. Puede realizar análisis de seguridad, tales como el análisis de modo y efecto de fallos (FMEA), mientras efectúa la simulación. Simulink Fault Analyzer permite crear conexiones formales entre fallos, riesgos, lógica de detección y reducción de fallos, y otros artefactos (con Requirements Toolbox).


Conformidad con estándares de certificación

Automatice la verificación de modelos y del código de acuerdo con estándares tales como DO-178, ISO 26262, IEC 61508, IEC 62304 y las directrices de estilo impartidas por MAB (MathWorks Advisory Board). Simulink Check ofrece comprobaciones y métricas reconocidas por la industria que identifican infracciones de estándares y pautas durante el desarrollo. Puede crear comprobaciones personalizadas para cumplir sus propios estándares o directrices. IEC Certification Kit (for ISO 26262 and IEC 61508) y DO Qualification Kit (for DO-178 and DO-254) ofrecen artefactos de calificación de herramientas, certificados y conjuntos de pruebas como ayuda para cualificar productos de generación y verificación de código y agilizar la certificación de sistemas integrados.


Demostración de la ausencia de errores y verificación formal de requisitos

El proceso de verificación formal encuentra errores de diseño ocultos que generan desbordamiento de enteros, lógica fallida, infracciones de acceso a arrays y división por cero sin simular el diseño. Simulink Design Verifier puede verificar formalmente que un diseño no presenta errores ni vulnerabilidades de seguridad. Simulink Design Verifier también puede demostrar que un diseño cumple con los requisitos clave. Si la herramienta encuentra una excepción, genera un contraejemplo para la depuración.


Generación automática de pruebas

Es importante identificar las deficiencias en las pruebas, la funcionalidad no intencionada o los errores de requisitos. Simulink Coverage calcula qué porcentaje del modelo o código generado se examina durante las pruebas. Aplica métricas estándar de la industria tales como condición, decisión, cobertura de condición/decisión modificada (MCDC) y objetivos de cobertura personalizados. Simulink Design Verifier puede generar casos de prueba automáticamente para abordar la cobertura incompleta a fin de alcanzar los objetivos de cobertura estructurales y funcionales.


Análisis estático de código

Para verificar código generado y desarrollado manualmente, los productos de Polyspace utilizan métodos formales para identificar bugs y demostrar la ausencia de errores críticos en tiempo de ejecución, sin necesidad de ejecutar código o casos de prueba. Polyspace Bug Finder comprueba y documenta la conformidad con estándares tales como MISRA, ISO 26262, IEC 61508, DO-178 y normativas de la FDA. Puede comprobar las vulnerabilidades de seguridad del software y los estándares tales como CWE, CERT-C, ISO/IEC 17961 y otros. Polyspace Code Prover realiza análisis estático para demostrar la ausencia de errores de desbordamiento, división por cero, acceso a arrays fuera de límites y otros errores en tiempo de ejecución en código fuente C y C++.